summary refs log tree commit diff
diff options
context:
space:
mode:
authorDaniel Shahaf <d.s@daniel.shahaf.name>2016-07-29 17:00:05 +0000
committerDaniel Shahaf <d.s@daniel.shahaf.name>2016-07-31 16:21:28 +0000
commit774f654e364ad19573cefe9f9d4e4919cdaacfd1 (patch)
treeda3f7de0a8593a5994bccbb072579ec53ae9945f
parent8d71a610af2a054e555cb2b97666e18f1964fdd6 (diff)
downloadzsh-774f654e364ad19573cefe9f9d4e4919cdaacfd1.tar.gz
zsh-774f654e364ad19573cefe9f9d4e4919cdaacfd1.tar.xz
zsh-774f654e364ad19573cefe9f9d4e4919cdaacfd1.zip
38962: _git-config: Document more line noise.
-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
         ('->'*)