summaryrefslogtreecommitdiffstats
path: root/Completion/Core/_main_complete
diff options
context:
space:
mode:
authorAndrey Borzenkov <bor@users.sourceforge.net>2001-03-06 07:47:26 +0000
committerAndrey Borzenkov <bor@users.sourceforge.net>2001-03-06 07:47:26 +0000
commiteeebe3e4ec8365c038aa6186036f303a3caebe2b (patch)
tree4acebbb3327620137718c534616dcea6fc43802a /Completion/Core/_main_complete
parentnew _expand_aliases to, well, expand aliases (13566) (diff)
downloadzsh-eeebe3e4ec8365c038aa6186036f303a3caebe2b.tar
zsh-eeebe3e4ec8365c038aa6186036f303a3caebe2b.tar.gz
zsh-eeebe3e4ec8365c038aa6186036f303a3caebe2b.tar.bz2
zsh-eeebe3e4ec8365c038aa6186036f303a3caebe2b.tar.lz
zsh-eeebe3e4ec8365c038aa6186036f303a3caebe2b.tar.xz
zsh-eeebe3e4ec8365c038aa6186036f303a3caebe2b.tar.zst
zsh-eeebe3e4ec8365c038aa6186036f303a3caebe2b.zip
13544, 13568 (Peter): + syntax for matchers in matcher-list to augment
previous list
Diffstat (limited to 'Completion/Core/_main_complete')
-rw-r--r--Completion/Core/_main_complete13
1 files changed, 10 insertions, 3 deletions
diff --git a/Completion/Core/_main_complete b/Completion/Core/_main_complete
index f86593cb7..69ee24ae2 100644
--- a/Completion/Core/_main_complete
+++ b/Completion/Core/_main_complete
@@ -25,8 +25,8 @@ setopt localtraps noerrexit ; trap - ZERR
local func funcs ret=1 tmp _compskip format nm call match min max i num\
_completers _completer _completer_num curtag _comp_force_list \
- _matchers _matcher _matcher_num _comp_tags _comp_mesg mesg str \
- context state line opt_args val_args curcontext="$curcontext" \
+ _matchers _matcher _c_matcher _matcher_num _comp_tags _comp_mesg \
+ mesg str context state line opt_args val_args curcontext="$curcontext" \
_last_nmatches=-1 _last_menu_style _def_menu_style _menu_style sel \
_saved_exact="${compstate[exact]}" \
_saved_lastprompt="${compstate[last_prompt]}" \
@@ -143,7 +143,14 @@ for tmp in "$_completers[@]"; do
_matchers=( '' )
_matcher_num=1
- for _matcher in "$_matchers[@]"; do
+ _matcher=''
+ for _c_matcher in "$_matchers[@]"; do
+ if [[ "$_c_matcher" == +* ]]; then
+ _matcher="$_matcher $_c_matcher[2,-1]"
+ else
+ _matcher="$_c_matcher"
+ fi
+
_comp_mesg=
if [[ -n "$call" ]]; then
if "${(@)argv[3,-1]}"; then