about summary refs log tree commit diff
path: root/Completion/Base/_brace_parameter
diff options
context:
space:
mode:
authorTanaka Akira <akr@users.sourceforge.net>1999-06-08 09:25:39 +0000
committerTanaka Akira <akr@users.sourceforge.net>1999-06-08 09:25:39 +0000
commit805381040dd69dd02b78423d2d71913b33f3cc33 (patch)
tree1fa89ee643e8e577a2f79e76e3d6cafc93256ca2 /Completion/Base/_brace_parameter
parentf42e3fa8e6152e145251e8f16f4c61c23dec1f59 (diff)
downloadzsh-805381040dd69dd02b78423d2d71913b33f3cc33.tar.gz
zsh-805381040dd69dd02b78423d2d71913b33f3cc33.tar.xz
zsh-805381040dd69dd02b78423d2d71913b33f3cc33.zip
zsh-3.1.5-pws-21 zsh-3.1.5-pws-21
Diffstat (limited to 'Completion/Base/_brace_parameter')
-rw-r--r--Completion/Base/_brace_parameter14
1 files changed, 12 insertions, 2 deletions
diff --git a/Completion/Base/_brace_parameter b/Completion/Base/_brace_parameter
index d45e317be..f688e175a 100644
--- a/Completion/Base/_brace_parameter
+++ b/Completion/Base/_brace_parameter
@@ -1,9 +1,19 @@
 #compdef -brace-parameter-
 
+setopt localoptions extendedglob
+
+local lp ls n q suf=''
+
 if [[ "$SUFFIX" = *\}* ]]; then
   ISUFFIX="${SUFFIX#*\}}$ISUFFIX"
   SUFFIX="${SUFFIX%%\}*}"
-  _parameters -S '} ' -r '-:?#%+=[/'
 else
-  _parameters -S '} ' -r '-:?#%+=[/'
+  suf='} '
 fi
+
+lp="$LBUFFER[1,-${#PREFIX}-1]"
+ls="$RBUFFER[${#SUFFIX}+1,-1]"
+n=${(M)#ls##\"#}
+q=${(M)lp%%\"#}
+
+_parameters -s "${q[1,-n-1]}" -S "$suf" -r '-:?#%+=[/'