about summary refs log tree commit diff
path: root/Completion/Zsh/Type/_globqual_delims
diff options
context:
space:
mode:
authorPeter Stephenson <pws@users.sourceforge.net>2008-02-23 00:10:24 +0000
committerPeter Stephenson <pws@users.sourceforge.net>2008-02-23 00:10:24 +0000
commit485a008075ce19bfdf19922c803d1637ebb5255e (patch)
treefce4fa1a9d5ca8b236760b8c9b05bb06e7d9a801 /Completion/Zsh/Type/_globqual_delims
parent21307324337a613ef53e437219ddcbc3f3bb53ff (diff)
downloadzsh-485a008075ce19bfdf19922c803d1637ebb5255e.tar.gz
zsh-485a008075ce19bfdf19922c803d1637ebb5255e.tar.xz
zsh-485a008075ce19bfdf19922c803d1637ebb5255e.zip
24585: completion for glob qualifiers plus
bug fix for _alternative
Diffstat (limited to 'Completion/Zsh/Type/_globqual_delims')
-rw-r--r--Completion/Zsh/Type/_globqual_delims24
1 files changed, 24 insertions, 0 deletions
diff --git a/Completion/Zsh/Type/_globqual_delims b/Completion/Zsh/Type/_globqual_delims
new file mode 100644
index 000000000..bba4241e8
--- /dev/null
+++ b/Completion/Zsh/Type/_globqual_delims
@@ -0,0 +1,24 @@
+#autoload
+
+# Helper for _globquals.  Sets delim to delimiter to match.
+
+# don't restore special parameters
+compstate[restore]=no
+
+delim=$PREFIX[1]
+compset -p 1
+
+# One of matching brackets?
+# These don't actually work: the parser gets very confused.
+local matchl="<({[" matchr=">)}]"
+integer ind=${matchl[(I)$delim]}
+
+(( ind )) && delim=$matchr[ind]
+
+if compset -P "[^$delim]#$delim"; then
+  # Completely matched.
+  return 0
+else
+  # Still in delimiter
+  return 1
+fi