Zsh Mailing List Archive
Messages sorted by:
Reverse Date,
Date,
Thread,
Author
Re: PATCH: _date revisited
- X-seq: zsh-workers 21712
- From: Oliver Kiddle <okiddle@xxxxxxxxxxx>
- To: zsh-workers@xxxxxxxxxx
- Subject: Re: PATCH: _date revisited
- Date: Fri, 09 Sep 2005 12:53:27 +0200
- In-reply-to: <20050907190129.GA9049@xxxxxxxxxxx>
- Mailing-list: contact zsh-workers-help@xxxxxxxxxx; run by ezmlm
- References: <20050907190129.GA9049@xxxxxxxxxxx>
Clint Adams wrote:
> Solaris 9 and FreeBSD 4.11.
>
> Index: Completion/Unix/Command/_date
> ===================================================================
> RCS file: /cvsroot/zsh/zsh/Completion/Unix/Command/_date,v
> retrieving revision 1.1
> diff -u -r1.1 _date
> --- Completion/Unix/Command/_date 3 Sep 2005 00:17:02 -0000 1.1
> +++ Completion/Unix/Command/_date 7 Sep 2005 19:00:28 -0000
> @@ -1,6 +1,7 @@
> #compdef date
>
> -_arguments \
> +if _pick_variant -r is_gnu gnu="Free Software Foundation" unix --version; then
You don't need -r is_gnu unless you're wanting to save the result of
_pick_variant. If used, you'd need to declare is_gnu local.
It is also a good idea to include a fallback for functions that check
$OSTYPE so that something is done on other systems. Following patch does
a bit of reindenting, and rearranging.
Oliver
Index: Completion/Unix/Command/_date
===================================================================
RCS file: /cvsroot/zsh/zsh/Completion/Unix/Command/_date,v
retrieving revision 1.3
diff -u -r1.3 _date
--- Completion/Unix/Command/_date 7 Sep 2005 19:12:53 -0000 1.3
+++ Completion/Unix/Command/_date 9 Sep 2005 10:49:41 -0000
@@ -1,48 +1,48 @@
#compdef date
-if _pick_variant -r is_gnu gnu="Free Software Foundation" unix --version; then
- _arguments \
- '-d[date]:time string:' \
- '-f[file]:date file:_files' \
- '-I[iso-8601]:time spec:' \
- '-r[reference]:file:_files' \
- '-R[rfc-2822]' \
- '-s[set]:time string:' \
- '-u[utc]' \
- -- \
- '*=FILE*:file:_files' \
- '*=DATEFILE*:date file:_files' \
- ':format or date:'
+local -a args
+
+if _pick_variant gnu="Free Software Foundation" unix --version; then
+ args=(
+ '-d[output specified date]:time string'
+ '-f[output dates specified in file]:file:_files'
+ '-I-[iso-8601]:precision:(date hours minutes seconds)'
+ '-r[reference]:file:_files'
+ '-R[rfc-2822]'
+ '-s[set]:time string'
+ --
+ '*=FILE*:file:_files'
+ '*=DATEFILE*:date file:_files'
+ )
else
case "$OSTYPE" in
- (solaris*)
- _arguments \
- '-u[utc]' \
- '-a:adjustment:' \
- ':format or date:'
- ;;
- (freebsd*)
- _arguments \
- '-u[utc]' \
- '-n[only set time on current machine]' \
- '-d:daylight savingg time value:' \
- '-j[do not try to set date]' \
- '-f:parsing format:' \
- '-r:seconds since epoch:' \
- '-t:minutes west of GMT:' \
- '-v:adjustment value:' \
- ':format or date:'
- ;;
- (openbsd*)
- _arguments \
- '-u[utc]' \
- '-n[only set time on current machine]' \
- '-d:daylight savingg time value:' \
- '-a[gradually skew]' \
- '-r:seconds since epoch:' \
- '-t:minutes west of GMT:' \
- ':format or date:'
- ;;
+ solaris*)
+ args=( '-a:adjustment' )
+ ;;
+ freebsd*)
+ args=(
+ '-n[only set time on current machine]'
+ '-d:daylight saving time value'
+ '-j[do not try to set date]'
+ '-f:parsing format'
+ '-r:seconds since epoch'
+ '-t:minutes west of GMT'
+ '-v:adjustment value'
+ )
+ ;;
+ openbsd*)
+ args=(
+ '-n[only set time on current machine]'
+ '-d:daylight saving time value'
+ '-a[gradually skew]'
+ '-r:seconds since epoch'
+ '-t:minutes west of GMT'
+ )
+ ;;
esac
fi
+_arguments \
+ '-u[display or set time in UTC]' \
+ ':format or date' \
+ $args[@]
This message has been scanned for viruses by MailControl - www.mailcontrol.com
Messages sorted by:
Reverse Date,
Date,
Thread,
Author