1
0
Fork 0
mirror of git://git.code.sf.net/p/zsh/code synced 2025-09-02 10:01:11 +02:00

users/18368: compromise to restore partial path completion inadvertently removed by 31159

This commit is contained in:
Barton E. Schaefer 2014-01-27 21:54:13 -08:00
parent a0c9da72f2
commit a2098b0b26
2 changed files with 16 additions and 1 deletions

View file

@ -1,3 +1,10 @@
2014-01-27 Barton E. Schaefer <schaefer@zsh.org>
* users/18368: Completion/Unix/Command/_git: in __git_files,
retry ls-files if nothing matched the prefix pattern, to give
_multi_parts a shot at the whole file list. Restores partial
path completion inadvertently removed by 31159.
2014-01-27 Peter Stephenson <p.stephenson@samsung.com>
* unposted: Src/zsh.mdd: update 31983 to suppress stdout from
@ -5,7 +12,7 @@
2014-01-23 Bart Schaefer <schaefer@zsh.org>
* unposted: Doc/Zsh/arith.yo: use LPAR() instead of parens
* unposted: Doc/Zsh/arith.yo: use LPAR()+RPAR() instead of parens
in sqrt example
2014-01-23 Peter Stephenson <p.stephenson@samsung.com>

View file

@ -5683,9 +5683,17 @@ __git_files () {
# TODO: --directory should probably be added to $opts when --others is given.
local pref=$gitcdup$gitprefix$PREFIX
# First allow ls-files to pattern-match in case of remote repository
files=(${(0)"$(_call_program files git ls-files -z --exclude-standard $opts -- ${pref:+$pref\\\*} 2>/dev/null)"})
__git_command_successful $pipestatus || return
# If ls-files succeeded but returned nothing, try again with no pattern
if [[ -z "$files" && -n "$pref" ]]; then
files=(${(0)"$(_call_program files git ls-files -z --exclude-standard $opts -- 2>/dev/null)"})
__git_command_successful $pipestatus || return
fi
# _wanted $tag expl $description _files -g '{'${(j:,:)files}'}' $compadd_opts -
_wanted $tag expl $description _multi_parts -f $compadd_opts - / files
}