1
0
mirror of git://git.code.sf.net/p/zsh/code synced 2024-11-19 13:33:52 +01:00
zsh/Completion/Zsh/Context/_in_vared

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"