about summary refs log tree commit diff
diff options
context:
space:
mode:
authorMikael Magnusson <mikachu@gmail.com>2011-05-27 14:55:55 +0000
committerMikael Magnusson <mikachu@gmail.com>2011-05-27 14:55:55 +0000
commit4e6035312b3d86fb9c39740a6960ca6c79e5504f (patch)
tree77836be380f2c3c9e9eb91b0db738d8b356c473d
parent607dbc0cd12a5897145ba2707a1643aa5fd148a2 (diff)
downloadzsh-4e6035312b3d86fb9c39740a6960ca6c79e5504f.tar.gz
zsh-4e6035312b3d86fb9c39740a6960ca6c79e5504f.tar.xz
zsh-4e6035312b3d86fb9c39740a6960ca6c79e5504f.zip
29387: add completion for at and friends
-rw-r--r--ChangeLog5
-rw-r--r--Completion/Unix/Command/.distfiles1
-rw-r--r--Completion/Unix/Command/_at39
3 files changed, 44 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index 73111b7f4..6c96647a4 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -15,6 +15,9 @@
 	* 29392: Doc/Zsh/compsys.yo: Remove now-defunct use-perl style
 	documentation.
 
+	* 29387: Completion/Unix/Command/.distfiles,
+	Completion/Unix/Command/_at: Add completion for at and friends.
+
 2011-05-27  Barton E. Schaefer  <schaefer@zsh.org>
 
 	* 29382: Src/Modules/curses.c: apply 29374 to zccmd_input too.
@@ -14864,5 +14867,5 @@
 
 *****************************************************
 * This is used by the shell to define $ZSH_PATCHLEVEL
-* $Revision: 1.5341 $
+* $Revision: 1.5342 $
 *****************************************************
diff --git a/Completion/Unix/Command/.distfiles b/Completion/Unix/Command/.distfiles
index 9b28418d5..cc47a7a0b 100644
--- a/Completion/Unix/Command/.distfiles
+++ b/Completion/Unix/Command/.distfiles
@@ -8,6 +8,7 @@ _apachectl
 _apm
 _arp
 _arping
+_at
 _attr
 _awk
 _baz
diff --git a/Completion/Unix/Command/_at b/Completion/Unix/Command/_at
new file mode 100644
index 000000000..4e2d28e27
--- /dev/null
+++ b/Completion/Unix/Command/_at
@@ -0,0 +1,39 @@
+#compdef atrm atq at batch
+
+local context state line expl
+typeset -A opt_args
+
+#todo (when extremely bored) make -l and -d do the atq and atrm completions
+case $service in
+atrm)
+  _arguments \
+    '-V[Print version number]' \
+    '*:job number:->jobs'
+  ;;
+atq)
+  _arguments \
+    '-V[Print version number]' \
+    '-q[Uses specified queue]:a-z+A-Z'
+  ;;
+at|batch)
+  _arguments \
+    - new-job \
+      '-V[Print version number]' \
+      '-q[Uses specified queue, uppercase acts as batch]:a-z+A-Z' \
+      '-f[Read job from file rather than from stdin]:file:_files' \
+      '-v[Show the time the job will be executed]' \
+      '-m[Send mail even if there was no output]' \
+      ':time:' \
+    - atq \
+      '-l[Alias for atq]' \
+    - atrm \
+      '-d[Alias for atrm]' \
+    - show-job \
+      '-c[Cat specified jobs to stdout]:*:job number:->jobs'
+esac
+
+case $state in
+jobs)
+  _wanted job expl 'job number' compadd ${(M)${(f)"$(_call_program job atq)"}##<->}
+  ;;
+esac