Zsh Mailing List Archive
Messages sorted by:
Reverse Date,
Date,
Thread,
Author
PATCH: _sudo
- X-seq: zsh-workers 26949
- From: Peter Stephenson <pws@xxxxxxx>
- To: zsh-workers@xxxxxxxxxx (Zsh hackers list)
- Subject: PATCH: _sudo
- Date: Fri, 08 May 2009 09:39:46 +0100
- Mailing-list: contact zsh-workers-help@xxxxxxxxxx; run by ezmlm
It looks like I never sent this.
Index: Completion/Unix/Command/_sudo
===================================================================
RCS file: /cvsroot/zsh/zsh/Completion/Unix/Command/_sudo,v
retrieving revision 1.2
diff -u -r1.2 _sudo
--- Completion/Unix/Command/_sudo 10 Oct 2008 09:56:25 -0000 1.2
+++ Completion/Unix/Command/_sudo 6 May 2009 09:19:50 -0000
@@ -1,26 +1,45 @@
-#compdef sudo
+#compdef sudo sudoedit
local curcontext="$curcontext" environ e
+local -a args
+
zstyle -a "$curcontext" environ environ
for e in "${environ[@]}"
do local -x "$e"
done
-_arguments \
- '-V[show version]' \
- '-l[list allowed commands]' \
- '-L[list options from Default section]' \
- '-h[show help]' \
- '-v[validate user timestamp]' \
- '-k[invalidate user timestamp]' \
- '-K[remove user timestamp]' \
- '-b[run command in background]' \
- '-r[Kerberos realm]:Kerberos realm:' \
- '-p[password prompt]:password prompt:' \
- '-u[user name]:user name:_users' \
- '-s[run SHELL]' \
- '-H[set HOME environment variable]' \
- '-S[read password from stdin]' \
- '(-):command name: _command_names -e' \
- '*::arguments: _normal'
+args=(
+ '-V[show version]'
+ '-l[list allowed commands]'
+ '-L[list options from Default section]'
+ '-a[BSD auth type]:BSD auth type:'
+ '-c[BSD login class]:BSD login class:'
+ '-h[show help]'
+ '-v[validate user timestamp]'
+ '-k[invalidate user timestamp]'
+ '-K[remove user timestamp]'
+ '-r[Kerberos realm]:Kerberos realm:'
+ '-p[password prompt]:password prompt:'
+ '-u[user name]:user name:_users'
+ '-S[read password from stdin]'
+)
+
+if [[ $service = sudoedit || -n $words[(R)-e] ]]; then
+ args+=(
+ '*:file: _files'
+ )
+else
+ args+=(
+ '-b[run command in background]'
+ '-E[preserve environment]'
+ '-H[set HOME environment variable]'
+ '-P[preserve group vector]'
+ '(-i)-s[run SHELL]'
+ '(-s)-i[simulate login]'
+ '(-):command name: _command_names -e'
+ '*::arguments: _normal'
+ )
+fi
+
+_arguments $args
--
Peter Stephenson <pws@xxxxxxx> Software Engineer
CSR PLC, Churchill House, Cambridge Business Park, Cowley Road
Cambridge, CB4 0WZ, UK Tel: +44 (0)1223 692070
Messages sorted by:
Reverse Date,
Date,
Thread,
Author