mirror of
git://git.code.sf.net/p/zsh/code
synced 2025-01-22 00:21:27 +01:00
moved from Completion/Core/_all_matches
This commit is contained in:
parent
881e049f31
commit
4d58238a0a
1 changed files with 43 additions and 0 deletions
43
Completion/Base/Completer/_all_matches
Normal file
43
Completion/Base/Completer/_all_matches
Normal file
|
@ -0,0 +1,43 @@
|
|||
#autoload
|
||||
|
||||
_all_matches() {
|
||||
local old
|
||||
|
||||
zstyle -s ":completion:${curcontext}:" old-matches old
|
||||
|
||||
if [[ "$old" = (only|true|yes|1|on) ]]; then
|
||||
|
||||
if [[ -n "$compstate[old_list]" ]]; then
|
||||
compstate[insert]=all
|
||||
compstate[old_list]=keep
|
||||
return 0
|
||||
fi
|
||||
|
||||
[[ "$old" = *only* ]] && return 1
|
||||
fi
|
||||
|
||||
(( $comppostfuncs[(I)_all_matches_end] )) ||
|
||||
comppostfuncs=( "$comppostfuncs[@]" _all_matches_end )
|
||||
|
||||
_all_matches_context=":completion:${curcontext}:"
|
||||
|
||||
return 1
|
||||
}
|
||||
|
||||
_all_matches_end() {
|
||||
local not
|
||||
|
||||
zstyle -s "$_all_matches_context" avoid-completer not ||
|
||||
not=( _expand _old_list _correct _approximate )
|
||||
|
||||
if [[ "$compstate[nmatches]" -gt 1 && $not[(I)(|_)$_completer] -eq 0 ]]; then
|
||||
local expl
|
||||
|
||||
_description all-matches expl 'all matches'
|
||||
compadd "$expl[@]" -C
|
||||
fi
|
||||
|
||||
unset _all_matches_context
|
||||
}
|
||||
|
||||
_all_matches "$@"
|
Loading…
Reference in a new issue