about summary refs log tree commit diff
path: root/Completion/Core/_prefix
diff options
context:
space:
mode:
authorTanaka Akira <akr@users.sourceforge.net>2000-02-10 14:52:33 +0000
committerTanaka Akira <akr@users.sourceforge.net>2000-02-10 14:52:33 +0000
commitfc95f1a465638327704ba1bf28413b72c6a4226e (patch)
tree9801f747758a73d4bd77a64b1d94e70ecc18499f /Completion/Core/_prefix
parentff716aaa840fb9a9b5f29217150ddf3d587edbb6 (diff)
downloadzsh-fc95f1a465638327704ba1bf28413b72c6a4226e.tar.gz
zsh-fc95f1a465638327704ba1bf28413b72c6a4226e.tar.xz
zsh-fc95f1a465638327704ba1bf28413b72c6a4226e.zip
zsh-workers/9657
Diffstat (limited to 'Completion/Core/_prefix')
-rw-r--r--Completion/Core/_prefix8
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