summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog3
-rw-r--r--Completion/Unix/Command/_git5
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
('->'*)