diff options
Diffstat (limited to 'Completion/Core/_prefix')
-rw-r--r-- | Completion/Core/_prefix | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/Completion/Core/_prefix b/Completion/Core/_prefix index 6306b4aa0..34decf425 100644 --- a/Completion/Core/_prefix +++ b/Completion/Core/_prefix @@ -4,7 +4,7 @@ [[ -n "$SUFFIX" ]] || return 1 -local curcontext="${curcontext/:[^:]#:/:prefix:}" comp i +local curcontext="${curcontext/:[^:]#:/:prefix-${(M)#${(@)_completers[1,-$#_completers_left]}:#_prefix}:}" comp i zstyle -a ":completion:${curcontext}:" completer comp || comp=( "${(@)_completers[1,-${#_completers_left}-1][(R)_prefix,-1]}" ) @@ -16,8 +16,14 @@ else fi SUFFIX='' +local _completers _completer_left + +_completers=( "$comp[@]" ) +_completers_left=( "$comp[@]" ) + for i in "$comp[@]"; do [[ "$i" != _prefix ]] && "$i" && return 0 + shift 1 _completers_left done return 1 |