summaryrefslogtreecommitdiff
path: root/Completion/Unix/Command
diff options
context:
space:
mode:
authorAndrey Borzenkov <bor@users.sourceforge.net>2010-02-16 15:59:21 +0000
committerAndrey Borzenkov <bor@users.sourceforge.net>2010-02-16 15:59:21 +0000
commit0ec69e36e5c4878abe64dacfe36c9b42e0d1c4fc (patch)
tree207ac020fa26be32e70b2c0933f8b4138e0a2165 /Completion/Unix/Command
parent0951a9ad8da909d96e07874e7554db2f4b36f554 (diff)
downloadzsh-0ec69e36e5c4878abe64dacfe36c9b42e0d1c4fc.tar.gz
zsh-0ec69e36e5c4878abe64dacfe36c9b42e0d1c4fc.zip
27715: fixes for current StGIT version
Diffstat (limited to 'Completion/Unix/Command')
-rw-r--r--Completion/Unix/Command/_stgit59
1 files changed, 9 insertions, 50 deletions
diff --git a/Completion/Unix/Command/_stgit b/Completion/Unix/Command/_stgit
index c8a3c8c80..129b21a92 100644
--- a/Completion/Unix/Command/_stgit
+++ b/Completion/Unix/Command/_stgit
@@ -2,53 +2,7 @@
typeset -a subcmds
-subcmds=(
- 'help:print the detailed command usage'
- 'version:display version information'
- 'copyright:display copyright information'
- 'clone:make a local clone of a remote repository'
- 'id:print the GIT hash value of a StGIT reference'
- 'applied:print the applied patches'
- 'branch:manage patch stacks'
- 'clean:delete the empty patches in the series'
- 'commit:permanently store the applied patches into stack base'
- 'float:push patches to the top, even if applied'
- 'goto:push or pop patches to the given one'
- 'hide:hide a patch in the series'
- 'init:initialise the current branch for use with StGIT'
- 'patches:show the applied patches modifying a file'
- 'pop:pop one or more patches from the stack'
- 'pull:pull the changes from the remote repository'
- 'push:push one or more patches onto of the stack'
- 'rebase:move the stack base to another point in history'
- 'repair:Fix StGit metadata if branch was modified with git commands'
- 'series:print the patch series'
- 'sink:send patches deeper down the stack'
- 'top:print the name of the top patch'
- 'unapplied:print the unapplied patches'
- 'uncommit:turn regular GIT commits into StGIT patches'
- 'unhide:unhide a hidden patch in the series'
- 'delete:delete patches'
- 'edit:edit a patch description or diff'
- 'export:exports patches to a directory'
- 'files:show the files modified by a patch (or the current patch)'
- 'fold:integrate a GNU diff patch into the current patch'
- 'import:import a GNU diff file as a new patch'
- 'log:display the patch changelog'
- 'mail:send a patch or series of patches by e-mail'
- 'new:create a new patch and make it the topmost one'
- 'pick:import a patch from a different branch or a commit object'
- 'refresh:generate a new commit for the current patch'
- 'rename:rename a patch in the series'
- 'show:show the commit corresponding to a patch (or the current patch)'
- 'sync:synchronise patches with a branch or a series'
- 'add:add files or directories to the repository'
- 'cp:copy files inside the repository'
- 'diff:show the tree diff'
- 'resolved:mark a file conflict as solved'
- 'rm:remove files from the repository'
- 'status:show the tree status'
-)
+subcmds=( ${${${(M)${(f)"$(stg help 2> /dev/null)"}## *}# }/#(#b)([^[:space:]]##)[[:space:]]##(*)/$match[1]:$match[2]} )
local curcontext="$curcontext"
local subcmd
@@ -64,14 +18,19 @@ else
case $subcmd in
(push)
- _wanted -V "unapplied patches" expl "patch" compadd $(stg unapplied) \
+ _wanted -V "unapplied patches" expl "patch" \
+ compadd ${${(M)${(f)"$(stg series 2> /dev/null)"}##- *}#- } \
&& ret=0
;;
(pop)
- _wanted -V "applied patches" expl "patch" compadd $(stg applied) && ret=0
+ _wanted -V "applied patches" expl "patch" \
+ compadd ${${(M)${(f)"$(stg series 2> /dev/null)"}##[+>] *}#[+>] } \
+ && ret=0
;;
(edit|files|goto|rename|log|float|delete|sink|mail|sync|show|pick|hide)
- _wanted -V "patches" expl "patch" compadd $(stg series --noprefix) && ret=0
+ _wanted -V "patches" expl "patch" \
+ compadd $(stg series --noprefix > /dev/null) \
+ && ret=0
;;
(*)
_files