summaryrefslogtreecommitdiffstats
path: root/Completion/Base/_vars
diff options
context:
space:
mode:
authorTanaka Akira <akr@users.sourceforge.net>1999-06-18 10:55:45 +0000
committerTanaka Akira <akr@users.sourceforge.net>1999-06-18 10:55:45 +0000
commita2159285e80508bb682d90a71270fbddada8bd05 (patch)
treec491bf7a28d7f8fac7ab05cc860c01dea95c19b1 /Completion/Base/_vars
parentzsh-3.1.5-pws-21 (diff)
downloadzsh-a2159285e80508bb682d90a71270fbddada8bd05.tar
zsh-a2159285e80508bb682d90a71270fbddada8bd05.tar.gz
zsh-a2159285e80508bb682d90a71270fbddada8bd05.tar.bz2
zsh-a2159285e80508bb682d90a71270fbddada8bd05.tar.lz
zsh-a2159285e80508bb682d90a71270fbddada8bd05.tar.xz
zsh-a2159285e80508bb682d90a71270fbddada8bd05.tar.zst
zsh-a2159285e80508bb682d90a71270fbddada8bd05.zip
zsh-3.1.5-pws-22zsh-3.1.5-pws-22
Diffstat (limited to 'Completion/Base/_vars')
-rw-r--r--Completion/Base/_vars19
1 files changed, 18 insertions, 1 deletions
diff --git a/Completion/Base/_vars b/Completion/Base/_vars
index f06562694..a40df7699 100644
--- a/Completion/Base/_vars
+++ b/Completion/Base/_vars
@@ -1,3 +1,20 @@
#compdef getopts read unset vared
-compgen -v
+# This will handle completion of keys of associative arrays, e.g. at
+# `vared compconfig[<TAB>'. However, in this version the [ must be
+# added by hand.
+
+if [[ $PREFIX = *\[* ]]; then
+ local var=${PREFIX%%\[*}
+ local elt="${PREFIX#*\]}${SUFFIX%\]}"
+ local addclose
+ compset -p $(( ${#var} + 1 ))
+ if ! compset -S \]; then
+ addclose=(-S ']')
+ fi
+ if [[ ${(tP)var} = assoc* ]]; then
+ compadd $addclose - ${(kP)var}
+ fi
+else
+ compgen -v
+fi