diff options
author | Tanaka Akira <akr@users.sourceforge.net> | 1999-08-12 21:25:12 +0000 |
---|---|---|
committer | Tanaka Akira <akr@users.sourceforge.net> | 1999-08-12 21:25:12 +0000 |
commit | d00f73c3672b2783f14e3a27b35d34c218657506 (patch) | |
tree | 55bd4876283ca101a0d99f790c0c8c7174efa44d /Completion/Core | |
parent | 98aaef0a46c8d9d1c34dd939fd8a470791aed2ee (diff) | |
download | zsh-d00f73c3672b2783f14e3a27b35d34c218657506.tar.gz zsh-d00f73c3672b2783f14e3a27b35d34c218657506.tar.xz zsh-d00f73c3672b2783f14e3a27b35d34c218657506.zip |
zsh-workers/7420
Diffstat (limited to 'Completion/Core')
-rw-r--r-- | Completion/Core/_main_complete | 4 | ||||
-rw-r--r-- | Completion/Core/_normal | 28 |
2 files changed, 21 insertions, 11 deletions
diff --git a/Completion/Core/_main_complete b/Completion/Core/_main_complete index e71267677..4ac45d2cc 100644 --- a/Completion/Core/_main_complete +++ b/Completion/Core/_main_complete @@ -42,7 +42,7 @@ # state than the global one for which you are completing. -local comp ret=1 +local comp ret=1 _compskip setopt localoptions nullglob rcexpandparam unsetopt markdirs globsubst shwordsplit nounset ksharrays @@ -80,4 +80,6 @@ _lastcomp[isuffix]="$ISUFFIX" _lastcomp[qiprefix]="$QIPREFIX" _lastcomp[qisuffix]="$QISUFFIX" +unset _compskip + return ret diff --git a/Completion/Core/_normal b/Completion/Core/_normal index 6da653021..d4e948e41 100644 --- a/Completion/Core/_normal +++ b/Completion/Core/_normal @@ -29,17 +29,19 @@ fi # See if there are any matching pattern completions. -for i in "$_patcomps[@]"; do - pat="${i% *}" - val="${i#* }" - if [[ "$cmd1" == $~pat || "$cmd2" == $~pat ]]; then - "$val" && ret=0 - if (( $+_compskip )); then - unset _compskip - return ret +if [[ "$_compskip" != *patterns* ]]; then + for i in "$_patcomps[@]"; do + pat="${i% *}" + val="${i#* }" + if [[ "$cmd1" == $~pat || "$cmd2" == $~pat ]]; then + "$val" && ret=0 + if [[ "$_compskip" = *patterns* || "$_compskip" = all ]]; then + unset _compskip + return ret + fi fi - fi -done + done +fi # Now look up the two names in the normal completion array. @@ -54,9 +56,15 @@ fi # And generate the matches, probably using default completion. if [[ -z "$comp" ]]; then + if [[ "$_compskip" = *default* ]]; then + unset _compskip + return 1 + fi name=-default- comp="$_comps[-default-]" fi [[ -z "$comp" ]] || "$comp" && ret=0 +unset _compskip + return ret |