about summary refs log tree commit diff
path: root/Completion/Base/_subscript
diff options
context:
space:
mode:
authorTanaka Akira <akr@users.sourceforge.net>1999-07-03 13:16:46 +0000
committerTanaka Akira <akr@users.sourceforge.net>1999-07-03 13:16:46 +0000
commit7c670f1e6a0e154f0b1a2d4b6eed0e71c9404b56 (patch)
tree9bb85bcd27410e1b752c8550f487165d71dc8aca /Completion/Base/_subscript
parentb09922bb063ddf44c7850b182fec4795fbe1ae90 (diff)
downloadzsh-7c670f1e6a0e154f0b1a2d4b6eed0e71c9404b56.tar.gz
zsh-7c670f1e6a0e154f0b1a2d4b6eed0e71c9404b56.tar.xz
zsh-7c670f1e6a0e154f0b1a2d4b6eed0e71c9404b56.zip
zsh-3.1.5-pws-25 dot-zsh-199907031715
Diffstat (limited to 'Completion/Base/_subscript')
-rw-r--r--Completion/Base/_subscript19
1 files changed, 11 insertions, 8 deletions
diff --git a/Completion/Base/_subscript b/Completion/Base/_subscript
index 00b2b6506..be5f08f62 100644
--- a/Completion/Base/_subscript
+++ b/Completion/Base/_subscript
@@ -1,6 +1,9 @@
 #compdef -subscript-
 
-if [[ ${(Pt)${compstate[parameter]}} = assoc* ]]; then
+if [[ "$PREFIX" = :* ]]; then
+  compadd -p: -S ':]' alnum alpha blank cntrl digit graph lower print punct \
+      space upper xdigit
+elif [[ ${(Pt)${compstate[parameter]}} = assoc* ]]; then
   if [[ "$RBUFFER" = \]* ]]; then
     compadd -S '' - "${(@kP)${compstate[parameter]}}"
   else
@@ -13,15 +16,15 @@ elif [[ ${(Pt)${compstate[parameter]}} = array* ]]; then
   list=()
   for i in "$ind[@]"; do
     [[ "$i" = ${PREFIX}*${SUFFIX} ]] &&
-        list=( "$list[@]" "${(r:4:: ::):)i} ${(P)${compstate[parameter]}[$i]}
-)
+        list=( "$list[@]" 
+	  "${(r:4:: ::):)i} $(print -D ${(P)${compstate[parameter]}[$i]})" )
   done
 
- if [[ "$RBUFFER" = \]* ]]; then
-   compadd -S '' -y list - "$ind[@]"
- else
-   compadd -S ']' -y list - "$ind[@]"
- fi
+  if [[ "$RBUFFER" = \]* ]]; then
+    compadd -S '' -V default -y list - "$ind[@]"
+  else
+    compadd -S ']' -V default -y list - "$ind[@]"
+  fi
 else
   _compalso -math-
 fi