From e5465c04344cecca564c6c2def325d3806ce9278 Mon Sep 17 00:00:00 2001 From: Jun-ichi Takimoto Date: Wed, 7 Nov 2018 20:57:59 +0900 Subject: 43761: update five completion functions for darwin --- Completion/BSD/Type/_file_flags | 6 +++--- Completion/Unix/Command/_mktemp | 4 ++-- Completion/Unix/Command/_script | 5 ++++- Completion/Unix/Command/_strip | 37 +++++++++++++++++++++++++++++++++---- Completion/Unix/Type/_file_systems | 3 +-- 5 files changed, 43 insertions(+), 12 deletions(-) (limited to 'Completion') 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 -- cgit 1.4.1