From 993db7cf0267b4d9c7f8faaa40af8948ba26a2e2 Mon Sep 17 00:00:00 2001 From: Tanaka Akira Date: Thu, 23 Mar 2000 23:59:08 +0000 Subject: zsh-workers/10210 --- Completion/Core/_main_complete | 17 +++++++++++++---- Completion/Core/compinit | 3 ++- 2 files changed, 15 insertions(+), 5 deletions(-) (limited to 'Completion/Core') diff --git a/Completion/Core/_main_complete b/Completion/Core/_main_complete index fedea9b51..244f06b7e 100644 --- a/Completion/Core/_main_complete +++ b/Completion/Core/_main_complete @@ -19,7 +19,7 @@ setopt localoptions nullglob rcexpandparam extendedglob unsetopt markdirs globsubst shwordsplit nounset ksharrays -local ctxt post ret=1 tmp _compskip format _comp_ignore \ +local ctxt func funcs ret=1 tmp _compskip format _comp_ignore \ _completers _completer _completer_num curtag \ _matchers _matcher _matcher_num _comp_tags \ context state line opt_args val_args curcontext="$curcontext" \ @@ -68,6 +68,14 @@ _last_menu_style=() _completers=( "$@" ) _completer_num=1 +# Call the pre-functions. + +funcs=( "$compprefuncs[@]" ) +compprefuncs=() +for func in "$funcs[@]"; do + "$func" +done + for _completer; do ctxt=":completion:${curcontext/::/:${_completer[2,-1]}-${(M)#_completers[1,_completer_num]:#$_completer}:}:" @@ -190,10 +198,11 @@ fi # Now call the post-functions. -for post in "$comppostfuncs[@]"; do - "$post" -done +funcs=( "$comppostfuncs[@]" ) comppostfuncs=() +for func in "$funcs[@]"; do + "$func" +done _lastcomp=( "${(@kv)compstate}" ) _lastcomp[completer]="$_completer" diff --git a/Completion/Core/compinit b/Completion/Core/compinit index a421c2d8d..014729e90 100644 --- a/Completion/Core/compinit +++ b/Completion/Core/compinit @@ -98,9 +98,10 @@ else _comp_dumpfile="${ZDOTDIR:-$HOME}/.zcompdump" fi -# This can hold names of functions that are to be called after all +# These can hold names of functions that are to be called before/after all # matches have been generated. +compprefuncs=() comppostfuncs=() # Loading it now ensures that the `funcstack' parameter is always correct. -- cgit 1.4.1