mirror of
git://git.code.sf.net/p/zsh/code
synced 2024-06-01 04:46:08 +02:00
33151: completion git: support aliases when \n exist
The git completion for aliases (i.e. completing with aliased verb) was broken whem some \n exist in aliases.
This commit is contained in:
parent
6ec8cfdeaa
commit
ffd439b69b
|
@ -2,6 +2,9 @@
|
|||
|
||||
* 33149: Misc/vcs_info-examples: vcs_info examples: fix typo
|
||||
|
||||
* 33151: Completion/Unix/Command/_git: completion git: support
|
||||
aliases when \n exist
|
||||
|
||||
2014-09-12 Barton E. Schaefer <schaefer@zsh.org>
|
||||
|
||||
* 33143: Src/init.c: POSIX_ARGZERO more closely matches bash et al.
|
||||
|
|
|
@ -6560,9 +6560,13 @@ _git() {
|
|||
if (( CURRENT > 2 )); then
|
||||
local -a aliases
|
||||
local -A git_aliases
|
||||
# TODO: Should use -z here, but I couldn't get it to work.
|
||||
aliases=(${(f)${${${(f)"$(_call_program aliases git config --get-regexp '\^alias\.')"}#alias.}/ /$'\n'}/(#e)/$'\n'})
|
||||
(( $#aliases % 2 == 0 )) && git_aliases=($aliases)
|
||||
local k v
|
||||
aliases=(${(0)"$(_call_program aliases git config -z --get-regexp '\^alias\.')"})
|
||||
for a in ${aliases}; do
|
||||
k="${${a/$'\n'*}/alias.}"
|
||||
v="${a#*$'\n'}"
|
||||
git_aliases[$k]="$v"
|
||||
done
|
||||
|
||||
if (( $+git_aliases[$words[2]] && !$+commands[git-$words[2]] && !$+functions[_git-$words[2]] )); then
|
||||
local -a tmpwords expalias
|
||||
|
|
Loading…
Reference in New Issue