about summary refs log tree commit diff
path: root/Completion/Unix/Command/_git
diff options
context:
space:
mode:
authorDaniel Shahaf <d.s@daniel.shahaf.name>2016-08-23 23:15:39 +0000
committerDaniel Shahaf <d.s@daniel.shahaf.name>2016-08-24 21:15:00 +0000
commit4d995160e42e875c714263d210df714160d200d4 (patch)
tree3c9cecb17b4023b1aede1d7a5eb87c3a19f8d6c0 /Completion/Unix/Command/_git
parentacad0620ef85b725d40d85b181e1aac1de0794c4 (diff)
downloadzsh-4d995160e42e875c714263d210df714160d200d4.tar.gz
zsh-4d995160e42e875c714263d210df714160d200d4.tar.xz
zsh-4d995160e42e875c714263d210df714160d200d4.zip
39094: _git-config: When an option is unknown, complete its value to the set value.
Diffstat (limited to 'Completion/Unix/Command/_git')
-rw-r--r--Completion/Unix/Command/_git8
1 files changed, 6 insertions, 2 deletions
diff --git a/Completion/Unix/Command/_git b/Completion/Unix/Command/_git
index 304d6eb59..a9c0cc8d2 100644
--- a/Completion/Unix/Command/_git
+++ b/Completion/Unix/Command/_git
@@ -2597,7 +2597,7 @@ _git-config () {
           # If $key isn't an instance of a known foo.*.bar:baz $git_options entry...
           if ! (( ${+git_options[(r)(#i)${(b)key%%.*}.[*].${(b)key##*.}:*]} )); then
             # ... then add it.
-            git_options+="${key}:unknown option name"
+            git_options+="${key}:unknown option name::->unknown"
           fi
         else
           # $key is of the form "foo.bar" where 'foo' is known
@@ -2606,7 +2606,7 @@ _git-config () {
           continue
         fi
       else
-        git_options+="${key}:unknown option name"
+        git_options+="${key}:unknown option name::->unknown"
       fi
     done
   }
@@ -3207,6 +3207,10 @@ _git-config () {
                 'values:value:(user)' \
                 'umasks: :__git_guard_number umask' && ret=0
               ;;
+            (unknown)
+              _message "$line[1] option value"
+              compadd - $current && ret=0
+              ;;
           esac
           ;;
         (*)