summaryrefslogtreecommitdiff
path: root/Completion/Unix
diff options
context:
space:
mode:
authorChristoph Mathys <eraserix@gmail.com>2015-09-24 16:12:27 +0000
committerDaniel Shahaf <d.s@daniel.shahaf.name>2015-09-24 16:12:57 +0000
commit1aafc028b392ae85f6670a1c0b8cf00da975e304 (patch)
tree948ddca59222841a6bcdd796768bc51caa22fdc0 /Completion/Unix
parent8d5c0c77609d814de7c0749602a595236f76b487 (diff)
downloadzsh-1aafc028b392ae85f6670a1c0b8cf00da975e304.tar.gz
zsh-1aafc028b392ae85f6670a1c0b8cf00da975e304.zip
36613: _hg: extend completion for hg push to support branch and bookmark
Diffstat (limited to 'Completion/Unix')
-rw-r--r--Completion/Unix/Command/_hg11
1 files changed, 11 insertions, 0 deletions
diff --git a/Completion/Unix/Command/_hg b/Completion/Unix/Command/_hg
index e7c21b9d1..2db5c55a5 100644
--- a/Completion/Unix/Command/_hg
+++ b/Completion/Unix/Command/_hg
@@ -176,6 +176,13 @@ _hg_bookmarks_internal() {
_wanted bookmarks expl 'bookmarks' compadd -a - hgbookmarks
}
+_hg_branches_internal() {
+ local expl
+ typeset -a hgbranches
+ hgbranches=( ${(f)"$(_hg_cmd branches -q 2>/dev/null)"} )
+ _wanted branches expl 'branches' compadd -a - hgbranches
+}
+
_hg_tags() {
_alternative \
'bookmarks:bookmark:_hg_bookmarks_internal' \
@@ -659,6 +666,10 @@ _hg_cmd_push() {
_arguments -s -w : $_hg_global_opts $_hg_remote_opts \
'(--force -f)'{-f,--force}'[force push]' \
'(--rev -r)'{-r+,--rev}'[a specific revision you would like to push]:revision:_hg_tags' \
+ '*'{-B,--bookmark=}'[bookmark to push]:bookmark:_hg_bookmarks_internal' \
+ '*'{-b,--branch=}'[branch to push]:branch:_hg_branches_internal' \
+ '--insecure[do not verify server certificate]' \
+ '--new-branch[allow pushing a new branch]' \
':destination:_hg_remote'
}