blob: 5a06488a5f108fbb47782be8e5132fb44af89ea4 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
#compdef getopts read unset vared
# 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.
local expl
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
_description expl 'association key'
compadd "$expl[@]" $addclose - ${(kP)var}
fi
else
_description expl parameter
compgen "$expl[@]" -v
fi
|