diff options
author | Sven Wischnowsky <wischnow@users.sourceforge.net> | 2000-08-01 07:18:43 +0000 |
---|---|---|
committer | Sven Wischnowsky <wischnow@users.sourceforge.net> | 2000-08-01 07:18:43 +0000 |
commit | 3896f72f4d4364af53a2ec3be727cf288e917949 (patch) | |
tree | 23501f775f35a51888bba8beee2c09a4f6c4b3f6 /Completion/Base/_arguments | |
parent | 4f9ff8206ba046343c77bb7698c2e66cc5b4edf2 (diff) | |
download | zsh-3896f72f4d4364af53a2ec3be727cf288e917949.tar.gz zsh-3896f72f4d4364af53a2ec3be727cf288e917949.tar.xz zsh-3896f72f4d4364af53a2ec3be727cf288e917949.zip |
make $compcontext more powerful and easier to use for simple cases (12449)
Diffstat (limited to 'Completion/Base/_arguments')
-rw-r--r-- | Completion/Base/_arguments | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/Completion/Base/_arguments b/Completion/Base/_arguments index 4f33048e0..6d09871df 100644 --- a/Completion/Base/_arguments +++ b/Completion/Base/_arguments @@ -270,8 +270,9 @@ if (( $# )) && comparguments -i "$autod" "$@"; then # Anything inside `(...)' is added directly. - _all_labels "$subc" expl "$descr" \ - compadd "$subopts[@]" - ${=action[2,-2]} + eval ws\=\( "${action[2,-2]}" \) + + _all_labels "$subc" expl "$descr" compadd "$subopts[@]" -a - ws tried=yes elif [[ "$action" = \{*\} ]]; then @@ -294,7 +295,7 @@ if (( $# )) && comparguments -i "$autod" "$@"; then # Otherwise we call it with the description-arguments. - set -A action ${=~action} + eval "action=( $action )" while _next_label "$subc" expl "$descr"; do "$action[1]" "$subopts[@]" "$expl[@]" "${(@)action[2,-1]}" done |