#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"
Copyright 2K16 - 2K18 Indonesian Hacker Rulez