diff options
author | Oliver Kiddle <opk@users.sourceforge.net> | 2002-04-04 12:05:17 +0000 |
---|---|---|
committer | Oliver Kiddle <opk@users.sourceforge.net> | 2002-04-04 12:05:17 +0000 |
commit | c4b8482b9468af8169dd33271c954a84de6f4cad (patch) | |
tree | a6aefe8914db19647a2918f7e586b7c900992901 /Completion/Base/Completer | |
parent | 8ce654afb58e1b5fb619144e2eb12142d448976b (diff) | |
download | zsh-c4b8482b9468af8169dd33271c954a84de6f4cad.tar.gz zsh-c4b8482b9468af8169dd33271c954a84de6f4cad.tar.xz zsh-c4b8482b9468af8169dd33271c954a84de6f4cad.zip |
add original string as match (like in _approximate)
Diffstat (limited to 'Completion/Base/Completer')
-rw-r--r-- | Completion/Base/Completer/_match | 17 |
1 files changed, 14 insertions, 3 deletions
diff --git a/Completion/Base/Completer/_match b/Completion/Base/Completer/_match index ce2b8affe..a6aaa3f0c 100644 --- a/Completion/Base/Completer/_match +++ b/Completion/Base/Completer/_match @@ -22,6 +22,8 @@ tmp="${${:-$PREFIX$SUFFIX}#[~=]}" _old_match_string="$PREFIX$SUFFIX$HISTNO" +_tags matches original + zstyle -s ":completion:${curcontext}:" match-original orig zstyle -s ":completion:${curcontext}:" insert-unambiguous ins @@ -61,10 +63,19 @@ if (( ! ret )); then # ins=yes compstate[insert]="$ocsi" compstate[pattern_insert]="$ocspi" fi - [[ "$ins" = (true|yes|on|1) && - $#compstate[unambiguous] -ge ${#:-${PREFIX}${SUFFIX}} ]] && - compstate[pattern_insert]=unambiguous + if [[ "$ins" = (true|yes|on|1) && + $#compstate[unambiguous] -ge ${#:-${PREFIX}${SUFFIX}} ]] + then + compstate[pattern_insert]=unambiguous + elif _requested original && + { [[ compstate[nmatches] -gt 1 ]] || + zstyle -t ":completion:${curcontext}:" original }; then + local expl + + _description -V original expl original + compadd "$expl[@]" -U -Q - "$PREFIX$SUFFIX" + fi fi return ret |