about summary refs log tree commit diff
path: root/Completion/Zsh/Type/_suffix_alias_files
diff options
context:
space:
mode:
authorPeter Stephenson <pws@users.sourceforge.net>2003-09-03 10:15:32 +0000
committerPeter Stephenson <pws@users.sourceforge.net>2003-09-03 10:15:32 +0000
commit3ffb3ad2f2f733fbee58e21dc6aab23827ab8d49 (patch)
tree3ccb2278fd41a91aea8935e4454f91ec4ddd7df0 /Completion/Zsh/Type/_suffix_alias_files
parent716e9253122b962da887fde382c9fd00b40c8a42 (diff)
downloadzsh-3ffb3ad2f2f733fbee58e21dc6aab23827ab8d49.tar.gz
zsh-3ffb3ad2f2f733fbee58e21dc6aab23827ab8d49.tar.xz
zsh-3ffb3ad2f2f733fbee58e21dc6aab23827ab8d49.zip
19014: add alias -s suf=handler
Diffstat (limited to 'Completion/Zsh/Type/_suffix_alias_files')
-rw-r--r--Completion/Zsh/Type/_suffix_alias_files21
1 files changed, 21 insertions, 0 deletions
diff --git a/Completion/Zsh/Type/_suffix_alias_files b/Completion/Zsh/Type/_suffix_alias_files
new file mode 100644
index 000000000..1c2c8ebb5
--- /dev/null
+++ b/Completion/Zsh/Type/_suffix_alias_files
@@ -0,0 +1,21 @@
+#autoload
+
+# Complete files for which a suffix alias exists.
+
+local expl pat
+
+(( ${#saliases} )) || return 1
+
+if (( ${#saliases} == 1 )); then
+    pat="*.${(kq)saliases}"
+else
+    local -a tmpa
+    # This is so we can quote the alias names against expansion
+    # without quoting the `|' which needs to be active in the pattern
+    # --- remember that an alias name can be pretty much anything.
+    tmpa=(${(kq)saliases})
+    pat="*.(${(kj.|.)tmpa})"
+fi
+
+# _wanted is called for us by _command_names
+_path_files "$@" -g $pat