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

PATCH: _sudo



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