diff options
-rw-r--r-- | ChangeLog | 3 | ||||
-rw-r--r-- | Completion/Unix/Command/_git | 5 |
2 files changed, 8 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog index 970d3e423..bb3c16e1c 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,8 @@ 2016-07-31 Daniel Shahaf <d.s@daniel.shahaf.name> + * 38962: Completion/Unix/Command/_git: _git-config: Document + more line noise. + * 38959: Doc/Zsh/compsys.yo: Document 38956 (_widgets). 2016-07-29 Daniel Shahaf <d.s@daniel.shahaf.name> diff --git a/Completion/Unix/Command/_git b/Completion/Unix/Command/_git index 71ced8413..1952cb651 100644 --- a/Completion/Unix/Command/_git +++ b/Completion/Unix/Command/_git @@ -2701,11 +2701,16 @@ _git-config () { ;; esac local z=$'\0' + + # Set $parts to the $git_options_static element that corresponds to $line[1] + # (the option name whose value is currently being completed). The elements + # of $parts are the colon-separated elements of the $git_options_static element. declare -a parts parts=("${(S@0)${git_options_static[(r)(#i)${line[1]}:*]}//(#b)(*[^\\]|):/$match[1]$z}") if (( $#parts < 2 )) && [[ $line[1] == [^.]##.*.[^.]## ]]; then parts=("${(S@0)${git_options_static[(r)(#i)${line[1]%%.*}.\*.${line[1]##*.}:*]}//(#b)(*[^\\]|):/$match[1]$z}") fi + (( $#parts >= 4 )) || return ret case $parts[4] in ('->'*) |