diff options
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | Completion/Unix/Command/_hg | 25 |
2 files changed, 22 insertions, 8 deletions
diff --git a/ChangeLog b/ChangeLog index 66f3866cd..8b80a7e6f 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2015-02-01 Daniel Shahaf <d.s@daniel.shahaf.name> + + * 34411: Completion/Unix/Command/_hg: _hg completion: Complete + bookmark names for -r + 2015-01-30 Peter Stephenson <p.w.stephenson@ntlworld.com> * 34439: Src/Modules/db_gdbm.c: unset parameter that's about to diff --git a/Completion/Unix/Command/_hg b/Completion/Unix/Command/_hg index c18500bcb..e7c21b9d1 100644 --- a/Completion/Unix/Command/_hg +++ b/Completion/Unix/Command/_hg @@ -162,15 +162,24 @@ _hg_revrange() { _hg_tags "$@" } -_hg_tags() { - typeset -a tags - local tag rev +_hg_tags_internal() { + local expl + typeset -a hgtags + hgtags=( ${(f)"$(_hg_cmd tags -q 2>/dev/null)"} ) + _wanted tags expl 'tags' compadd -a - hgtags +} - _hg_cmd tags 2> /dev/null | while read tag - do - tags+=(${tag/ # [0-9]#:*}) - done - (( $#tags )) && _describe -t tags 'tags' tags +_hg_bookmarks_internal() { + local expl + typeset -a hgbookmarks + hgbookmarks=( ${(f)"$(_hg_cmd bookmarks -q 2>/dev/null)"} ) + _wanted bookmarks expl 'bookmarks' compadd -a - hgbookmarks +} + +_hg_tags() { + _alternative \ + 'bookmarks:bookmark:_hg_bookmarks_internal' \ + 'tags:tag:_hg_tags_internal' } # likely merge candidates |