From 9597b7505ab1cf64c246b4a32e14b0602c36b1b2 Mon Sep 17 00:00:00 2001 From: Tanaka Akira Date: Thu, 14 Oct 1999 15:05:40 +0000 Subject: manual/8249 --- Completion/Core/_main_complete | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'Completion/Core/_main_complete') diff --git a/Completion/Core/_main_complete b/Completion/Core/_main_complete index 330eb9161..4496f5bda 100644 --- a/Completion/Core/_main_complete +++ b/Completion/Core/_main_complete @@ -24,6 +24,8 @@ local comp ret=1 _compskip +typeset -U _lastdescr + setopt localoptions nullglob rcexpandparam unsetopt markdirs globsubst shwordsplit nounset ksharrays @@ -56,6 +58,24 @@ for post in "$comppostfuncs[@]"; do done comppostfuncs=() +_lastdescr=( "\`${(@)^_lastdescr:#}'" ) +if [[ compstate[nmatches] -eq 0 && + -n "$compconfig[warning_format]" && $#_lastdescr -ne 0 ]]; then + local str + + compstate[list]=list + compstate[force_list]=yes + compstate[insert]='' + + case $#_lastdescr in + 1) str="$_lastdescr[1]";; + 2) str="$_lastdescr[1] or $_lastdescr[2]";; + *) str="${(j:, :)_lastdescr[1,-2]}, or $_lastdescr[-1]";; + esac + + compadd -UX "${compconfig[warning_format]//\\%d/$str}" -n '' +fi + [[ "$compconfig[last_prompt]" = always ]] && compstate[last_prompt]=yes _lastcomp=( "${(@kv)compstate}" ) -- cgit 1.4.1