about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--Completion/Unix/Command/_date26
2 files changed, 30 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index 6d496548c..d020f87a8 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2005-09-07  Clint Adams  <clint@zsh.org>
+
+	* 21704: Completion/Unix/Command/_date: completion for Solaris,
+	and FreeBSD.
+
 2005-09-06  Clint Adams  <clint@zsh.org>
 
 	* 21703: Completion/Unix/Command/_bzr: completion for bzr 0.0.7.
diff --git a/Completion/Unix/Command/_date b/Completion/Unix/Command/_date
index 929b35c84..be00a0f0a 100644
--- a/Completion/Unix/Command/_date
+++ b/Completion/Unix/Command/_date
@@ -1,6 +1,7 @@
 #compdef date
 
-_arguments \
+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:' \
@@ -12,3 +13,26 @@ _arguments \
     '*=FILE*:file:_files' \
     '*=DATEFILE*:date file:_files' \
     ':format or date:'
+else
+  case "$OSTYPE" in
+	  (solaris*)
+	  _arguments \
+	    '-u[utc]' \
+	    '-a:adjustment:' \
+            ':format or date:'
+	  ;;
+	  (freebsd*)
+	  _arguments \
+	    '-u[utc]' \
+	    '-j[do not try to set date]' \
+	    '-n[only set time on current machine]' \
+	    '-d:daylight savingg time value:' \
+	    '-f:parsing format:' \
+	    '-r:seconds since epoch:' \
+	    '-t:minutes west of GMT:' \
+	    '-v:adjustment value:' \
+            ':format or date:'
+	  ;;
+  esac
+fi
+