about summary refs log tree commit diff
path: root/Completion/Builtins/_zcompile
diff options
context:
space:
mode:
Diffstat (limited to 'Completion/Builtins/_zcompile')
-rw-r--r--Completion/Builtins/_zcompile22
1 files changed, 22 insertions, 0 deletions
diff --git a/Completion/Builtins/_zcompile b/Completion/Builtins/_zcompile
new file mode 100644
index 000000000..5ec6f96ce
--- /dev/null
+++ b/Completion/Builtins/_zcompile
@@ -0,0 +1,22 @@
+#compdef zcompile
+
+local context state line expl
+typeset -A opt_args
+
+_arguments -s \
+    '(-c -m -a)-U[don'\''t expand aliases]' \
+    '(-M)-R[mark as read]' \
+    '(-R)-M[mark as mapped]' \
+    '(-c -z -m -a)-k[ksh-style autoloading]' \
+    '(-c -k -m -a)-z[zsh-style autoloading]' \
+    '(-U -z -k)-c[currently defined functions]' \
+    '(-U -z -k)-m[use names as patterns]' \
+    '(-U -z -k)-a[write autoload functions]' \
+    ':zwc file:_files' \
+    '*:function:->function' && return 0
+
+if (( $+opt_args[-c] )); then
+  _wanted functions expl 'function to write' compadd - ${(k)functions}
+else
+  _wanted file expl 'zsh source file' _files
+fi