diff options
author | Peter Stephenson <pws@users.sourceforge.net> | 2004-10-01 10:29:08 +0000 |
---|---|---|
committer | Peter Stephenson <pws@users.sourceforge.net> | 2004-10-01 10:29:08 +0000 |
commit | 1bf6bbe0b50dfa70a12c4bcaf7caa6927eb1c792 (patch) | |
tree | 8eec008a3812cdca141a83407ec28ba9f2332f72 /Completion | |
parent | 0fa7015cc8ae9774c1e449688e29dee0b6aee438 (diff) | |
download | zsh-1bf6bbe0b50dfa70a12c4bcaf7caa6927eb1c792.tar.gz zsh-1bf6bbe0b50dfa70a12c4bcaf7caa6927eb1c792.tar.xz zsh-1bf6bbe0b50dfa70a12c4bcaf7caa6927eb1c792.zip |
20427: Fix problem with _oldlist and custom completer.
20339: show-completer style
Diffstat (limited to 'Completion')
-rw-r--r-- | Completion/Base/Core/_main_complete | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/Completion/Base/Core/_main_complete b/Completion/Base/Core/_main_complete index 5712a9284..b6f676d43 100644 --- a/Completion/Base/Core/_main_complete +++ b/Completion/Base/Core/_main_complete @@ -135,7 +135,10 @@ for tmp in "$_completers[@]"; do else _completer="${tmp[2,-1]//_/-}" fi + curcontext="${curcontext/:[^:]#:/:${_completer}:}" + zstyle -t ":completion:${curcontext}:" show-completer && + zle -R "Trying completion for :completion:${curcontext}" zstyle -a ":completion:${curcontext}:" matcher-list _matchers || _matchers=( '' ) @@ -167,7 +170,14 @@ for tmp in "$_completers[@]"; do done curcontext="${curcontext/:[^:]#:/::}" -nm=$compstate[nmatches] +if [[ $compstate[old_list] = keep ]]; then + # We are keeping the old list of matches, so keep the + # number of matches we found last time rather than the + # number just generated. + nm=$_lastcomp[nmatches] +else + nm=$compstate[nmatches] +fi if [[ $compstate[old_list] = keep || nm -gt 1 ]]; then [[ _last_nmatches -ge 0 && _last_nmatches -ne nm ]] && |