summaryrefslogtreecommitdiff
path: root/Completion/Unix
diff options
context:
space:
mode:
authorPeter Stephenson <pws@users.sourceforge.net>2009-04-01 10:57:10 +0000
committerPeter Stephenson <pws@users.sourceforge.net>2009-04-01 10:57:10 +0000
commit1e7c14ee356892a5f3576322b44f2724c9b73f5f (patch)
tree6cfe649cae6065f49bb75ea481c70a5490980889 /Completion/Unix
parent7df454402cbcdb6cccb082c97207eed5e3896583 (diff)
downloadzsh-1e7c14ee356892a5f3576322b44f2724c9b73f5f.tar.gz
zsh-1e7c14ee356892a5f3576322b44f2724c9b73f5f.zip
26801: add completion for calendar function
add tracking of precommand modifiers that are in effect
Diffstat (limited to 'Completion/Unix')
-rw-r--r--Completion/Unix/Command/_calendar40
1 files changed, 31 insertions, 9 deletions
diff --git a/Completion/Unix/Command/_calendar b/Completion/Unix/Command/_calendar
index 10adfb700..a79fc7298 100644
--- a/Completion/Unix/Command/_calendar
+++ b/Completion/Unix/Command/_calendar
@@ -1,12 +1,34 @@
#compdef calendar
-_arguments \
- '-a[process files of all users]' \
- '-A[print today and the following num days]:number of days:' \
- '-b[enforce special KOI8 date calculation mode]' \
- '-B[print today and the previous num days]:number of days:' \
- '-f[use file as the default calendar]:calendar file:_files' \
- '-l[print today and the following num days]:number of days:' \
- '-w[print today and the following num days only if today is Friday]:number of days:' \
- '-t[act as though today is the date specified]:date:'
+if [[ $+functions[calendar] -eq 1 && -z $precommands[(r)command] ]]; then
+ # The shell function is loaded, and we're not instructed to
+ # use an external command, so complete that.
+ _arguments \
+ '-a[show all calendar items]' \
+ '-b[brief, display first line only]' \
+ '-d[move events to done file]' \
+ '-D[never move events to done file]' \
+ '-r[show all remaining items from start or now]' \
+ '-s[use sched to schedule a warning]' \
+ '-v[verbose]' \
+ '-B[select number of lines to display]:lines: ' \
+ '-C[select calendar file]:calendar file:_path_files' \
+ '-n[select max number of events]:max number of events: ' \
+ '-S[select show programme]:show programme:_command_names' \
+ '1:date/time: ' \
+ '(-r)2:end date/time: '
+else
+ # This is only one particular version of calendar.
+ # Some variant of BSD, I think.
+ _arguments \
+ '-a[process files of all users]' \
+ '-A[print today and the following num days]:number of days:' \
+ '-b[enforce special KOI8 date calculation mode]' \
+ '-B[print today and the previous num days]:number of days:' \
+ '-f[use file as the default calendar]:calendar file:_files' \
+ '-l[print today and the following num days]:number of days:' \
+ '-w[print today and the following num days only if today is Friday]:number of days:' \
+ '-t[act as though today is the date specified]:date:'
+
+fi