complete: zsh: add missing sub cmd completion candidates
PATCH 1/1 complete: zsh: add missing sub cmd completion candidates
From: Terry Moschou <[email protected]>
Add missing 'restore' and 'switch' sub commands to zsh completion candidate output. E.g.
$ git re<tab> rebase -- forward-port local commits to the updated upstream head reset -- reset current HEAD to the specified state restore -- restore working tree files
$ git s<tab> show -- show various types of objects status -- show the working tree status switch -- switch branches
---
complete: zsh: add missing sub cmd completion candidates
Add missing 'restore' and 'switch' sub commands to zsh completion candidate output. E.g.
$ git re<tab>
rebase -- forward-port local commits to the updated upstream head
reset -- reset current HEAD to the specified state
restore -- restore working tree files
$ git s<tab>
show -- show various types of objects
status -- show the working tree status
switch -- switch branches
Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-613%2Ftmoschou%2Fupdate-zsh-completion-script-v1
Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-613/tmoschou/update-zsh-completion-script-v1
Pull-Request: https://github.com/gitgitgadget/git/pull/613
contrib/completion/git-completion.zsh | 2 ++ 1 file changed, 2 insertions(+)
contrib/completion/git-completion.zsh +2 -0
@@ -150,9 +150,11 @@ __git_zsh_cmd_common () push:'update remote refs along with associated objects' rebase:'forward-port local commits to the updated upstream head' reset:'reset current HEAD to the specified state' + restore:'restore working tree files' rm:'remove files from the working tree and from the index' show:'show various types of objects' status:'show the working tree status' + switch:'switch branches' tag:'create, list, delete or verify a tag object signed with GPG') _describe -t common-commands 'common commands' list && _ret=0 }
base-commit: de49261b050d9cd8ec73842356077bc5b606640f
Signature · 1 line
gitgitgadget
Quoted 6 lines · Terry via GitGitGadget
contrib/completion/git-completion.zsh +0
-0@@ -150,9 +150,11 @@ __git_zsh_cmd_common () push:'update remote refs along with associated objects'
contrib/completion/git-completion.zsh __git_zsh_cmd_common () · line 160
Quoted 10 lines
contrib/completion/git-completion.zsh +2
-0rebase:'forward-port local commits to the updated upstream head' reset:'reset current HEAD to the specified state' + restore:'restore working tree files' rm:'remove files from the working tree and from the index' show:'show various types of objects' status:'show the working tree status' + switch:'switch branches' tag:'create, list, delete or verify a tag object signed with GPG') _describe -t common-commands 'common commands' list && _ret=0 }
This is not a new issue, but it makes me wonder if we can initialize this list just once by running "git help" and picking up pieces from it. That way, we won't have to maintain this hardcoded list at all, no?
And if it is cumbersome to parse "git help" output, I do not think it is a worse solution than having to maintain the above list manually to add a new "--list-common-commands-for-zsh-completion" option to "git help" to produce something more easily parseable.
In any case, the patch is probably an improvement to make the list closer to what "git help" considers "common commands", but in the longer term, it may not be making it any better for maintainability.
Thanks.
Quoted 4 lines · Junio C Hamano
This is not a new issue, but it makes me wonder if we can initialize this list just once by running "git help" and picking up pieces from it. That way, we won't have to maintain this hardcoded list at all, no?
Yes, that would be nice, but what if the user has an older version of git without --list-cmds? No solution has been proposed for those cases in the bash script.
Most users of the zsh script are decoupled from the corresponding git version, and since you refused to graduate the scripts out of contrib, that gives distro maintainers the excuse not to automatically package the zsh script.
So no, given the current situation, I would rather keep updating them manually.
Signature · 1 line
Felipe Contreras