1
0
mirror of git://git.code.sf.net/p/zsh/code synced 2024-10-02 08:51:18 +02:00
zsh/Completion/Base/_in_vared

36 lines
805 B
Plaintext
Executable File

#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 /}"
_compalso "$also"