mirror of
git://git.code.sf.net/p/zsh/code
synced 2024-11-19 13:33:52 +01:00
36 lines
813 B
Plaintext
36 lines
813 B
Plaintext
#compdef -vared-
|
|
|
|
local also
|
|
|
|
# Completion inside vared.
|
|
|
|
if [[ $compstate[vared] = *\[* ]]; then
|
|
if [[ $compstate[vared] = *\]* ]]; then
|
|
# vared on an array-element
|
|
compstate[parameter]=${${compstate[vared]%%\]*}//\[/-}
|
|
compstate[context]=value
|
|
also=-value-
|
|
else
|
|
# vared on an array-value
|
|
compstate[parameter]=${compstate[vared]%%\[*}
|
|
compstate[context]=value
|
|
also=-value-
|
|
fi
|
|
else
|
|
# vared on a parameter, let's see if it is an array
|
|
compstate[parameter]=$compstate[vared]
|
|
if [[ ${(tP)compstate[vared]} = *(array|assoc)* ]]; then
|
|
compstate[context]=array_value
|
|
also=-array-value-
|
|
else
|
|
compstate[context]=value
|
|
also=-value-
|
|
fi
|
|
fi
|
|
|
|
# Don't insert TAB in first column. Never.
|
|
|
|
compstate[insert]="${compstate[insert]//tab /}"
|
|
|
|
_dispatch "$also" "$also"
|