#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"