mirror of
git://git.code.sf.net/p/zsh/code
synced 2025-09-02 10:01:11 +02:00
25491: patch to improve "git checkout" completion, from Mikael Magnusson.
This commit is contained in:
parent
0d07bf44e7
commit
d5a328eafc
2 changed files with 27 additions and 17 deletions
|
@ -1,3 +1,8 @@
|
|||
2008-08-21 Clint Adams <clint@zsh.org>
|
||||
|
||||
* 25491: Completion/Unix/Command/_git: patch to improve
|
||||
"git checkout" completion, from Mikael Magnusson.
|
||||
|
||||
2008-08-19 Clint Adams <clint@zsh.org>
|
||||
|
||||
* 25490: Src/zsh.h, Src/Modules/db_gdbm.c: make zties dynamic so
|
||||
|
|
|
@ -1543,10 +1543,12 @@ _git-checkout () {
|
|||
new_branch_reflog_arg='-l[create the new branch'\''s reflog]'
|
||||
fi
|
||||
|
||||
# TODO: This isn’t quite correct in regards of the handling of the “--”
|
||||
# option, as it should prevent us from seeing a branch, not stop matching
|
||||
# options.
|
||||
_arguments -C -S -A "-*" \
|
||||
if (( words[(I)--] > 0 && words[(I)--] < CURRENT )); then
|
||||
_arguments -C -S \
|
||||
- update-files \
|
||||
'*::file:->files' && ret=0
|
||||
else
|
||||
_arguments -C -S \
|
||||
- switch-branch \
|
||||
'-q[suppress feedback messages]' \
|
||||
'-f[force a complete re-read]' \
|
||||
|
@ -1559,8 +1561,11 @@ _git-checkout () {
|
|||
'::branch:__git_revisions' \
|
||||
- update-files \
|
||||
'::tree-ish:__git_tree_ishs' \
|
||||
'::file:->files' && ret=0
|
||||
'*::file:->files' && ret=0
|
||||
fi
|
||||
|
||||
#XXX TODO and all that: $line[1] only works if you didn't write any options.
|
||||
#What's the variable that holds the tree-ish argument? Is it even reliably possible?
|
||||
case $state in
|
||||
(files)
|
||||
if [[ -n $line[1] ]]; then
|
||||
|
|
Loading…
Reference in a new issue