summary refs log tree commit diff
path: root/Completion/Unix
diff options
context:
space:
mode:
authorClint Adams <clint@users.sourceforge.net>2007-09-27 11:47:23 +0000
committerClint Adams <clint@users.sourceforge.net>2007-09-27 11:47:23 +0000
commit453ba566097aeb6b4ea811f02858a06dc5549fd7 (patch)
tree690f1ce57964a9c1623080db332c95a07ae2817e /Completion/Unix
parentcdf6b4840c33c81f83e7f19e9c0ac68f0f893f99 (diff)
downloadzsh-453ba566097aeb6b4ea811f02858a06dc5549fd7.tar.gz
zsh-453ba566097aeb6b4ea811f02858a06dc5549fd7.tar.xz
zsh-453ba566097aeb6b4ea811f02858a06dc5549fd7.zip
23814: fixes for Darwin.
Diffstat (limited to 'Completion/Unix')
-rw-r--r--Completion/Unix/Command/_comm24
-rw-r--r--Completion/Unix/Command/_ls9
-rw-r--r--Completion/Unix/Type/_file_systems4
3 files changed, 29 insertions, 8 deletions
diff --git a/Completion/Unix/Command/_comm b/Completion/Unix/Command/_comm
index c55378420..e90c317f6 100644
--- a/Completion/Unix/Command/_comm
+++ b/Completion/Unix/Command/_comm
@@ -1,10 +1,20 @@
 #compdef comm
 
-_arguments -s \
-  '-1[suppress lines unique to FILE1]' \
-  '-2[suppress lines unique to FILE2]' \
-  '-3[suppress lines that appear in both files]' \
-  '--help' \
-  '--version' \
-  '1:file1 to compare:_files' \
+local -a args
+
+args=(
+  '-1[suppress lines unique to FILE1]'
+  '-2[suppress lines unique to FILE2]'
+  '-3[suppress lines that appear in both files]'
+  '1:file1 to compare:_files'
   '2:file2 to compare:_files'
+)
+
+if _pick_variant gnu=GNU unix --version; then
+  args+=(
+    '(- : *)--version[display version information]'
+    '(- : *)--help[display help information]'
+  )
+fi
+
+_arguments -s $args
diff --git a/Completion/Unix/Command/_ls b/Completion/Unix/Command/_ls
index e5ef1fe03..7680f9273 100644
--- a/Completion/Unix/Command/_ls
+++ b/Completion/Unix/Command/_ls
@@ -5,7 +5,7 @@ local arguments is_gnu
 
 _pick_variant -r is_gnu gnu=gnu unix --help
 
-if [[ "$OSTYPE" = (netbsd*|freebsd*|openbsd*) && "$is_gnu" != gnu ]]; then
+if [[ "$OSTYPE" = (netbsd*|freebsd*|openbsd*|darwin*) && "$is_gnu" != gnu ]]; then
   arguments=(
     '(-A)-a[list entries starting with .]'
     '(-a)-A[list all except . and ..]'
@@ -54,6 +54,13 @@ if [[ "$OSTYPE" = (netbsd*|freebsd*|openbsd*) && "$is_gnu" != gnu ]]; then
 
     '*:files:_files'
   )
+  if [[ "$OSTYPE" = (freebsd*|darwin*) ]]; then
+    arguments+=(
+      '-G[enable colorized output]'
+      '-H[follow symlinks on the command line]'
+      '-P[do not follow symlinks]'
+    )
+  fi
 else
   arguments=(
     '(--all -a -A --almost-all)'{--all,-a}'[list entries starting with .]'
diff --git a/Completion/Unix/Type/_file_systems b/Completion/Unix/Type/_file_systems
index ffbf5ac68..fd75e2fa5 100644
--- a/Completion/Unix/Type/_file_systems
+++ b/Completion/Unix/Type/_file_systems
@@ -20,6 +20,10 @@ case $OSTYPE in
     fss=( cd9660 devfs ext2fs fdesc kernfs linprocfs mfs msdos nfs 
           ntfs null nwfs portal procfs std udf ufs umap union )
   ;;
+  darwin*)
+    fss=( afp cd9660 cddafs devfs fdesc hfs lfs msdos nfs
+          ntfs smbfs synthfs udf ufs volfs webdav )
+  ;;
   *)
     # default for all other systems
     fss=( ufs )