diff options
author | Tanaka Akira <akr@users.sourceforge.net> | 2000-02-25 14:41:48 +0000 |
---|---|---|
committer | Tanaka Akira <akr@users.sourceforge.net> | 2000-02-25 14:41:48 +0000 |
commit | ed8b5c01b0622a95134155b85832b49bda241986 (patch) | |
tree | ad166f5d2aefa10f0a7d96087370a05762012c14 /Completion/Base/_combination | |
parent | 39b2b5eb2a3a1889e78eb2b3f101f2c529c5bf03 (diff) | |
download | zsh-ed8b5c01b0622a95134155b85832b49bda241986.tar.gz zsh-ed8b5c01b0622a95134155b85832b49bda241986.tar.xz zsh-ed8b5c01b0622a95134155b85832b49bda241986.zip |
zsh-workers/9876
Diffstat (limited to 'Completion/Base/_combination')
-rw-r--r-- | Completion/Base/_combination | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/Completion/Base/_combination b/Completion/Base/_combination index 875d3c2cb..6b9607a27 100644 --- a/Completion/Base/_combination +++ b/Completion/Base/_combination @@ -55,6 +55,9 @@ local sep tag style keys pats key num tmp if [[ "$1" = -s ]]; then sep="$2" shift 2 +elif [[ "$1" = -s* ]]; then + sep="${1[3,-1]}" + shift else sep=: fi @@ -81,9 +84,9 @@ shift if zstyle -a ":completion:${curcontext}:$tag" "$style" tmp; then eval "tmp=( \"\${(@M)tmp:#\${(j($sep))~pats}}\" )" if (( keys[(in:num:)$key] != 1 )); then - eval "tmp=( \${tmp#\${(j(${sep}))~\${(@)\${(@)keys[2,(rn:num:)\$key]}/*/*}}$sep} )" + eval "tmp=( \${tmp#\${(j(${sep}))~\${(@)\${(@)keys[2,(rn:num:)\$key]}/*/*}}${~sep}} )" fi - tmp=( ${tmp%%$sep*} ) + tmp=( ${tmp%%${~sep}*} ) compadd "$@" - $tmp || { (( $+functions[_$key] )) && "_$key" "$@" } else |