Zsh Mailing List Archive
Messages sorted by: Reverse Date, Date, Thread, Author

PATCH: _zcompile and _autoload



Here is completion for zcompile and an update for _autoload.

It's a pity that the functions in Builtins are older than _arguments...

And a small fix in _path_files.

Bye
 Sven

diff -ru ../z.old/Completion/Builtins/_autoload Completion/Builtins/_autoload
--- ../z.old/Completion/Builtins/_autoload	Thu Mar 30 09:58:41 2000
+++ Completion/Builtins/_autoload	Thu Mar 30 10:04:16 2000
@@ -2,4 +2,9 @@
 
 local expl
 
-_wanted functions expl 'shell function' compadd - ${^fpath}/*(N:t)
+if (( $words[(I)[-+]*w*] )); then
+  _description files expl 'zwc file'
+  _files "$expl[@]" -g '*.zwc'
+else
+  _wanted functions expl 'shell function' compadd - ${^fpath}/*(N:t)
+fi
diff -ru ../z.old/Completion/Builtins/_zcompile Completion/Builtins/_zcompile
--- ../z.old/Completion/Builtins/_zcompile	Thu Mar 30 10:05:46 2000
+++ Completion/Builtins/_zcompile	Thu Mar 30 10:09:02 2000
@@ -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
diff -ru ../z.old/Completion/Core/_path_files Completion/Core/_path_files
--- ../z.old/Completion/Core/_path_files	Thu Mar 30 09:58:49 2000
+++ Completion/Core/_path_files	Thu Mar 30 10:07:22 2000
@@ -528,7 +528,8 @@
 # them as possible matches.
 
 if zstyle -t ":completion:${curcontext}:paths" expand prefix &&
-   [[ nm -eq compstate[nmatches] && $#exppaths -ne 0 ]]; then
+   [[ nm -eq compstate[nmatches] && $#exppaths -ne 0 &&
+      "$exppaths" != "$eorig" ]]; then
   PREFIX="${opre}"
   SUFFIX="${osuf}"
   compadd -Q "$mopts[@]" -S '' -M "r:|/=* r:|=*" -p "$linepath" - "$exppaths[@]"

--
Sven Wischnowsky                         wischnow@xxxxxxxxxxxxxxxxxxxxxxx



Messages sorted by: Reverse Date, Date, Thread, Author