Zsh Mailing List Archive
Messages sorted by: Reverse Date, Date, Thread, Author

[PATCH] update _file_flags, _file_systems, _mktemp, _script, _string (mostly for darwin)



_strings: add support for darwin
_file_flags, _file_systems, _mktemp, _script: minor updates (mostly for darwin)



diff --git a/Completion/BSD/Type/_file_flags b/Completion/BSD/Type/_file_flags
index 95044121c..202a46c4a 100644
--- a/Completion/BSD/Type/_file_flags
+++ b/Completion/BSD/Type/_file_flags
@@ -7,6 +7,7 @@ local -a context line state state_descr copts=( "${@}" ) flags flag_descs
 local -A val_args
 
 flag_descs+=(
+  nodump nodump
   uappnd 'user append-only'
   uchg 'user immutable'
 )
@@ -14,7 +15,6 @@ flag_descs+=(
 if (( su )); then
   flag_descs+=(
     arch archived
-    nodump nodump
     sappnd 'system append-only'
     schg 'system immutable'
   )
@@ -36,12 +36,12 @@ if [[ $OSTYPE = (darwin|dragonfly|freebsd|netbsd)* ]]; then
 
   if [[ $OSTYPE = dragonfly* ]]; then
     flag_descs+=(
-      cache XXX
+      cache cache
       nouhistory 'user nohistory'
     )
 
     (( su )) && flag_descs+=(
-      noscache XXX
+      noscache noscache
       noshistory 'system nohistory'
     )
   fi
diff --git a/Completion/Unix/Command/_mktemp b/Completion/Unix/Command/_mktemp
index 4b5bf99f7..03fc89e36 100644
--- a/Completion/Unix/Command/_mktemp
+++ b/Completion/Unix/Command/_mktemp
@@ -30,9 +30,9 @@ fi
     args=( ${args:#((#s)|*\))(\*|)-t*} )
     args+=( '-t[generate template relative to temp dir]' )
   # Dragonfly, FreeBSD, and Darwin take an argument to -t and support any number
-  # of template files
+  # of template files. These OSes do not have -p and -V.
   else
-    args=( ${args:#((#s)|*\))(1:*|(\*|)-t*)} )
+    args=( ${args:#((#s)|*\))(1:*|(\*|)-[ptV]*)} )
     args+=(
       '-t[generate template relative to temp dir using specified prefix]:template prefix'
       '*: :_guard "^-*" "template name"'
diff --git a/Completion/Unix/Command/_script b/Completion/Unix/Command/_script
index dfe57a796..e6c104d2c 100644
--- a/Completion/Unix/Command/_script
+++ b/Completion/Unix/Command/_script
@@ -35,7 +35,7 @@ case $OSTYPE in
       '-q[be quiet: suppress display of starting and ending lines]'
     )
   ;|
-  netbsd*|freebsd*)
+  darwin*|netbsd*|freebsd*)
     args+=(
       '(-a -r -k)-d[suppress sleeps when playing back a session]'
       '(-a -r -k -t)-p[play back a recorded session]'
@@ -62,6 +62,9 @@ case $OSTYPE in
       '*:::arguments: _normal'
     )
   ;|
+  darwin*|freebsd*)
+    args+=( '-F[send output to specified named pipe]:fifo:_files -g "*(p)"' )
+  ;|
   *)
     args+=(
       '(-p -d)-a[append output]'
diff --git a/Completion/Unix/Command/_strip b/Completion/Unix/Command/_strip
index 630140c64..e7f3418d7 100644
--- a/Completion/Unix/Command/_strip
+++ b/Completion/Unix/Command/_strip
@@ -42,10 +42,39 @@ if _pick_variant gnu=GNU solaris --version; then
     '(-)'{-V,--version}'[display version information and exit]'
     '(-v --verbose)'{-v,--verbose}'[list all object files modified or members of archives]')
 else
-  args=(
-    '-l[strip line information only]'
-    '-V[display version information on stderr and exit]'
-    '-x[do not strip the symbol table]')
+  case $OSTYPE in
+    solaris*)
+      args=(
+	'-l[strip line information only]'
+	'-V[display version information on stderr and exit]'
+	'-x[do not strip the symbol table]')
+      ;;
+    darwin*)
+      local -a arch
+      arch=( ${(z)${${"$(_call_program architectures
+			strings -arch - 2>&1)"}#*flags are: }%%$'\n'*} all )
+      args=(
+	'-u[save all undefined symbols]'
+	'-r[save all symbols referenced dynamically]'
+	'-s[save global symbols listed in the specified file]:file:_files'
+	'-R[remove global symbols listed in the specified file]:file:_files'
+	'-i[ignore symbols listed in -s/-R file but are not in the object files]'
+	'-d[save debug symbols in files listed in the specified file]:file:_file'
+	'-A[save all global absolute symbols and Objective-C class symbols]'
+	'-n[save all N_SECT global symbols]'
+	'-S[remove debug symbols]'
+	'-X[remove local symbols whose names begin with L]'
+	'-T[remove Swift symbols]'
+	'-N[remove all nlist symbols and string tables from binaries used by dyld]'
+	'-x[remove all local symbols]'
+	'-c[remove section contents of dynamic library to create stub library]'
+	'-o[write the result to specified file]:output file:_files'
+	'-no_uuid[remove only LC_UUID load command]'
+	'-no_split_info[remove LC_SEGMENT_SPLIT_INFO load command]'
+	'-no_code_signature_warning[not warn when code signature would be invalid in the output]'
+	'-arch[specify the architecture]:architecture:( $arch )' )
+      ;;
+  esac
 fi
 
 _arguments \
diff --git a/Completion/Unix/Type/_file_systems b/Completion/Unix/Type/_file_systems
index 2d903d471..1e47ff7b1 100644
--- a/Completion/Unix/Type/_file_systems
+++ b/Completion/Unix/Type/_file_systems
@@ -27,8 +27,7 @@ case $OSTYPE in
     reiserfs xfs zfs )
   ;;
   darwin*)
-    fss=( afp cd9660 cddafs devfs fdesc hfs lfs msdos nfs
-          ntfs smbfs synthfs udf ufs volfs webdav )
+    fss=( autofs /sbin/mount_*(#qN-*:s./sbin/mount_.) )
   ;;
   *)
     # default for all other systems





Messages sorted by: Reverse Date, Date, Thread, Author