diff options
author | Sven Wischnowsky <wischnow@users.sourceforge.net> | 2001-04-02 11:23:29 +0000 |
---|---|---|
committer | Sven Wischnowsky <wischnow@users.sourceforge.net> | 2001-04-02 11:23:29 +0000 |
commit | a0ad55d34f94402f08582e303d043bf5400198b7 (patch) | |
tree | 60de53f98a9214d427c145fcf373fc08cd2b99a8 | |
parent | 1bb11adee91f6d2fadb3120e1a3cd98440e535db (diff) | |
download | zsh-a0ad55d34f94402f08582e303d043bf5400198b7.tar.gz zsh-a0ad55d34f94402f08582e303d043bf5400198b7.tar.xz zsh-a0ad55d34f94402f08582e303d043bf5400198b7.zip |
moved from Completion/Base/_in_vared
-rw-r--r-- | Completion/Zsh/Context/_in_vared | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/Completion/Zsh/Context/_in_vared b/Completion/Zsh/Context/_in_vared new file mode 100644 index 000000000..abd24dd95 --- /dev/null +++ b/Completion/Zsh/Context/_in_vared @@ -0,0 +1,35 @@ +#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 /}" + +_contexts "$also" |