From ea229be4cfb6a734938648df4322fc4473e1712e Mon Sep 17 00:00:00 2001 From: Oliver Kiddle Date: Thu, 16 Mar 2023 22:12:48 +0100 Subject: 51581: update completions to cover changes in OpenBSD 7.2 --- Completion/Unix/Command/_ps | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'Completion/Unix/Command/_ps') diff --git a/Completion/Unix/Command/_ps b/Completion/Unix/Command/_ps index 9b54cbcc6..905309a12 100644 --- a/Completion/Unix/Command/_ps +++ b/Completion/Unix/Command/_ps @@ -105,6 +105,7 @@ case $OSTYPE in bsdarg+=( 'M[extract values from specified core]' ) ;| linux-gnu|netbsd*) bsdarg+=( 'k[specify sort order]' ) ;| + linux-gnu|openbsd*) bsd+=( 'f[show process hierarchy]' ) ;| darwin*|freebsd*) bsd+=( 'X[skip processes with no controlling terminal]' ) bsdarg+=( '*G[select processes by real group]' ) @@ -188,7 +189,6 @@ case $OSTYPE in done bsd+=( 'c[show true command name]' - 'f[show process hierarchy]' 'h[suppress header]' 'm[show threads after processes]' 'n[numeric output for WCHAN and USER]' -- cgit v1.2.3 From 6aa15f57fd5bee298c8320dab19d167dac3d46ed Mon Sep 17 00:00:00 2001 From: Oliver Kiddle Date: Wed, 22 Nov 2023 00:07:37 +0100 Subject: 52315: completion options update --- ChangeLog | 4 ++ Completion/BSD/Command/_chflags | 25 ++++++--- Completion/Linux/Command/_btrfs | 41 +++++++++++---- Completion/Linux/Command/_ethtool | 58 +++++++++++++++----- Completion/Linux/Command/_gpasswd | 2 +- Completion/Linux/Command/_iptables | 66 +++++++++++++++++++---- Completion/Linux/Command/_strace | 1 + Completion/Linux/Command/_sysstat | 4 +- Completion/Linux/Command/_valgrind | 2 +- Completion/Redhat/Command/_rpm | 13 +++-- Completion/Solaris/Command/_pkg5 | 1 + Completion/Unix/Command/_awk | 1 + Completion/Unix/Command/_cat | 3 ++ Completion/Unix/Command/_dbus | 6 ++- Completion/Unix/Command/_dd | 2 +- Completion/Unix/Command/_dig | 18 +++++-- Completion/Unix/Command/_dmidecode | 1 + Completion/Unix/Command/_enscript | 2 +- Completion/Unix/Command/_flac | 1 + Completion/Unix/Command/_getent | 3 +- Completion/Unix/Command/_gnutls | 13 +++-- Completion/Unix/Command/_gpg | 5 ++ Completion/Unix/Command/_gprof | 2 +- Completion/Unix/Command/_install | 1 + Completion/Unix/Command/_less | 23 +++++++- Completion/Unix/Command/_lsof | 6 ++- Completion/Unix/Command/_lua | 1 + Completion/Unix/Command/_mpc | 14 ++++- Completion/Unix/Command/_nm | 8 +-- Completion/Unix/Command/_objdump | 14 +++-- Completion/Unix/Command/_pandoc | 68 ++++++++++++------------ Completion/Unix/Command/_perl | 1 + Completion/Unix/Command/_pgrep | 8 ++- Completion/Unix/Command/_ping | 2 + Completion/Unix/Command/_ps | 2 + Completion/Unix/Command/_pv | 4 +- Completion/Unix/Command/_readelf | 13 +++-- Completion/Unix/Command/_rsync | 15 ++++-- Completion/Unix/Command/_samba | 35 ++++++++----- Completion/Unix/Command/_sqlite | 4 +- Completion/Unix/Command/_strip | 102 ++++++++++++++++++++---------------- Completion/Unix/Command/_tiff | 2 + Completion/Unix/Command/_truss | 6 ++- Completion/Unix/Command/_user_admin | 17 +++++- Completion/Unix/Command/_vmstat | 2 +- Completion/Unix/Command/_vorbis | 5 -- Completion/Unix/Command/_w | 4 +- Completion/Unix/Command/_wget | 3 +- Completion/Unix/Command/_xmlsoft | 1 + Completion/Unix/Command/_xxd | 14 ++--- Completion/X/Command/_evince | 1 + Completion/X/Command/_qiv | 6 ++- Completion/X/Command/_xdvi | 18 +++++-- 53 files changed, 475 insertions(+), 199 deletions(-) (limited to 'Completion/Unix/Command/_ps') diff --git a/ChangeLog b/ChangeLog index feeae6068..9132ef9e8 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +2023-11-22 Oliver Kiddle + + * 52315: Completion/...: completion options update + 2023-11-18 Bart Schaefer * 52313: Src/exec.c: subshells implementing multio reads/writes diff --git a/Completion/BSD/Command/_chflags b/Completion/BSD/Command/_chflags index 924b09acd..905aa0645 100644 --- a/Completion/BSD/Command/_chflags +++ b/Completion/BSD/Command/_chflags @@ -1,22 +1,31 @@ #compdef chflags -local args own='-g *(-u$EUID)' +local own='-g *(-u$EUID)' +local -a args recurse (( ! EUID || $+_comp_priv_prefix )) && own= -if [[ $OSTYPE = (darwin|dragonfly|freebsd)* ]]; then - args=( - "-f[don't display diagnostic messages]" - '-v[verbose output]' - ) -fi +case $OSTYPE in + (darwin|dragonfly|freebsd)*) + args=( + "-f[don't display diagnostic messages]" + '-v[verbose output]' + ) + ;| + darwin*|freebsd*) + recurse=( "-x[don't cross mount points]" ) + ;| + netbsd*) + args=( '-d[if the change requested would not alter the flags, attempt no change]' ) + ;| +esac _arguments -s -A "-*" : $args \ ': :_file_flags' \ '*:file:_files "$own"' \ - opth \ '-h[act on symlinks]' \ - - optR \ + - optR $recurse \ '-R[recurse directories]' \ '(-L -P)-H[follow symlinks on the command line (specify with -R)]' \ '(-H -P)-L[follow all symlinks (specify with -R)]' \ diff --git a/Completion/Linux/Command/_btrfs b/Completion/Linux/Command/_btrfs index 1d87fd83a..d8b97a200 100644 --- a/Completion/Linux/Command/_btrfs +++ b/Completion/Linux/Command/_btrfs @@ -8,16 +8,16 @@ groups=( subvolume filesystem device scrub balance inspect-internal property quota qgroup replace rescue check restore send receive help version ) cmds_1=( create delete list snapshot get-default set-default find-new show sync help ) -cmds_2=( df du show sync defragment resize label usage help ) +cmds_2=( df du show sync defragment resize label mkswapfile usage help ) cmds_3=( add delete remove ready scan stats usage help ) cmds_4=( start cancel resume status help ) cmds_5=( start pause cancel resume status ) -cmds_6=( dump-{super,tree} {inode,logical,subvolid}-resolve min-dev-size rootid tree-stats help ) +cmds_6=( dump-{super,tree} {inode,logical,subvolid}-resolve map-swapfile min-dev-size rootid tree-stats help ) cmds_7=( get set list ) cmds_8=( enable disable rescan help ) -cmds_9=( assign remove create destroy show limit help ) +cmds_9=( assign remove create clear-stale destroy show limit help ) cmds_10=( start status cancel help ) -cmds_11=( chunk-recover fix-device-size super-recover zero-log create-control-device ) +cmds_11=( chunk-recover clear-uuid-tree fix-device-size super-recover zero-log create-control-device ) _arguments -C -A "-*" "$args[@]" \ '(- *)--help[print help information]' \ @@ -25,6 +25,7 @@ _arguments -C -A "-*" "$args[@]" \ '(-v --verbose -q --quiet --help --version)'{-v,--verbose}'[verbose output of operation]' \ '(-v --verbose -q --quiet --help --version)'{-q,--quiet}'[suppress all messages except errors]' \ '(--help --version)--format=[specify output format]:format:(text json)' \ + '(--help --version)--log=[set log level]:level:(default info verbose debug quiet)' \ '(--version)1: :->groups' \ '2: :->cmds' \ '*:: :->args' && ret=0 @@ -151,7 +152,7 @@ while (( $#state )); do filesystem:defragment) args+=( '!-v' '-r[defragment files recursively]' - '-c+[compress files while defragmenting]::compression algorithm:(zlib lzo zstd)' + '-c-[compress files while defragmenting]::compression algorithm:(zlib lzo zstd)' '-r[defragment files recursively]' '-f[flush after defragmenting]' '-s[start position]: :_numbers -u bytes -d "beginning of file" offset K M G T P E' @@ -171,6 +172,13 @@ while (( $#state )); do '1: :_guard "^-*" uuid or label' ) ;; + filesystem:mkswapfile) + args+=( + '-s[size]: :_numbers -d "2GiB" size K M G T P E' + '(-u --uuid)'{-u,--uuid}'[specify a uuid to use]:uuid:(clear random time)' + ':file:_files' + ) + ;; filesystem:usage) args+=( '-T[show data in tabular format]' );; device:(add|delete|ready|remove)) args+=( @@ -194,6 +202,7 @@ while (( $#state )); do args+=( '(-c --check)'{-c,--check}'[return non-zero if any stat counter is not zero]' '(-z --reset)'{-z,--reset}'[reset stats when done]' + '-T[show current stats in tabular format]' "1:device or mountpoint:_files -g '*(-%,/)'" ) ;; @@ -233,7 +242,7 @@ while (( $#state )); do ;; balance:status) args+=( '!-v' '!--verbose' '1:path:_files -/' );; balance:(pause|cancel|resume)) args+=( '1:path:_files -/' );; - property:set) args+=( '3:value' );& + property:set) args+=( '-f[force the change]' '3:value' );& property:get) args+=( '2:property:(ro label compression)' );& property:list) args+=( @@ -244,8 +253,9 @@ while (( $#state )); do quota:(enable|disable)) args+=( '1:path:_files -/' );; quota:rescan) args+=( - '-s[show status of currently running rescan]' - '-w[wait for rescan to finish]' + '(-s --status)'{-s,--status}'[show status of currently running rescan]' + '(-w --wait -W --wait-norescan)'{-w,--wait}'[wait for rescan to finish]' + '(-w --wait -W --wait-norescan)'{-w,--wait-norescan}'[wait for rescan to finish without starting it]' '1:path:_files -/' ) ;; @@ -268,11 +278,14 @@ while (( $#state )); do '-F[list impacted qgroups \(include ancestral qgroups\)]' '-f[list impacted qgroups \(exclude ancestral qgroups\)]' '--sort=-[sort qgroups]:sort:_values -s , sort \ - qgroupid rfer excl max_rfer max_excl' + qgroupid rfer excl max_rfer max_excl path' '--sync[do filesystem sync before getting information]' '1:path:_files -/' ) ;; + qgroup:clear-stale) + args+=( '(-q --quiet)'{-q,--quiet}'[print only errors]' '1:path:_files -/' ) + ;; qgroup:limit) args+=( '-c[limit amount of data after compression]' @@ -287,6 +300,7 @@ while (( $#state )); do '-r[read from specified source device only]:srcdev:_files' '-f[force overwriting of target]' "-B[don't background]" + '(-K --nodiscard)'{-K,--nodiscard}"[don't perform whole device TRIM]" ':srcdev or devid:_files' ':target:_files' ':path:->mounts' @@ -332,6 +346,12 @@ while (( $#state )); do '2:filesystem path:_files -/' ) ;; + inspect*:map-swapfile) + args+=( + '(-r --resume-offset)'{-r,--resume-offset}'[print only the value suitable as resume offset for file /sys/power/resume_offset]' + ':file:_files' + ) + ;; inspect*:min*) args+=( '--id[specify the device id to query]:device id [1]' );; inspect*:rootid) args+=( '1:path:_files -/' );; inspect*:tree*) args+=( '-b[print raw numbers in bytes]' );; @@ -395,6 +415,8 @@ while (( $#state )); do '*-c[use snapshot as clone source]:clone:_files -/' '-f[specify output file]:file:_files' '--no-data[send in NO_FILE_DATA mode]' + '--proto[specify protocol version]:version' + '--compressed-data[send data that is compressed on the filesystem directly without decompressing it]' '1:subvolume:_files -/' ) ;; @@ -405,6 +427,7 @@ while (( $#state )); do '(-C --chroot)'{-C,--chroot}'[confine the process to destination path using chroot(1)]' '(-E --max-errors)'{-E,--max-errors}'[terminate as soon as specified number of errors occur]:errors [1]' '(--dump)-m[specify root mount point of the destination filesystem]:mount point:_directories' + '--force-decompress[if the stream contains compressed data, always decompress it]' '(-m)--dump[dump stream metadata, one line per operation]' '1:mount:->mounts' ) diff --git a/Completion/Linux/Command/_ethtool b/Completion/Linux/Command/_ethtool index 95a8bbfb6..3e3fc0b1d 100644 --- a/Completion/Linux/Command/_ethtool +++ b/Completion/Linux/Command/_ethtool @@ -4,7 +4,7 @@ local curcontext="$curcontext" local -a state line expl cmds local -A opt_args -_arguments -C \ +_arguments -C -A "-*" \ '--debug[turn on debugging messages]:mask:((1\:parser\ information))' \ '--json[output results in JSON]' \ '(-I --include-statistics)'{-I,--include-statistics}'[include command-related statistics in the output]' \ @@ -59,12 +59,21 @@ _arguments -C \ '--cable-test[perform cable test and report the results]' \ '--cable-test-tdr[perform cable test and report Time Domain Reflectometer data]' \ '--show-tunnels[show tunnel-related device capabilities and state]' \ + '--show-module[show transceiver module settings]' \ + '--set-module[set transceiver module settings]' \ + '--get-plca-cfg[get PLCA configuration]' \ + '--set-plca-cfg[set PLCA configuration]' \ + '--get-plca-status[get PLCA status information]' \ + '--show-mm[show MAC merge layer state]' \ + '--set-mm[set MAC merge layer parameters]' \ + '--show-pse[show settings for power sourcing equipment]' \ + '--set-pse[set power sourcing equipment settings]' \ '--monitor[listen to netlink notifications and displays them]::command:( --all -s --change -k --show-features --show-offload -K --features --offload --show-priv-flags --set-priv-flags -g --show-ring -G --set-ring -l --show-channels -L --set-channels -c --show-coalesce -C --coalesce -a --show-pause -A --pause --show-eee --set-eee - --cable-test --cable-test-tdr + --cable-test --cable-test-tdr --show-module --set-module )' && return if [[ -n $state ]]; then @@ -79,22 +88,30 @@ if [[ -n $state ]]; then fi ;; autoneg|adaptive-[rt]x|raw|hex|sg|tso|ufo|gso|lro|eee|tx-lpi|downshift) ;& - fast-link-down|energy-detect-power-down|mode) + cqe-mode-[rt]x|fast-link-down|energy-detect-power-down|mode) ;& + [tr]x-push|enable|*-enabled) _wanted onoff expl 'enabled' compadd off on ;; rx-usecs|rx-frames|rx-usecs-irq|rx-frames-irq|tx-usecs|tx-frames) ;& tx-usecs-irq|tx-frames-irq|stats-block-usecs|pkt-rate-low|rx-usecs-low) ;& rx-frames-low|tx-usecs-low|tx-frames-low|pkt-rate-high|rx-usecs-high) ;& - rx-frames-high|tx-usecs-high|tx-frames-high|sample-interval|dmac|rx-mini) ;& - rx-jumbo|offset|length|magic|value|phyad|proto|tos|tclass|l4proto|src-port) ;& + rx-frames-high|tx-usecs-high|tx-frames-high|sample-interval|dmac) ;& + tx-aggr-max-bytes|tx-aggr-max-frame|tx-aggr-time-usec) ;& + rx-mini|rx-jumbo|rx-buf-len|cqe-size|tx-push-buf-len) ;& + offset|length|magic|value|phyad|proto|tos|tclass|l4proto|src-port) ;& dst-port|spi|l4data|vlan-etype|vlan|user-def|action|vf|queue|loc) ;& page|bank|i2c|first|last|step|pair|lanes) ;& - rx-copybreak|tx-copybreak|pfc-prevention-tout) ;& - other|combined|tx-timer|count|msecs) + rx-copybreak|tx-copybreak|tx-buf-size|pfc-prevention-tout) ;& + other|combined|tx-timer|count|msecs) ;& + node-id|node-cnt|to-tmr|burst-cnt|burst-tmr) ;& + tx-min-frag-size) _message -e numbers 'number' ;; + podl-pse-admin-control) + _wanted values expl 'value' compadd enable disable + ;; speed) - _wanted -x speed expl 'speed' compadd 10 100 1000 + _wanted -x speed expl 'speed' compadd 10 100 1000 ;; duplex) _wanted duplex expl 'duplex mode' compadd half full @@ -166,8 +183,14 @@ if [[ -n $state ]]; then context) _message -e contexts 'RSS context' ;; + power-mode-policy) + _wanted policies expl 'policy' compadd high auto + ;; *) case ${${(Mk)opt_args:#cmd?*}[1]#cmd?-} in + -a|--show-pause) + _arguments '--src=-:source:(aggregate emac pmac)' + ;; -A|--pause) _values -S ' ' -w 'pause parameter' \ 'autoneg[specify if pause autonegotiation is enabled]' \ @@ -177,14 +200,16 @@ if [[ -n $state ]]; then -C|--coalesce) _wanted settings expl 'coalescing setting' compadd -F line -M 'r:|-=* r:|=*' - \ adaptive-{r,t}x {r,t}x-{usecs,frames}{,-irq,-high,-low} \ - stats-block-usecs pkt-rate-{low,high} sample-interval + stats-block-usecs pkt-rate-{low,high} sample-interval cqe-mode-{r,t}x \ + tx-aggr-{max-bytes,max-frames,time-usecs} ;; -G|--set-ring) _values -S ' ' -w 'ring parameter' \ 'rx[change number of ring entries for the RX ring]' \ 'rx-mini[change number of ring entries for the RX Mini ring]' \ 'rx-jumbo[change number of ring entries for the RX Jumbo ring]' \ - 'tx[change number of ring entries for the TX ring]' + 'tx[change number of ring entries for the TX ring]' \ + rx-buf-len cqe-size tx-push rx-push tx-push-buf-len ;; -d|--register-dump) _values -S ' ' -w 'option' \ @@ -216,7 +241,9 @@ if [[ -n $state ]]; then (( CURRENT = 4 )) && _message -e length 'duration (seconds)' ;; -S|--statistics) - _arguments '(-)--all-groups' '(-)--groups:eth-phy: :eth-mac: :eth-ctrl: :rmon' + _arguments '(-)--all-groups' \ + '(-)--groups:eth-phy: :eth-mac: :eth-ctrl: :rmon' \ + '--src=-:source:(aggregate emac pmac)' \ ;; -t|--test) _values -S ' ' -w 'test mode' \ @@ -318,7 +345,7 @@ if [[ -n $state ]]; then ;; --[gs]et-tunable) _wanted options expl tunable compadd rx-copybreak tx-copybreak \ - pfc-prevention-tout + tx-buf-size pfc-prevention-tout ;; --reset) _wanted components expl component compadd flags dedicated all \ @@ -341,6 +368,13 @@ if [[ -n $state ]]; then --cable-test-tdr) _wanted options expl 'distance options' compadd first last step pair ;; + --set-module) + _wanted options expl tunable compadd power-mode-policy + ;; + --set-plca-cfg) + _wanted options expl tunable compadd enable node-id node-cnt \ + to-tmr burst-cnt burst-tmr + ;; esac ;; esac diff --git a/Completion/Linux/Command/_gpasswd b/Completion/Linux/Command/_gpasswd index 24fe361b0..d5d16ebba 100644 --- a/Completion/Linux/Command/_gpasswd +++ b/Completion/Linux/Command/_gpasswd @@ -5,7 +5,7 @@ _arguments -s \ '(-d --delete -a --add)'{-d,--delete}'[remove user from group]: : _users' \ '(-)'{-h,--help}'[display help]' \ '(-Q --root)'{-Q,--root}'[specify directory to chroot into]: : _files -/' \ - '(-r --remove-password)'{-r,--remove-password}'[remove the group password]' \ + '(-r --delete-password)'{-r,--delete-password}'[remove the group password]' \ '(-R --restrict)'{-R,--restrict}'[restrict access to GROUP to its members]' \ '(-M --members -A --administrators)'{-M,--members}'[set the list of members of GROUP]: :_sequence _users' \ '(-A --administrators -M --members)'{-A,--administrators}'[set the list of admins for GROUP]: :_sequence _users' \ diff --git a/Completion/Linux/Command/_iptables b/Completion/Linux/Command/_iptables index 27c801da1..892c48710 100644 --- a/Completion/Linux/Command/_iptables +++ b/Completion/Linux/Command/_iptables @@ -1,7 +1,7 @@ -#compdef iptables iptables-save iptables-restore ip6tables ip6tables-save ip6tables-restore +#compdef iptables iptables-save iptables-restore ip6tables ip6tables-save ip6tables-restore arptables ebtables -local curcontext="$curcontext" state line expl i ret=1 -local -a cmds rcmds ropts rules states prev args +local curcontext="$curcontext" i ret=1 +local -a state line expl cmds rcmds ropts rules states prev args case $service in iptables-save | ip6tables-save) @@ -24,12 +24,12 @@ cmds=( -P --policy -E --rename-chain -h --help -V --version ) ropts=( - -p --protocol -s --src --source -d --dst --destination -j --jump -i + -p --proto --protocol -s --src --source -d --dst --destination -j --jump -i --in-interface -o --out-interface -f --fragment -c --set-counters ) prev=( ${words[1,CURRENT-1]} ) -case ${prev[${prev[(I)-p|--protocol]}+1]}; in +case ${prev[${prev[(I)-p|--proto|--protocol]}+1]}; in tcp) args=( '--tcp-flags[match based on TCP flags in a packet]: :->tcp-flags: :->tcp-flags' @@ -92,7 +92,42 @@ while (( i=words[(ib.i.)-m|--match]+1 )) (( iaddress-types' + '--dst-type[match if the destination address is of given type]:type:->address-types' + '(--limit-iface-out)--limit-iface-in[limit to interface the packet is coming in]' + '(--limit-iface-in)--limit-iface-out[limit to interface the packet is going out]' + ) + ;; + ah) + args+=( '--ahspi[match SPIs in AH header]:*^!:spi' ) + [[ $service = ip6* ]] && args+=( + '--ahlen[total length of this header]:length (octets)' + '--ahres[match if the reserved field is filled with zero]' + ) + ;; + bpf) + args+=( + '--object-pinned[pass a path to a pinned eBPF object]:path:_files' + '--bytecode[pass BPF byte code as generated by nfbpf_compile]:code' + ) + ;; + cgroup) + args+=( + '--path[match cgroup2 membership]:path:_files -W /sys/fs/cgroup' + '--cgroup[match cgroup net_cls classid]:classid' + ) + ;; + cluster) + args+=( + '--cluster-total-nodes[set number of total nodes in cluster]:number' + '--cluster-local-node[set the local node number ID]:number' + '--cluster-local-nodemask[set the local node number ID mask]:mask' + '--cluster-hash-seed[set seed value of the Jenkins hash]:value' + ) + ;; + comment) args+=( '--comment[add comment to rule]:comment' ) ;; conntrack) args+=( '--ctstate[match packet state]:state:->cfstates' @@ -160,30 +195,34 @@ _arguments -C -s \ '(-)'{-V,--version}'[print version information]' \ '(-h --help -V --version)'{-t,--table}'[specify table]:table:(filter nat mangle raw security)' \ "($rcmds $cmds)"{-A,--append}'[append rules to end of specified chain]:chain:->chains' \ + {-C,--check}'[check for the existence of a rule]' \ "($rcmds $cmds -c --set-counters)"{-D,--delete}'[delete rules from specified chain]:chain:->chains::rule number:->rulenums' \ "($rcmds $cmds)"{-I,--insert}'[insert rules before specified rule number]:chain:->chains::rule number:->rulenums' \ "($rcmds $cmds)"{-R,--replace}'[replace a rule]:chain:->chains::rule number:->rulenums' \ - "($rcmds "${(j. .)cmds:#(-Z|--zero)}" $ropts)"{-L,--list}'[list rules in selected chain]::chain:->chains' \ + "($rcmds "${(j. .)cmds:#(-Z|--zero)}" $ropts)"{-L,--list}'[list rules in selected chain]::chain:->chains:rule number:->rulenums' \ + '(-L --list -S --list-rules)'{-S,--list-rules}'[list rules in the form of options to iptables]::chain:->chains::rule number:->rulenums' \ "($rcmds $cmds $ropts)"{-F,--flush}'[flush specified chain (delete all rules)]::chain:->chains' \ "($rcmds "${(j. .)cmds:#(-L|--list)}" $ropts)"{-Z,--zero}'[zero the packet and byte counters]::chain:->chains' \ "($rcmds $cmds)"{-N,--new,--new-chain}'[create a new user-defined chain]:chain name' \ "($rcmds $cmds)"{-X,--delete-chain}'[delete a user-defined chain]:: :->user-chains' \ "($rcmds $cmds)"{-P,--policy}'[set the policy for a chain to given target]:chain:->chains:target:->targets' \ "($rcmds $cmds)"{-E,--rename-chain}'[rename a user-defined chain]:old chain:->user-chains:new chain name' \ - "($cmds -p --protocol)"{-p,--protocol}'[specify protocol of rule]:*^!:protocol:(! tcp udp icmp all)' \ - "($cmds -s --src --source)"{-s,--src,--source}'[specify source]:*^!:network:_hosts' \ - "($cmds -d --dst --destination)"{-d,--dst,--destination}'[specify destination]:*^!:network:_hosts' \ + "($cmds -p --proto --protocol)"{-p,--proto,--protocol}'[specify protocol of rule]:*^!:protocol:(! tcp udp icmp all)' \ + "($cmds -s --src --source)"{-s,--src,--source}'[specify source]:*^!:network:_sequence _hosts' \ + "($cmds -d --dst --destination)"{-d,--dst,--destination}'[specify destination]:*^!:network:_sequence _hosts' \ "($cmds -j --jump)"{-j,--jump}'[specify rule target]:target:->targets' \ "($cmds -i --in-interface)"{-i,--in-interface}'[specify interface via which packet is received]:*^!:interface:_net_interfaces' \ "($cmds -o --out-interface)"{-o,--out-interface}'[specify interface via which packet is to be sent]:*^!:interface:_net_interfaces' \ "($cmds -f --fragment)"{-f,--fragment}'[match second or further fragments only]' \ "($cmds -D --delete -c --set-counters)"{-c,--set-counters}'[initialise packet and byte counters]:packets: :bytes' \ '(-v --verbose)'{-v,--verbose}'[enable verbose output]' \ + '(-w --wait)'{-w,--wait}'[specify maximum wait to acquire xtables lock before giving up]: :_numbers -u seconds -d 1 wait' \ + '(-W --wait-interval)'{-W,--wait-interval}'[specify wait time to try to acquire xtables lock]: :_numbers -u usecs -d "1 second" wait' \ '(-n --numeric)'{-n,--numeric}'[print IP addresses and port numbers in numeric format]' \ '(-x --exact)'{-x,--exact}'[expand numbers (display exact values)]' \ '--line-numbers[print line numbers when listing]' \ '--modprobe=[specify command to load modules with]:command:_command_names -e' \ - "($cmds)*"{-m,--match}'[extended match (may load extension)]:extension:(ah conntrack dscp esp helper icmp length limit mac mark multiport owner physdev pkttype state tcp tos ttl udp unclean)' \ + "($cmds)*"{-m,--match}'[extended match (may load extension)]:extension:(addrtype ah bpf cgroup cluster comment connbytes connlabel connlimit connmark conntrack cpu dccp devgroup dscp dsr ecn esp eui64 frag hashlimit hbh helper hl icmp icmp6 iprange ipv6header ipvs length limit mac mark mh multiport nfacct osf owner physdev pkttype policy quota rateest realm recent rpfilter rt sctp set socket state statistic string tcp tcpmss time tos ttl u32 udp unclean)' \ "$args[@]" && ret=0 case "$state" in @@ -230,6 +269,11 @@ case "$state" in [[ "$state" = cf* ]] && states+=( SNAT DNAT ) _values -s , 'state' $states && return ;; + address-types) + _wanted address-types expl 'address type' compadd \ + UNSPEC UNICAST LOCAL BROADCAST ANYCAST MULTICAST \ + BLACKHOLE UNREACHABLE PROHIBIT THROW NAT XRESOLVE && ret=0 + ;; port-list) compset -P '*,' if compset -S ',*'; then diff --git a/Completion/Linux/Command/_strace b/Completion/Linux/Command/_strace index b1c7e1c8f..37e14b6d6 100644 --- a/Completion/Linux/Command/_strace +++ b/Completion/Linux/Command/_strace @@ -17,6 +17,7 @@ _arguments -C -s \ '(-D)--daemonize=-[specify how to run tracer process]::method:(grandchild pgroup session)' \ '(-f --follow-forks)'{-f,--follow-forks}'[trace child processes as they are created by currently traced processes]' \ '(-I --interruptible)'{-I+,--interruptible=}'[specify when strace can be interrupted by signals]:interruptible:((1\:"no signals are blocked" 2\:"fatal signals are blocked while decoding syscall (default)" 3\:"fatal signals are always blocked (default with -o)" 4\:"fatal signals and SIGTSTP are always blocked"))' \ + '--kill-on-exit[kill all tracees if strace is killed]' \ \*{-e+,--trace=}'[select events to trace or how to trace]:system call:->expressions' \ \*{-P+,--path=}'[trace only system calls accessing given path]:path:_files' \ '(-z -Z --successful-only --failed-only)'{-z,--successful-only}'[trace only system calls that return success]' \ diff --git a/Completion/Linux/Command/_sysstat b/Completion/Linux/Command/_sysstat index 0baae0764..59a2f5da9 100644 --- a/Completion/Linux/Command/_sysstat +++ b/Completion/Linux/Command/_sysstat @@ -56,6 +56,7 @@ _sadf() { '--dev=-[specify block devices for which statistics are to be displayed]:block device:_files -g "*(-%)"' \ '--fs=-[specify filesystems for which statistics are to be displayed]:file system:_dir_list -s ,' \ '--iface=-[specify network interfaces for which statistics are to be displayed]:network interface:_sequence _net_interfaces' \ + '--int=-[specify interrupts for which statistics are to be displayed]: : _values -s "," interrupt 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15' \ '-s[set starting time of report]:starting time (HH\:MM\:SS)"' \ '(-t -U)-T[display timestamp in local time]' \ '(-T -U)-t[display timestamp in file\''s original localtime]' \ @@ -99,9 +100,10 @@ _sar() { '(--human -p)-h[make output easier to read: implies --human and -p]' \ '(- 1 2)--help[display usage information]' \ '--human[print sizes in human readable format]' \ - '*-I[report statistics for interrupts]: : _values -s "," interrupt 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 SUM ALL XALL' \ + '-I[report statistics for interrupts]:interrupt:(SUM ALL)' \ '-i[select records as close as possible to interval]:interval' \ '--iface=-[specify network interfaces for which statistics are to be displayed]:network interface:_sequence _net_interfaces' \ + '--int=-[specify interrupts for which statistics are to be displayed]: : _values -s "," interrupt 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15' \ '-j[display persistent device names]:type:(ID LABEL PATH UUID)' \ '-m[report power management statistics]:keyword:_sequence compadd - CPU FAN FREQ IN TEMP USB ALL' \ '-n[report network statistics]:keyword:_sequence compadd - DEV EDEV NFS NFSD SOCK IP EIP ICMP EICMP TCP ETCP UDP SOCK6 IP6 EIP6 ICMP6 EICMP6 UDP6 FC SOFT ALL' \ diff --git a/Completion/Linux/Command/_valgrind b/Completion/Linux/Command/_valgrind index b4bb3248e..e1498be6d 100644 --- a/Completion/Linux/Command/_valgrind +++ b/Completion/Linux/Command/_valgrind @@ -216,7 +216,7 @@ _arguments -C ${(P)args} $cmd \ '--vgdb=-[activate gdbserver]:enable [yes]:(yes no full)' \ '--vgdb-error=-[invoke gdbserver after specified number of errors]:errors [999999999]:errors' \ '--vgdb-stop-at=-[invoke gdbserver for given events]:event:_sequence compadd - startup exit valgrindabexit all none' \ - '--track-fds=-[track open file descriptors]:enable:(yes no)' \ + '--track-fds=-[track open file descriptors]:enable [no]:(yes no all)' \ '--time-stamp=-[add timestamps to log messages]:enable:(yes no)' \ '--log-fd=-[log messages to specified file descriptor]:file descriptor:_file_descriptors' \ '--log-file=-[log messages to specified file with pid appended]:file:_files' \ diff --git a/Completion/Redhat/Command/_rpm b/Completion/Redhat/Command/_rpm index d00f88429..97f65cd6c 100644 --- a/Completion/Redhat/Command/_rpm +++ b/Completion/Redhat/Command/_rpm @@ -74,6 +74,7 @@ _rpm () { selectopts=( {-a,--all}'[query all packages]' {-f,--file}'[query packages that own specified files]' + '--path[query packages that own specified files, installed or not]' {-p,--package}'[query uninstalled packages]' {-g,--group}'[query packages in one of specified groups]' --pkgid --hdrid --tid --querybynumber @@ -165,9 +166,7 @@ _rpm () { {-F+,--freshen}'[freshen mode]:*:upgrade:->upgrade' {-e+,--erase}'[uninstall mode]:*:uninstall:->uninstall' '--reinstall[reinstall mode]:*:install:->install' - '--setperms[set file permissions]:*:package:->setattrs' - '--setugids[set file owner/group]:*:package:->setattrs' - '--setcaps[set capabilities of files in the given package]:*:package:->setattrs' + '!--set'{perms,ugids,caps}':*:package:->setattrs' '--restore[restore owner, group, permissions and capabilities of files in the given package]:*:package:->setattrs' ) ;; @@ -261,13 +260,15 @@ _rpm () { install) _arguments -s -C \!{-i,--install,-U,--upgrade,-F,--freshen} $tmp \ $commonopts $pathopts \ + '(--nodb)--justdb[update the database but not the filesystem]' \ + '(--justdb)--nodb[update the filesystem but not the database]' \ '--excludepath=:file to exclude:_files -/' \ '--relocate:relocate:->relocate' \ '--prefix=[relocate the package]:package prefix directory:_files -/' \ '(-h --hash)'{-h,--hash}'[print hash marks as package installs]' \ '(--replacepkgs --replacefiles --oldpackage)--force' \ '(--force)--'{replacefiles,replacepkgs} \ - --{aid,allfiles,badreloc,excludedocs,ignorearch,ignoreos,ignoresize,includedocs,justdb,percent,test} \ + --{aid,allfiles,badreloc,excludedocs,ignorearch,ignoreos,ignoresize,includedocs,percent,test} \ --no{deps,filedigest,contexts,caps,order,suggest,pre,post,preun,postun,trigger{s,in,un,postun}} \ '(--nopre --nopost --nopreun --nopostun)--noscripts' \ '*:pkg file:->package_file' @@ -275,7 +276,9 @@ _rpm () { uninstall) _arguments -s -C \!{-e,--erase} \ "${commonopts[@]}" "${pathopts[@]}" \ - --{allmatches,justdb,repackage,test} \ + '(--nodb)--justdb[update the database but not the filesystem]' \ + '(--justdb)--nodb[update the filesystem but not the database]' \ + --{allmatches,repackage,test} \ --no{deps,scripts,preun,postun,trigger{s,un,postun}} \ '*:package:->package' ;; diff --git a/Completion/Solaris/Command/_pkg5 b/Completion/Solaris/Command/_pkg5 index bcd4e3daf..5524e4eda 100644 --- a/Completion/Solaris/Command/_pkg5 +++ b/Completion/Solaris/Command/_pkg5 @@ -378,6 +378,7 @@ _pkg5() { '--non-sticky[Make this publisher non-sticky]' \ '--search-after[Set publisher search-order]:publisher:_pkg5_pubs' \ '--search-before[Set publisher search-order]:publisher:_pkg5_pubs' \ + '--search-first[set the specified publisher first in the search order]' \ '--approve-ca-cert[Add trusted CA certificate]:CA cert path:_path_files' \ '--revoke-ca-cert[Revoke CA certificate]:CA cert hash:(${${certs#/etc/openssl/certs/}%.0})' \ '--unset-ca-cert[Remove trusted CA certificate]:CA cert hash:' \ diff --git a/Completion/Unix/Command/_awk b/Completion/Unix/Command/_awk index e8f4a2530..b69cc5cf8 100644 --- a/Completion/Unix/Command/_awk +++ b/Completion/Unix/Command/_awk @@ -50,6 +50,7 @@ case $variant in {-D-,--debug=-}'[enable debugging]::debugger command file:_files' {-g,--gen-pot}'[scan awk program and generate .po file on stdout]' '*'{-i+,--include}'[load source library]:library file:->script' + {-I,--trace}'[print internal byte code names as they are executed]' '*'{-l+,--load}'[load dynamic extension]:extension:->extension' {-M,--bignum}'[select arbitrary-precision arithmetic on numbers]' {-o-,--pretty-print=-}'[pretty-print awk program]::output file:_files' diff --git a/Completion/Unix/Command/_cat b/Completion/Unix/Command/_cat index 74d7278b8..526c49e31 100644 --- a/Completion/Unix/Command/_cat +++ b/Completion/Unix/Command/_cat @@ -38,6 +38,9 @@ elif [[ "$OSTYPE" == (*bsd|dragonfly|darwin)* ]]; then '-B+[read with buffer of specified size]:size (bytes)' '-f[only attempt to display regular files]' ) + [[ $OSTYPE = darwin* ]] && args+=( + '-l[set an exclusive advisory lock on standard output]' + ) elif [[ $OSTYPE = solaris* ]]; then args=( -A "-*" diff --git a/Completion/Unix/Command/_dbus b/Completion/Unix/Command/_dbus index 37b5458d7..d2a93152c 100644 --- a/Completion/Unix/Command/_dbus +++ b/Completion/Unix/Command/_dbus @@ -8,11 +8,13 @@ case $service in dbus-send) _arguments -A "--*" -C \ '(--session)--system' '(--system)--session' \ - '--address=-:bus address:->addresses' \ + '--bus=-:bus address:->addresses' \ + '--peer=-:bus address:->addresses' \ '--dest=-:connection:->connections' \ '--print-reply=-::format:(literal)' \ '--reply-timeout=-:timeout (ms)' \ - '--type=-:type:(method_call signal)' \ + '--sender=-:name' \ + '--type=-:type [signal]:(method_call signal)' \ '(* -)--help' \ ':object path:->objectpaths' \ ':message name:->methods' \ diff --git a/Completion/Unix/Command/_dd b/Completion/Unix/Command/_dd index 10682bc8e..c55efb68c 100644 --- a/Completion/Unix/Command/_dd +++ b/Completion/Unix/Command/_dd @@ -74,7 +74,7 @@ case $variant in vals+=( 'status[specify level of information to print to stderr]:level:(none noxfer progress)' ) - flags+=( fullblock noatime nocache count_bytes skip_bytes seek_bytes ) + flags+=( fullblock noatime nocache ) conv+=( excl nocreat fdatasync fsync ) units=( c:1 w:2 b:512 kB:1000 K:1024 MB:1000^2 M:1024\^2 GB G TB T PB P EB E ZB Z YB Y ) ;; diff --git a/Completion/Unix/Command/_dig b/Completion/Unix/Command/_dig index 3081e2cfd..c09bebbe5 100644 --- a/Completion/Unix/Command/_dig +++ b/Completion/Unix/Command/_dig @@ -6,8 +6,9 @@ local -a alts args '*+'{no,}'tcp[use TCP instead of UDP for queries]' '*+'{no,}'ignore[ignore truncation in UDP responses]' '*+domain=[set search list to single domain]:domain:_hosts' - '*+dscp=[set DSCP code point for query]:code point (0..63)' + '!*+dscp=:code point (0..63)' '*+'{no,}'search[use search list defined in resolv.conf]' + '!*+'{no,}defname '*+'{no,}'showsearch[show intermediate results in domain search]' '*+split[split hex/base64 fields into chunks]:width (characters) [56]' '*+'{no,}'aaonly[set aa flag in the query]' @@ -18,6 +19,7 @@ local -a alts args '*+'{no,}'class[display the CLASS whening printing the record]' '*+'{no,}'cookie[add a COOKIE option to the request]' '*+'{no,}'crypto[display cryptographic fields in DNSSEC records]' + '*+'{no,}'dns64prefix[get the DNS64 prefixes from ipv4only.arpa]' '*+edns=[specify EDNS version for query]:version (0-255)' '*+noedns[clear EDNS version to be sent]' '*+ednsflags=[set EDNS flags bits]:flags' @@ -27,11 +29,15 @@ local -a alts args '*+'{no,}'expandaaaa[expand AAAA records]' '*+'{no,}'expire[send an EDNS Expire option]' '*+'{no,}'header-only[send query without a question section]' + '*+'{no,}'https=[DNS-over-HTTPS POST mode]::endpoint [/dns-query]' + '!*+'{no,}'https-post=::endpoint [/dns-query]' + '*+'{no,}'https-get=[DNS-over-HTTPS GET mode]::endpoint [/dns-query]' + '*+'{no,}'http-plain=[DNS-over-HTTP POST mode]::endpoint [/dns-query]' + '*+'{no,}'http-plain-get=[DNS-over-HTTP GET mode]::endpoint [/dns-query]' '*+'{no,}'idnin[set processing of IDN domain names on input]' '*+'{no,}'idnout[set conversion of IDN puny code on output]' '*+'{no,}'keepalive[request EDNS TCP keepalive]' '*+'{no,}'keepopen[keep TCP socket open between queries]' - '*+'{no,}'mapped[allow mapped IPv4 over IPv6 to be used]' '*+'{no,}'recurse[set the RD (recursion desired) bit in the query]' '*+'{no,}'nssearch[search all authoritative nameservers]' '*+opcode[set DNS message opcode of the request]:opcode [QUERY]:(QUERY IQUERY STATUS NOTIFY UPDATE)' @@ -39,10 +45,12 @@ local -a alts args '*+'{no,}'trace[trace delegation down from root]' '*+'{no,}'cmd[print initial comment in output]' '*+'{no,}'short[print terse output]' + '*+'{no,}'showbadcookie[show BADCOOKIE message]' '*+'{no,}'identify[print IP and port of responder]' '*+'{no,}'comments[print comment lines in output]' '*+'{no,}'stats[print statistics]' '*+padding[set padding block size]:size [0]' + '*+qid=[specify query ID]:query ID' '*+'{no,}'qr[print query as it was sent]' '*+'{no,}'question[print question section of a query]' '*+'{no,}'raflag[set RA flag in the query]' @@ -52,6 +60,11 @@ local -a alts args '*+'{no,}'subnet[send EDNS client subnet option]:addr/prefix-length' '*+'{no,}'tcflag[set TC flag in the query]' '*+timeout=[set query timeout]:timeout (seconds) [5]' + '*+'{no,}'tls[DNS-over-TLS mode]' + '*+'{no,}"tls-ca=[enable remote server's TLS certificate validation]:file:_files" + '*+'{no,}"tls-hostname=[explicitly set the expected TLS hostname]:hostname" + '*+'{no,}'tls-certfile=[load client TLS certificate chain from file]:file:_files' + '*+'{no,}'tls-keyfile=[load client TLS private key from file]:file:_files' '*+tries=[specify number of UDP query attempts]:tries' '*+retry=[specify number of UDP query retries]:retries' '*+'{no,}'rrcomments[set display of per-record comments]' @@ -65,7 +78,6 @@ local -a alts args '*+'{no,}'nsid[include EDNS name server ID request in query]' '*+'{no,}'ttlid[display the TTL whening printing the record]' '*+'{no,}'ttlunits[display the TTL in human-readable units]' - '*+'{no,}'unexpected[print replies from unexpected sources]' '*+'{no,}'unknownformat[print RDATA in RFC 3597 "unknown" format]' '*+'{no,}'yaml[present the results as YAML]' '*+'{no,}'zflag[set Z flag in query]' diff --git a/Completion/Unix/Command/_dmidecode b/Completion/Unix/Command/_dmidecode index 047b74f6d..e2c511313 100644 --- a/Completion/Unix/Command/_dmidecode +++ b/Completion/Unix/Command/_dmidecode @@ -4,6 +4,7 @@ _arguments -s \ '(-d --dev-mem --from-dump)'{-d+,--dev-mem=}'[read memory from specified file]:memory device [/dev/mem]:_files' \ '(-)'{-h,--help}'[display usage information]' \ '(-q --quiet -u --dump)'{-q,--quiet}'[be less verbose]' \ + '--no-quirks[decode everything without quirks]' \ '(-t --type -H --handle -u --dump --dump-bin -s --string)'{-s+,--string=}'[only display value of specified DMI string]:DMI string:(bios-vendor bios-version bios-release-date system-manufacturer system-product-name system-version system-serial-number system-uuid baseboard-manufacturer baseboard-product-name baseboard-version baseboard-serial-number baseboard-asset-tag chassis-manufacturer chassis-type chassis-version chassis-serial-number chassis-asset-tag processor-family processor-manufacturer processor-version processor-frequency)' \ '(-s --string -H --handle --dump-bin)*'{-t+,--type=}'[only display entries of specified type]:entry type:(bios system baseboard chassis processor memory cache connector slot)' \ '(-s --string -t --type -H --handle --dump-bin)'{-H,--handle=}'[only display the entry of specified handle]:handle' \ diff --git a/Completion/Unix/Command/_enscript b/Completion/Unix/Command/_enscript index 3e09da5a4..4658ae4bc 100644 --- a/Completion/Unix/Command/_enscript +++ b/Completion/Unix/Command/_enscript @@ -128,7 +128,7 @@ case "$state" in local suf='{' compquote suf if [[ ${PREFIX} = *[%$]D${suf}[^}]# ]]; then - _strftime + _date_formats elif [[ ${(Q)PREFIX} = *\$\([^\)]# ]]; then compset -P '*\(' _parameters -g '*export*' -S '\)' diff --git a/Completion/Unix/Command/_flac b/Completion/Unix/Command/_flac index 82b6f0160..1773061ee 100644 --- a/Completion/Unix/Command/_flac +++ b/Completion/Unix/Command/_flac @@ -85,6 +85,7 @@ case $service in '(-p --qlp-coeff-precision-search -q --qlp-coeff-precision)'{-p,--qlp-coeff-precision-search}'[exhaustively search LP coeff quantization]' \ '(-p --qlp-coeff-precision-search -q --qlp-coeff-precision)'{-q,--qlp-coeff-precision=}'[specify precision]:precision (bits)' \ '(-r --rice-partition-order)'{-r,--rice-partition-order=}'[set min/max residual partition order]:order' \ + "--limit-min-bitrate[don't allow frames consisting of only constant subframes]" \ '--endian=:byte order:(big little)' \ '--channels=:channels' \ '--bps=:bits per sample' \ diff --git a/Completion/Unix/Command/_getent b/Completion/Unix/Command/_getent index b96852db3..5604e526e 100644 --- a/Completion/Unix/Command/_getent +++ b/Completion/Unix/Command/_getent @@ -8,6 +8,7 @@ typeset -A opt_args if _pick_variant -r is_gnu gnu='(Free Soft|GNU|GLIBC|Gentoo)' unix --version; then args+=( '(- 1 *)'{-\?,--help}'[display help information]' + '(-A --no-addrconfig)'{-A,--no-addrconfig}"[don't filter out unsupported IPv4/IPv6 addresses (with ahosts*)]" '(- 1 *)--usage[display a short usage message]' '(- 1 *)'{-V,--version}'[display version information]' '*'{-s+,--service=}'[specify service configuration to use]: :->services' @@ -23,7 +24,7 @@ case $state in services) # @todo GNU getent supports both `-s svc` and `-s db:svc`; we only complete # the former here - services=( {,/usr}/lib/{,*-linux-gnu/}libnss_*(N-.:fr:t:s/libnss_//) ) + services=( {,/usr}/lib{,64}/{,*-linux-gnu/}libnss_*(N-.:fr:t:s/libnss_//) ) _wanted services expl 'service or database:service' \ compadd ${(u)services%-*} \ && ret=0 diff --git a/Completion/Unix/Command/_gnutls b/Completion/Unix/Command/_gnutls index b9f91264d..9b8bcf6ea 100644 --- a/Completion/Unix/Command/_gnutls +++ b/Completion/Unix/Command/_gnutls @@ -4,8 +4,7 @@ local -a args args=( '(- :)'{-h,--help}'[display help information]' - '(- :)--version=[display version information]:information:((v\:simple c\:copyright n\:full))' - '(- :)-v[display version information]' + '(- :)'{-v+,--version=-}'[display version information]:information:((v\:simple c\:copyright n\:full))' '(- :)'{-\!,--more-help}'[display help information through a pager]' '(-d --debug)'{-d,--debug}'[enable debugging]:debug level' \*{-V,--verbose}'[more verbose output]' @@ -17,6 +16,11 @@ case "$service" in '(-p --port)'{-p,--port}'[specify port or service to connect to]:port:_ports' ) ;| + gnutls-*|certtool) + args+=( + '--attime=[perform validation at the timestamp instead of the system time]:timestamp' + ) + ;| gnutls-cli*) args+=( '(--app-proto --starttls-proto)'{--app-proto,--starttls-proto}"=[specify application protocol to use to obtain the server's certificate]:protocol:(https ftp smtp imap ldap xmpp lmtp pop3 nntp sieve postgres)" @@ -30,6 +34,7 @@ case "$service" in '(-u --udp)'{-u,--udp}'[use DTLS (datagram TLS) over UDP]' '--mtu=[set MTU for datagram TLS]:mtu' '--srtp-profiles=[offer SRTP profiles]:string' + '*--compress-cert=[compress certificate]:compression method' '(-b --heartbeat)'{-b,--heartbeat}'[activate heartbeat support]' '--x509fmtder[use DER format for certificates to read from]' '--priority=[specify TLS algorithms and protocols to enable]:(NORMAL PFS SECURE128 SECURE192 SUITEB128 SUITEB192 LEGACY PERFORMANCE NONE)' @@ -94,7 +99,8 @@ case "$service" in '--post-handshake-auth[enable post-handshake authentication under TLS1.3]' '--inline-commands[inline commands of the form ^^]' '--inline-commands-prefix=[change delimiter used for inline commands]:delimiter [^]' - '--fips140-mode[report status of FIPS140-2 mode in gnutls library]' + '--fips140-mode[report status of FIPS140-3 mode in gnutls library]' + '--list-config[report configuration of the library]' '--logfile=[redirect informational messages to a specific file]:file:_files' '--waitresumption[block waiting for the resumption data under TLS1.3]' '--ca-auto-retrieve[enable automatic retrieval of missing CA certificates]' @@ -127,6 +133,7 @@ case "$service" in '--ignore-ocsp-response-errors[ignore any errors when setting the OCSP response]' '--recordsize=[specify maximum record size to advertise]:record size (0-16384)' '--httpdata=[specify data to use as HTTP response]:file:_files' + '--timeout=[specify he timeout period for server]:timeout' ) ;; diff --git a/Completion/Unix/Command/_gpg b/Completion/Unix/Command/_gpg index 5d54865d5..2161d2d24 100644 --- a/Completion/Unix/Command/_gpg +++ b/Completion/Unix/Command/_gpg @@ -93,6 +93,7 @@ fi '--no-default-recipient[reset default recipient]' '*--encrypt-to[specify recipient]:key:->public-keys' '(--encrypt-to)--no-encrypt-to[disable the use of all --encrypt-to keys]' + '--group[set up email aliases]:spec' '-z[specify compression level]:compression level:((0\:no\ compression 1\:minimum 2 3 4 5 6\:default 7 8 9\:maximum))' '(-t --textmode)'{-t,--textmode}'[use canonical text mode]' '(-n --dry-run)'{-n,--dry-run}"[don't make any changes]" @@ -117,6 +118,7 @@ fi '--utf8-strings' '--no-utf8-strings[arguments are not in UTF8]' '(--no-options)--options[specify file to read options from]:options file:_files' "(--options)--no-options[don't read options file]" + '--log-file[write server mode logs to file]:file:_files' '--'{attribute,passphrase,command}'-fd:file descriptor:_file_descriptors' '--sk-comments[include secret key comments when exporting keys]' '(--emit-version)--no-emit-version[omit version string in clear text signatures]' @@ -170,6 +172,9 @@ fi '--ctapi-driver[file to use to access smartcard reader]:file:_files' '--pcsc-driver[file to use to access smartcard reader]:file:_files' '--auto-key-locate:parameters' + '--auto-key-import[import missing key from a signature]' + '--include-key-block[include the public key in signatures]' + '--disable-dirmngr[disable all access to the dirmngr]' '--dump-options[show all options]' ) diff --git a/Completion/Unix/Command/_gprof b/Completion/Unix/Command/_gprof index a7e602fd5..6b97506a6 100644 --- a/Completion/Unix/Command/_gprof +++ b/Completion/Unix/Command/_gprof @@ -4,7 +4,7 @@ local curcontext="$curcontext" state line ret=1 typeset -A opt_args _arguments -C -s -{a,b,c,D,h,i,l,L,r,s,T,v,w,x,y,z} \ - -{A,C,e,E,f,F,J,n,N,O,p,P,q,Q,R,S,t,Z}:'function name:->funcs' \ + -{A,B,C,e,E,f,F,J,n,N,O,p,P,q,Q,R,S,t,Z}:'function name:->funcs' \ '-I:directory:_dir_list' \ '-d-:debug level:' '-k:function names:->pair' \ '-m:minimum execution count:' \ diff --git a/Completion/Unix/Command/_install b/Completion/Unix/Command/_install index 238b8b5bc..881c99620 100644 --- a/Completion/Unix/Command/_install +++ b/Completion/Unix/Command/_install @@ -27,6 +27,7 @@ if _pick_variant gnu='Free Soft' unix --version; then '(-b --backup)--backup=[create backup; optionally specify method]:: :->controls' "${lx}--context=-[like -Z, or specify SELinux security context to set]::SELinux security context:_selinux_contexts -a file_type" '-D[create all leading destination path components]' + '--debug[explain how a file is copied. Implies -v]' '(: -)--help[display help information]' "${lx}--preserve-context[preserve SELinux security context]" '--strip-program=[specify program used to strip binaries]:strip program:_files' diff --git a/Completion/Unix/Command/_less b/Completion/Unix/Command/_less index 69f75fd0e..8772f5771 100644 --- a/Completion/Unix/Command/_less +++ b/Completion/Unix/Command/_less @@ -56,7 +56,7 @@ _arguments -S -s -A "[-+]*" \ '(-L --no-lessopen)'{-L,--no-lessopen}'[ignore the LESSOPEN environment variable]' \ '(-M --LONG-PROMPT -m --long-prompt)'{-m,--long-prompt}'[prompt verbosely]' \ '(-m --long-prompt -M --LONG-PROMPT)'{-M,--LONG-PROMPT}'[prompt very verbosely]' \ - '(-N --LINE-NUMBERS -n --line-numbers)'{-n,--line-numbers}"[don't keep track of line numbers]" \ + '(-N --LINE-NUMBERS -n --line-numbers)'{-n,--line-numbers}'[suppress line numbers in prompts and messages]' \ '(-n --line-numbers -N --LINE-NUMBERS)'{-N,--LINE-NUMBERS}'[show line numbers]' \ '(* -O --LOG-FILE -o --log-file)'{-o+,--log-file=}'[copy input to file]:file:_files' \ '(* -o --log-file -O --LOG-FILE)'{-O+,--LOG-FILE=}'[copy input to file, overwriting if necessary]:file:_files' \ @@ -83,18 +83,39 @@ _arguments -S -s -A "[-+]*" \ '(-\" --quotes)'{'-\"+',--quotes=}'[change quoting character]:quoting characters' \ '(-~ --tilde)'{-~,--tilde}"[don't display tildes after end of file]" \ '(-\# --shift)'{'-\#+',--shift=}"[specify amount to move when scrolling horizontally]:number" \ + '--exit-follow-on-close[exit F command on a pipe when writer closes pipe]' \ '--file-size[automatically determine the size of the input file]' \ + '--header=[set header size]:lines,columns' \ '--incsearch[search file as each pattern character is typed in]' \ + '--intr=[specify interrupt character instead of ^X]:char [^X]' \ '--line-num-width=[set the width of line number field]:width [7]' \ + '--modelines=[look for vim modelines]:lines to search' \ '--follow-name[the F command changes file if the input file is renamed]' \ '--mouse[enable mouse input]' \ '--no-histdups[remove duplicates from command history]' \ + "--no-number-headers[don't give line numbers to header lines]" \ + "--no-search-headers[don't search in header lines or columns]" \ + "--no-vbell[disable the terminal's visual bell]" \ + '--redraw-on-quit[redraw final screen when quitting]' \ '--rscroll=[set the character used to mark truncated lines]:character [>]' \ '--save-marks[retain marks across invocations of less]' \ + '--search-options=[set default options for every search]: : _values -s "" + "search option" + "E[multi-file]" "F[from first line]" "K[highlight]" + "N[non-matching]" "R[literal]" "W[wrap]" -' \ + '--show-preproc-errors[display a message if preprocessor exits with an error status]' \ + '--proc-backspace[process backspaces for bold/underline]' \ + '--SPECIAL-BACKSPACE[treat backspaces as control characters]' \ + '--proc-return[delete carriage returns before newline]' \ + '--SPECIAL-RETURN[treat carriage returns as control characters]' \ + '--proc-tab[expand tabs to spaces]' \ + '--SPECIAL-TAB[treat tabs as control characters]' \ '--status-col-width=[set the width of the -J status column]:width [2]' \ + '--status-line[highlight or color the entire line containing a mark]' \ '--use-backslash[subsequent options use backslash as escape char]' \ '--use-color[enable colored text]' \ '--wheel-lines=[specify lines to move for each click of the mouse wheel]:lines' \ + '--wordwrap[wrap lines at spaces]' \ "$files[@]" && ret=0 diff --git a/Completion/Unix/Command/_lsof b/Completion/Unix/Command/_lsof index 8afb55e1d..60f59a589 100644 --- a/Completion/Unix/Command/_lsof +++ b/Completion/Unix/Command/_lsof @@ -9,6 +9,7 @@ case $OSTYPE in '-E[display endpoint info for pipes, sockets and pseudoterminal files but not files of the endpoints]' '+E[display endpoint info for pipes, sockets and pseudoterminal files including files of the endpoints]' '-X[skip reporting of info on network connections]' + '*-Z[display or filter by SELinux security context]::context pattern:_selinux_contexts -a domain' ) ;; solaris*) @@ -23,7 +24,6 @@ _arguments -C -s -S $args \ '(-)'{-\?,-h}'[list help]' \ '-a[AND selections]' \ '-b[avoid kernel blocks]' \ - '-C[disable reporting of path name components]' \ '+c[truncate command name to specified characters]:characters' \ '-c[list files with specified command name beginning]:command name' \ '+d[search for open instances for contents of specified dir]:search directory:_files -/' \ @@ -31,16 +31,19 @@ _arguments -C -s -S $args \ '+D[recursively search from specified dir]:search directory:_files -/' \ '-D[direct use of device cache file]:function:((\?\:report\ device\ cache\ file\ paths b\:build\ the\ device\ cache\ file i\:ignore\ the\ device\ cache\ file r\:read\ the\ device\ cache\ file u\:read\ and\ update\ the\ device\ cache\ file))' \ '*-+e[exempt filesystem from blocking kernel calls]:file system:_directories' \ + '-+E[show endpoint information for pipes, sockets, ptys, mqueues and eventfds; with -E, omit endpoint files]' \ '-f[inhibit listing of kernel file structure info]::info type:->file-structures' \ '+f[enable listing of kernel file structure info]::info type:->file-structures' \ '-F[select output fields]:fields:->fields' \ '-g[select by process group id]::process group id:_sequence -s , _pgids' \ + '-H[print human readable sizes]' \ '(*)*-i[select internet files]::address:->addresses' \ '-K+[select listing of tasks of processes]::value:((i\:ignore\ tasks))' \ '-k[specify kernel name list file]:kernel file:_files' \ '-l[inhibit conversion of UIDs to user names]' \ '-L[list no link counts]' \ '+L[list all link counts]::max link count for listed files' \ + '+m[specify or write a mount supplement file]::mount supplement file:_files' \ '-m[specify kernel memory file]:kernel memory file:_files' \ '-M[disable reporting of portmapper registrations]' \ '+M[enable reporting of portmapper registrations]' \ @@ -49,6 +52,7 @@ _arguments -C -s -S $args \ '(-s)-o[list file offset]::digits for file offset' \ '-O[avoid overheads of bypassing potential blocking]' \ '-P[inhibit conversion of port numbers to port names]' \ + '-Q[ignore failed search terms]' \ '-p[list files for specified processes]:process ID:_sequence -s , _pids' \ '-r[repeat listing endlessly]::delay (seconds)' \ '+r[repeat listing until no files listed]::delay (seconds)' \ diff --git a/Completion/Unix/Command/_lua b/Completion/Unix/Command/_lua index 7254d3819..3a1ef4fd7 100644 --- a/Completion/Unix/Command/_lua +++ b/Completion/Unix/Command/_lua @@ -41,6 +41,7 @@ _lua() { _arguments -S -A '-*' : \ '*-e+[execute specified command string]:command string' \ '-E[ignore environment variables]' \ + '-W[turn warnings on]' \ '-i[enter interactive mode]' \ '*-l+[specify library or module to require]: :_lua_libraries' \ '-v[display version information]' \ diff --git a/Completion/Unix/Command/_mpc b/Completion/Unix/Command/_mpc index 7f7adc7b4..c3f93878c 100644 --- a/Completion/Unix/Command/_mpc +++ b/Completion/Unix/Command/_mpc @@ -26,6 +26,7 @@ _mpc_command() { mpc_cmds=( add:"append a song to the end of the current playlist" + albumart:"download album art for the given song and write to stdout" cdprev:"compact disk player-like previous command" channels:"list the channels that other clients have subscribed to" clear:"clear the current playlist" @@ -57,6 +58,7 @@ _mpc_command() { prio:"change song priorities in the queue" queued:"show the next queued song" random:"toggle random mode, or specify state" + readpicture:"download a picture from the given song and write to stdout" repeat:"toggle repeat mode, or specify state" single:"toggle single mode, or specify state" consume:"toggle consume mode, or specify state" @@ -205,6 +207,10 @@ _mpc_add() { _mpc_helper_files } +_mpc_albumart() { + _mpc_helper_files +} + _mpc_del() { _mpc_helper_songnumbers } @@ -304,8 +310,14 @@ _mpc_random() { _mpc_helper_bool } +_mpc_readpicture() { + _mpc_helper_files +} + _mpc_single() { - _mpc_helper_bool + local state + _description states expl state + compadd "$@" "$expl[@]" on once off } _mpc_consume() { diff --git a/Completion/Unix/Command/_nm b/Completion/Unix/Command/_nm index b142c1d54..a78eb7068 100644 --- a/Completion/Unix/Command/_nm +++ b/Completion/Unix/Command/_nm @@ -18,7 +18,7 @@ if _pick_variant -r variant binutils=GNU elftoolchain=elftoolchain elfutils=elfu '(-f --format -P --portability)-B[same as --format=bsd]' '(-u --undefined-only)--defined-only[display only defined symbols]' '(-n --numeric-sort -p --no-sort --size-sort -v)'{-n,--numeric-sort}'[sort symbols numerically by address]' - '(-p --no-sort -n -v --numeric-sort -r --reverse-sort --size-sort)'{-p,--no-sort}'[do not sort symbols]' + '(-p --no-sort -n -v --numeric-sort -r --reverse-sort --size-sort)'{-p,--no-sort}"[don't sort symbols]" '(-P --portability -B -f --format)'{-P,--portability}'[same as --format=posix]' '(-r --reverse-sort -p --no-sort)'{-r,--reverse-sort}'[reverse sort order]' '(-u --undefined-only --defined-only)'{-u,--undefined-only}'[display only undefined symbols]' @@ -60,10 +60,10 @@ if _pick_variant -r variant binutils=GNU elftoolchain=elftoolchain elfutils=elfu args+=( '!(--no-recurse-limit)--recurse-limit' '--no-recurse-limit[disable demangling recursion limit]' - '(-f --format -P -j)'{-f,--format}'[specify output format]:format:(bsd sysv posix just-symbols)' - '(-C --no-demangle)--demangle=-[decode symbol names]::style [auto]:(auto gnu lucid arm hp edg gnu-v3 java gnat rust dlang)' + '(-f --format -P -j --just-symbols)'{-f+,--format=}'[specify output format]:format [bsd]:(bsd sysv posix just-symbols)' + '(-C --no-demangle)--demangle=-[decode symbol names]::style [auto]:(none auto gnu-v3 java gnat dlang rust)' '--ifunc-chars=[specify characters to use for indirect function symbols]:characters for global/local indirect function symbols [ii]' - '(-B -f --format -P --portability -j --just-symbols)'{-j,--just-symbols}'[Same as --format=just-symbols]' + '(-B -f --format -P --portability -j --just-symbols)'{-j,--just-symbols}'[same as --format=just-symbols]' '--plugin[load specified plugin]:plugin' '--quiet[suppress no "no symbols" diagnostic]' '--special-syms[include special symbols in the output]' diff --git a/Completion/Unix/Command/_objdump b/Completion/Unix/Command/_objdump index e2dde7e4c..94c01eb83 100644 --- a/Completion/Unix/Command/_objdump +++ b/Completion/Unix/Command/_objdump @@ -38,8 +38,10 @@ case $variant in '*-W-[display DWARF info in the file]::dwarf section:->short-dwarf-names' '*--dwarf=-[display DWARF info in the file]::dwarf section:->dwarf-names' + '(-L --process-links)'{-L,--process-links}'[display the contents of non-debug sections in separate debuginfo files]' - '--ctf=[display compact C type format info for section]:section' + '--ctf=-[display compact C type format info for section]::section' + '--sframe=-[display SFrame info from section]::section name [.sframe]' '(-t --syms)'{-t,--syms}'[display the contents of the symbol table(s)]' '(-T --dynamic-syms)'{-T,--dynamic-syms}'[display the contents of the dynamic symbol table]' '(-R --dynamic-reloc)'{-R,--dynamic-reloc}'[display the dynamic relocation entries in the file]' @@ -59,11 +61,13 @@ case $variant in \*{-I+,--include=}'[add directory to search list for source files]:directory:_files -/' '(-l --line-numbers)'{-l,--line-numbers}'[include line numbers and filenames in output]' '(-F --file-offsets)'{-F,--file-offsets}'[include file offsets when displaying information]' - '(-C --demangle)-C[decode mangled/processed symbol names]' - '(-C --demangle)--demangle=-[decode mangled/processed symbol names]::style:(auto gnu lucid arm hp edg gnu-v3 java gnat rust dlang)' + '(--demangle)-C[decode symbol names]' + '(-C)--demangle=-[decode symbol names]::style [auto]:(none auto gnu-v3 java gnat dlang rust)' '!(--no-recurse-limit)--recurse-limit' '--no-recurse-limit[disable demangling recursion limit]' '(-w --wide)'{-w,--wide}'[format output for more than 80 columns]' + '-U+[specify how to display unicode characters]:method:(d l e x h i)' + '--unicode=[specify how to display unicode characters]:method:(default locale escape hex highlight invalid)' '(-z --disassemble-zeroes)'{-z,--disassemble-zeroes}"[don't skip blocks of zeroes when disassembling]" '--start-address=[only process data whose address is >= ADDR]:address' @@ -73,15 +77,17 @@ case $variant in '(--show-raw-insn --no-show-raw-insn)'--{,no-}show-raw-insn'[display hex alongside symbolic disassembly]' '--insn-width=[display specified number of bytes on a single line with -d]:width (bytes)' '--adjust-vma=[add offset to all displayed section addresses]:offset' + '--show-all-symbols[when disassembling, display all symbols at a given address]' '--special-syms[include special symbols in symbol dumps]' '--inlines[print all inlines for source line (with -l)]' '--prefix=[add prefix to absolute paths for -S]:prefix' '--prefix-strip=[strip initial directory names for -S]:level' "--dwarf-depth=[don't display DIEs at specified or greater depth]:depth" '--dwarf-start=[display DIEs at specified or deeper depth]:depth' - '--dwarf-check[perform additional dwarf internal consistency checks]' + '--dwarf-check[perform additional dwarf consistency checks]' '--ctf-parent=[use specified section as the CTF parent]:section' '--visualize-jumps=-[visualize jumps by drawing ASCII art lines]::color:(color extended-color off)' + '--disassembler-color=[control use of colored syntax highlighting in disassembly output]:color use [on]:(off terminal on extended)' ) ;; elfutils) diff --git a/Completion/Unix/Command/_pandoc b/Completion/Unix/Command/_pandoc index b0fff80d6..797e73eaa 100644 --- a/Completion/Unix/Command/_pandoc +++ b/Completion/Unix/Command/_pandoc @@ -113,7 +113,7 @@ _pandoc_defaults_file() { # choose reference location (( $+functions[_pandoc_reference_location] )) || -_pandoc_reference_location(){ +_pandoc_reference_location() { local -a policies policies=( 'block:place references at the end of the current (top-level) block' @@ -123,22 +123,16 @@ _pandoc_reference_location(){ _describe 'location' policies } -# choose top level division -(( $+functions[_pandoc_top_level_division] )) || -_pandoc_top_level_division(){ - _values 'top level division' default section chapter part -} - # choose email obfusication (( $+functions[_pandoc_email_obfusication] )) || _pandoc_email_obfusication(){ local -a policies policies=( - 'none:leave mailto: links as they are' - 'javascript:obfuscates them using JavaScript' - 'references:obfuscates them by printing their letters as decimal or hexadecimal character references' + 'none:leave mailto: links as-is' + 'javascript:obfuscate using JavaScript' + 'references:obfuscate by printing letters as decimal or hexadecimal character references' ) - _describe 'obfuscation policy [none]' policies + _describe 'e-mail obfuscation policy [none]' policies } # choose wrapping policy @@ -181,26 +175,26 @@ _pandoc_track_changes() { _arguments -s \ {-f+,-r+,--from=,--read=}'[specify input format]: :_pandoc_format -T input' \ {-t+,-w+,--to=,--write=}'[specify output format]: :_pandoc_format -T output' \ - {-o+,--output=}'[write output to FILE instead of stdout]:file:_files' \ + {-o+,--output=}'[write output to specified file instead of stdout]:file:_files' \ '--data-dir=[specify the user data directory to search for pandoc data files]:data directory:_files -/' \ {-d+,--defaults=}'[read default from YAML file]: :_pandoc_defaults_file' \ '--shift-heading-level-by=[shift heading levels by specified number]:positive or negative integer: ' \ '!--base-header-level=:number [1]:(1 2 3 4 5)' \ - '!--strip-empty-paragraphs[deprecated. Use the +empty_paragraphs extension instead]' \ - '--indented-code-classes=[classes to use for indented code blocks]:class list (comma-separated)' \ + '--indented-code-classes=[specify classes to use for indented code blocks]:class list (comma-separated)' \ '--default-image-extension=[specify a default extension to use when image paths/URLs have no extension]:extension: ' \ '--file-scope[parse each file individually before combining for multifile documents]' \ + '--sandbox=-[run in a sandbox, limiting IO operations]::enable:(true false)' \ {\*-F+,\*--filter=}'[specify an executable to be used as a filter transforming the pandoc AST after the input is parsed and before the output is written]: :_pandoc_filter' \ {\*-L+,\*--lua-filter=}"[transform the document by using pandoc's built-in lua filtering system]: :_pandoc_lua_filter" \ {\*-M+,\*--metadata=}'[set the metadata field KEY to the value VALUE]:key\:value: ' \ '*--metadata-file=[read metadata from file]:YAML or JSON file:_files' \ {-p,--preserve-tabs}'[preserve tabs instead of converting them to spaces]' \ '--tab-stop=[specify the number of spaces per tab]:spaces [4]' \ - '--track-changes=[specifies what to do with insertions, deletions, and comments produced by the MS Word "Track Changes" feature]: :_pandoc_track_changes' \ + '--track-changes=[specify what to do with insertions, deletions, and comments produced by the MS Word "Track Changes" feature]: :_pandoc_track_changes' \ '--extract-media=[extract media in source document to specified directory]:directory:_files -/' \ - '--abbreviations=[specifies a custom abbreviations file]:file:_files ' \ + '--abbreviations=[specify a custom abbreviations file]:file:_files ' \ {-s,--standalone}'[produce output with an appropriate header and footer]' \ - '--template=[use FILE as a custom template for the generated document. Implies --standalone]: :_pandoc_template' \ + '--template=[use specified file as a custom template for the generated document. Implies --standalone]: :_pandoc_template' \ {\*-V+,\*--variable=}'[set the variable KEY to the value VALUE]:key\:value: ' \ '(- :)'{-D+,--print-default-template=}'[print the system default template for an output]:format:( $(pandoc --list-output-formats) )' \ '(- :)--print-default-data-file=[print a system default data file]:file: ' \ @@ -211,43 +205,48 @@ _arguments -s \ {--toc,--table-of-contents}'[include an automatically generated table of contents]' \ '--toc-depth=[specify the number of section levels to include in the table of contents]:number' \ '--strip-comments[strip out HTML comments in the Markdown or Textile source]' \ - '--no-highlight[disables syntax highlighting for code blocks and inlines]' \ - '--highlight-style=[specifies the coloring style to be used in highlighted source code]:style|file:_pandoc_highlight_style' \ + '--no-highlight[disable syntax highlighting for code blocks and inlines]' \ + '--highlight-style=[specify coloring style to be used in highlighted source code]: :_pandoc_highlight_style' \ '(- :)--print-highlight-style=[prints a JSON version of a highlighting style]: :_pandoc_highlight_style' \ '--syntax-definition=[load a KDE XML syntax definition file]:file:_files -g "*.xml(-.)"' \ - {\*-H+,\*--include-in-header=}'[include contents of FILE, verbatim, at the end of the header, implies --standalone]:file:_files' \ - {\*-B+,\*--include-before-body=}'[include contents of FILE, verbatim, at the beginning of the document body, implies --standalone]:file:_files' \ - {\*-A+,\*--include-end-body=}'[include contents of FILE, verbatim, at the end of the document body, implies --standalone]:file:_files' \ + \*{-H+,--include-in-header=}'[include contents of file, verbatim, at the end of the header, implies --standalone]:file:_files' \ + \*{-B+,--include-before-body=}'[include contents of file, verbatim, at the beginning of the document body, implies --standalone]:file:_files' \ + \*{-A+,--include-end-body=}'[include contents of file, verbatim, at the end of the document body, implies --standalone]:file:_files' \ '--resource-path=[list of paths to search for images and other resources]:searchpath:_dir_list' \ '--request-header=[set the request header NAME to the value VAL when making HTTP requests]:name\:val: ' \ '--no-check-certificate[disable the certificate verification]' \ '--self-contained[produce a standalone HTML file with no external dependencies, using data: URIs to incorporate the contents of linked scripts, stylesheets, images, and videos. Implies --standalone]' \ + '--embed-resources=-[produce a standalone HTML document with no external dependencies]::enable:(true false)' \ '--html-q-tags[use tags for quotes in HTML]' \ '--ascii[use only ASCII characters in output, supported only for HTML and DocBook output]' \ '--reference-links[use reference-style links, rather than inline links]' \ '--reference-location=[specify where footnotes (and references, if reference-links is set) are placed (block|section|document)]: :_pandoc_reference_location' \ '--markdown-headings[specify style for level1 and 2 headings in markdown output]:style [atx]:(setext atx)' \ - '!--atx-headers[use ATX-style headers in Markdown and AsciiDoc output]' \ - '--top-level-division=[treat top-level headers as the given division type in LaTeX, ConTeXt, DocBook, and TEI output]: :_pandoc_top_level_division' \ + '--list-tables=-[render tables as list tables in RST output]::enable(true false)' \ + '--top-level-division=[treat top-level headers as given division type in LaTeX, ConTeXt, DocBook and TEI output]:top level division:(default section chapter part)' \ {-N,--number-sections}'[number section headings in LaTeX, ConTeXt, HTML, or EPUB output]' \ - '--number-offset=[offset for section headings in HTML output (ignored in other output formats)]:number[number,...] [0]' \ + '--number-offset=[specify offset for section headings in HTML output (ignored in other output formats)]:number[number,...] [0]' \ '--listings[use the listings package for LaTeX code blocks]' \ {-i,--incremental}'[make list items in slide shows display incrementally (one by one)]' \ - '--slide-level=[specifies that headers with the specified level create slides (for beamer, s5, slidy, slideous, dzslides)]:slide level:(1 2 3 4 5 6)' \ - '--section-divs[wrap sections in
tags (or
tags for html4)Use the section-divs package for LaTeX code blocks]' \ - '--email-obfusication=[treat top-level headers as the given division type in LaTeX, ConTeXt, DocBook, and TEI output (none|javascript|references)]: :_pandoc_email_obfusication' \ + '--slide-level=[divide into slides for headers above the specified level (for beamer, s5, slidy, slideous, dzslides)]: :_pandoc_header_levels' \ + '--section-divs[wrap sections in
tags (or
tags for html4)]' \ + '--email-obfusication=[specify method for obfusicating mailto: links in HTML documents]: :_pandoc_email_obfusication' \ '--id-prefix=[specify a prefix to be added to all identifiers and internal links in HTML and DocBook output]:string: ' \ {-T+,--title-prefix=}'[specify STRING as a prefix at the beginning of the title that appears in the HTML header]:string: ' \ {\*-c+,\*--css=}'[link to a CSS style sheet]: :_urls' \ - '--reference-doc=[use the specified file as a style reference in producing a docx or ODT file]:file: ' \ + '--reference-doc=[use specified file as a style reference in producing a docx or ODT file]:file:_files' \ '--epub-subdirectory=[specify the subdirectory in the OCF container that is to hold the EPUB-specific contents]:directory:_files -/' \ '--epub-cover-image=[use the specified image as the EPUB cover]:file:_files' \ + '--epub-title-page=-[determine whether title page is included in EPUB]::enable [true]:(true false)' \ '--epub-metadata=[look in the specified XML file for metadata for the EPUB]:file:_files -g "*.xml(-.)"' \ '*--epub-embed-font=[embed the specified font in the EPUB]:file:_files ' \ + '--split-level=[specify heading level at which to split an EPUB or chunked HTML into separate files]:heading level' \ + '--chunk-template=[specify filename template for a chunked html document]:template' \ '--epub-chapter-level=[specify the header level at which to split the EPUB into separate "chapter" files]:number:(1 2 3 4 5 6)' \ '--ipynb-output=[specify how to tread ipynb output cells]:method:(all none best)' \ - '--pdf-engine=[use the specified engine when producing PDF output]:program:_pandoc_pdf_engine' \ - '*--pdf-engine-opt=[use the given string as a command-line argument to the pdf-engine]:string:_pandoc_pdf_engine_opts' \ + '--pdf-engine=[use specified engine when producing PDF output]:program:_pandoc_pdf_engine' \ + '*--pdf-engine-opt=[use given string as a command-line argument to the pdf-engine]:string:_pandoc_pdf_engine_opts' \ + '(-C --citeproc)'{-C,--citeproc}'[process citations]' \ "*--bibliography=[set the bibliography field in the document's metadata to specified file]:file:_files -g '*.(bib|bibtex|copac|json|yaml|enl|xml|wos|medline|mods|ris)(-.)'" \ "--csl=[set the csl field in the document's metadata to specified file]:file:_files -g '*.csl(-.)'" \ '--citation-abbreviations=[set the citation-abbreviations field in the document'"'"'s metadata to FILE]:file:_files' \ @@ -257,10 +256,10 @@ _arguments -s \ '--webtex=[convert TeX formulas to tags that link to an external script that converts formulas to images]:: :_urls' \ '--mathjax=[use MathJax to display embedded TeX math in HTML output]:: :_urls' \ '--katex=[use KaTeX to display embedded TeX math in HTML output]:: :_urls' \ - '--gladtex[Enclose TeX math in tags in HTML output]' \ + '--gladtex[enclose TeX math in tags in HTML output]' \ '--trace[enable tracing]' \ - '--dump-args[print information about command-line arguments to stdout, then exit]' \ - '--ignore-args[ignore command-line arguments (for use in wrapper scripts)]' \ + '!--dump-args' \ + '!--ignore-args' \ '--verbose[give verbose debugging output]' \ '--quiet[suppress warning messages]' \ '--fail-if-warnings[exit with error status if there are any warnings]' \ @@ -271,6 +270,7 @@ _arguments -s \ '(- :)--list-extensions=[list supported extensions, one per line, preceded by a + or - indicating whether it is enabled by default in FORMAT]:format:_pandoc_all_formats' \ '(- :)--list-highlight-languages[list supported languages for syntax highlighting, one per line]' \ '(- :)--list-highlight-styles[list supported styles for syntax highlighting, one per line]' \ + '(- :)--print-highlight-style=[print JSON version of a highlighting style]: :_pandoc_highlight_style' \ '(- :)'{-v,--version}'[print version]' \ '(- :)'{-h,--help}'[print help]' \ '*:file:_files' diff --git a/Completion/Unix/Command/_perl b/Completion/Unix/Command/_perl index d7e8f1b51..1631560ce 100644 --- a/Completion/Unix/Command/_perl +++ b/Completion/Unix/Command/_perl @@ -17,6 +17,7 @@ _perl () { '(1 -e)*-E+[like -e but enable all optional features]:one line of program' \ '-f[disable executing $Config{sitelib}/sitecustomize.pl at startup]' \ '-F-[split() pattern for autosplit (-a)]:split() pattern, // is optional' \ + '-g[read all input in one go (slurp), rather than line-by-line (alias for -0777)]' \ '-h[list help summary]' \ '-i-[edit <> files in place (make backup if extension supplied)]:backup file extension: ' \ '*-I-[specify @INC/#include directory (may be used more than once)]:include path:_files -/' \ diff --git a/Completion/Unix/Command/_pgrep b/Completion/Unix/Command/_pgrep index 9c3ddf039..94c1dae1a 100644 --- a/Completion/Unix/Command/_pgrep +++ b/Completion/Unix/Command/_pgrep @@ -34,6 +34,7 @@ arguments=( '(-P --parent)'{-P+,--parent=}'[match only on specified parent process IDs]: :->ppid' '(-l)-q[suppress normal output]' '(-r --runstates)'{-r+,--runstates}'[match runstates]:run state:compadd -S "" D I R S T t W X Z' + '(-A --ignore-ancestors)'{-A,--ignore-ancestors}'[exclude our ancestors from results]' '-S[search also in system processes (kernel threads)]' '(-s --session)'{-s+,--session=}'[match only on specified process session IDs]: :->sid' # _signals is OK here - we do it differently below @@ -44,6 +45,7 @@ arguments=( '(-u --euid)'{-u+,--euid=}'[match only on specified effective user IDs]: :_sequence _users' '(-v --inverse)'{-v,--inverse}'[negate matching]' '(-x --exact)'{-x,--exact}'[match process name or command line (with -f) exactly]' + '--cgroup=[match by cgroup v2 names]:cgroup' '--ns=[match only on same namespaces as specified PID]: :_pids' '--nslist=[match only on specified namespaces (with --ns)]:namespace:(ipc mnt net pid user uts)' '(: * -)'{-V,--version}'[display version information]' @@ -55,6 +57,8 @@ arguments=( '(-w --lightweight)'{-w,--lightweight}'[show all thread IDs instead of PID]' ) [[ $service == pkill ]] && arguments+=( + '(-H --require-handler)'{-H,--require-handler}'[match only if signal handler is present]' + '(-q --queue)'{-q+,--queue=}'[specify value to be sent with the signal]:value' '(-e --echo)'{-e,--echo}'[display signalled process]' '-l[display kill command]' ) @@ -62,8 +66,8 @@ arguments=( case $OSTYPE in linux*) # Note: We deliberately exclude -v but not --inverse from pkill - pgopts=acdFfGghLlnoOPrstUuVvwx- - pkopts=ceFfGghLnoOPstUuVx- + pgopts=AacdFfGghLlnoOPrstUuVvwx- + pkopts=AceFfGgHhLnoOPstUuVx- arguments=( ${arguments:#((#s)|*\))(\*|)-[acl]*} '(-c --count)'{-c,--count}'[display count of matching processes]' diff --git a/Completion/Unix/Command/_ping b/Completion/Unix/Command/_ping index d36a0f3a9..84bd76b82 100644 --- a/Completion/Unix/Command/_ping +++ b/Completion/Unix/Command/_ping @@ -199,7 +199,9 @@ case ${variant}:${${service#ping}:-4} in '-A[adaptive]' '-b[allow pinging a broadcast address]' "-B[don't allow ping to change source address]" + '-C[call connect() syscall on socket creation]' '-D[print timestamp before each line]' + '-e+[define identifier for ping session]:identifier' '(-4)-F+[allocate and set 20-bit flow label]:flow label (hex)' '(-)-h[show usage information]' '-I+[specify source interface]:interface:_net_interfaces' diff --git a/Completion/Unix/Command/_ps b/Completion/Unix/Command/_ps index 905309a12..c3dfae47d 100644 --- a/Completion/Unix/Command/_ps +++ b/Completion/Unix/Command/_ps @@ -163,10 +163,12 @@ case $OSTYPE in '(-N --deselect)'{-N,--deselect}'[negate selection: all processes except those selected]' '*-C[select processes by command name]:command:_sequence -s , _command_names -e' '*--ppid[select processes by parent process ID]:parent process:_sequence -S , _pids' + '(-D --date-format)'{-D,--date-format=}'[set the date format of the lstart field to format]:format:_strftime' '(-f)-F[extra full format listing]' '--context[show SELinux security context format]' '-M[show security data]' '(--forest -H)'{--forest,-H}'[show process hierarchy]' + '-P[add psr column]' '--headers[repeat header lines, one per page of output]' '(--cols --columns --width)'{--cols,--columns,--width}'[set screen width]:width' '(--lines --rows)'{--lines,--rows}'[set screen height]' diff --git a/Completion/Unix/Command/_pv b/Completion/Unix/Command/_pv index d02d3a35d..b21625650 100644 --- a/Completion/Unix/Command/_pv +++ b/Completion/Unix/Command/_pv @@ -17,7 +17,9 @@ _arguments -s -S $args \ '(-I --fineta -F --format)'{-I,--fineta}'[show absolute estimated time of arrival]' \ '(-r --rate -F --format)'{-r,--rate}'[show data transfer rate counter]' \ '(-a --average-rate -F --format)'{-a,--average-rate}'[show data transfer average rate counter]' \ - '(-b --bytes -F --format)'{-b,--bytes}'[show number of bytes transferred]' \ + '(-m --average-rate-window)'{-m+,--average-rate-window=}'[compute average rate over period]:duration (seconds) [30]' \ + '(-b --bytes -8 --bits -F --format)'{-b,--bytes}'[show number of bytes transferred]' \ + '(-8 --bits -b --bytes -F --format)'{-8,--bits}'[show number of bits transferred]' \ '(-T --buffer-percent -F --format)'{-T,--buffer-percent}'[show percentage of transfer buffer in use]' \ '(-A --last-written -F --format)'{-A+,--last-written=}'[show number of bytes last written]:number (bytes)' \ '(-F --format -p --progress -t --timer -e --eta -I --fineta -r --rate -a --average-rate -b --bytes -T --buffer-percent -A --last-written -F --format)'{-F+,--format=}'[set output format]:format:->formats' \ diff --git a/Completion/Unix/Command/_readelf b/Completion/Unix/Command/_readelf index fc0fb7ce1..b3abdf0a5 100644 --- a/Completion/Unix/Command/_readelf +++ b/Completion/Unix/Command/_readelf @@ -16,10 +16,12 @@ args=( '(-V --version-info)'{-V,--version-info}'[show version sections (if present)]' '(-A --arch-specific)'{-A,--arch-specific}'[show architecture specific information (if any)]' '(-c --archive-index)'{-c,--archive-index}'[show symbol/file index in an archive]' + '(-D --use-dynamic)'{-D,--use-dynamic}'[use dynamic section info when showing symbols]' \*{-x,--hex-dump=}"[dump contents of specified section as bytes]:section:($sections)" \*{-p,--string-dump=}"[dump contents of specified section as strings]:section:($sections)" - '-w+[show the contents of DWARF2 debug sections]::debug section:(l L i a p r m f F s o O R t U u T g A c k K)' - '--debug-dump=[show the contents of DWARF2 debug sections]::section:(rawline decodedline info abbrev pubnames aranges macro frames frames-interp str loc Ranges pubtypes gdb_index trace_info trace_abbrev trace_aranges addr cu_index links follow-links)' + '-w+[show the contents of DWARF2 debug sections]::debug section:(a A r c L f F g i o m p t R l s O u T U k K N)' + '--debug-dump=[show the contents of DWARF2 debug sections]::section:(abbrev addr aranges cu_index decodedline frames frames-interp gdb_index info loc macro pubnames pubtypes Ranges rawline str str-offsets trace_abbrev trace_aranges trace_info links follow-links no-follow-links)' + '(-P --process-links)'{-P,--process-links}'[display the contents of non-debug sections in separate debuginfo files]' '(-I --histogram)'{-I,--histogram}'[show histogram of bucket list lengths]' '(-W --wide)'{-W,--wide}'[allow output width to exceed 80 characters]' '(- *)'{-H,--help}'[display help information]' @@ -35,7 +37,6 @@ case $variant in '(-s --syms --symbols)'{-s,--syms,--symbols}'[show symbol table]' '(-n --notes)'{-n,--notes}'[show core notes (if present)]' '(-u --unwind)'{-u,--unwind}'[show unwind info (if present)]' - '(-D --use-dynamic)'{-D,--use-dynamic}'[use dynamic section info when showing symbols]' ) ;| elfutils|binutils) @@ -50,11 +51,14 @@ case $variant in ;| binutils) args+=( + '--sym-base=[force base for symbol sizes]:base:(0 8 10 16)' '!(-C --demangle)--no-demangle' '(--demangle)-C[decode symbol names]' - '(-C)--demangle=-[decode symbol names]::style [auto]:(auto gnu lucid arm hp edg gnu-v3 java gnat)' + '(-C)--demangle=-[decode symbol names]::style [auto]:(none auto gnu-v3 java gnat dlang rust)' '!(--no-recurse-limit)--recurse-limit' '--no-recurse-limit[disable demangling recursion limit]' + '-U+[specify how to display unicode characters]:method:(d l e x h i)' + '--unicode=[specify how to display unicode characters]:method:(default locale escape hex highlight invalid)' '(-L --lint --enable-checks)'{-L,--lint,--enable-checks}'[display warning messages for possible problems]' \*{-R,--relocated-dump=}"[dump contents of specified section as relocated bytes]:section:($sections)" "--dwarf-depth=[don't show DIEs at greater than specified depth]:depth" @@ -63,6 +67,7 @@ case $variant in '--ctf-parent=[use specified section as the CTF parent]:section' '--ctf-symbols=[use specified section as the CTF external symbol table]:section' '--ctf-strings=[use specified section as the CTF external string table]:section' + '--sframe=-[display SFrame info from section]::section name [.sframe]' '(-T --silent-truncation)'{-T,--silent-truncation}"[if a symbol name is truncated, don't add ... suffix]" ) ;; diff --git a/Completion/Unix/Command/_rsync b/Completion/Unix/Command/_rsync index eb906e974..c65266dbd 100644 --- a/Completion/Unix/Command/_rsync +++ b/Completion/Unix/Command/_rsync @@ -141,8 +141,9 @@ _rsync() { '(-X --xattrs)'{-X,--xattrs}'[preserve extended attributes]' \ '--fake-super[use xattrs to save all file attributes]' \ '(-d --dirs)'{-d,--dirs}'[transfer directories without recursing]' \ - {--no-d,--no-dirs}'[turn off --dirs]' \ - "--mkpath[create the destination's path component]" \ + '(--no-d --no-dirs)'{--no-d,--no-dirs}'[turn off --dirs]' \ + '(--old-dirs --old-d)'{--old-dirs,--old-d}'[work like --dirs when talking to old rsync]' \ + "--mkpath[create destination's missing path components]" \ '(-l --links)'{-l,--links}'[copy symlinks as symlinks]' \ {--no-l,--no-links}'[turn off --links]' \ '(-L --copy-links)'{-L,--copy-links}'[transform symlinks into referent file/dir]' \ @@ -161,8 +162,10 @@ _rsync() { '(-g --group)'{-g,--group}'[preserve group]' \ {--no-g,--no-group}'[turn off --group]' \ '(--devices --specials)-D[same as --devices --specials]' \ - '(-D)--devices[preserve devices]' \ + '(-D --copy-devices --write-devices)--devices[preserve devices]' \ '--no-devices[turn off --devices]' \ + '(-D --devices)--copy-devices[copy device contents as a regular file]' \ + '(-D --devices)--write-devices[write to devices as files (implies --inplace)]' \ '(-D)--specials[preserve special files]' \ '--no-specials[turn off --specials]' \ '--no-D[turn off --devices and --specials]' \ @@ -179,7 +182,7 @@ _rsync() { '(-n --dry-run)'{-n,--dry-run}'[show what would have been transferred]' \ '(-W --whole-file)'{-W,--whole-file}'[copy files whole (without delta-transfer algorithm)]' \ {--no-W,--no-whole-file}'[turn off --whole-file]' \ - '(--cc --checksum-choice)'{--cc,--checksum-choice}'=[choose the checksum algorithms]:algorithm:_sequence -n 2 compadd - auto md4 md5 none' \ + '(--cc --checksum-choice)'{--cc,--checksum-choice}'=[choose the checksum algorithms]:algorithm:_sequence -n 2 compadd - auto xxh128 xxh3 xxh64 xxhash md4 md5 sha1 none' \ '(-x --one-file-system)'{-x,--one-file-system}"[don't cross filesystem boundaries]" \ '(-B --block-size)'{-B+,--block-size=}'[force a fixed checksum block-size]: :_numbers -f -u bytes -d 1g "block size" B K M G T P' \ '(-e --rsh)'{-e+,--rsh=}'[specify the remote shell to use]:remote-shell command:(rsh ssh)' \ @@ -233,7 +236,8 @@ _rsync() { '*--include=[do not exclude files matching pattern]:pattern' \ '--files-from=[read list of source-file names from specified file]:file:_files' \ '(-0 --from0)'{-0,--from0}'[all *-from file lists are delimited by nulls]' \ - '(-s --protect-args)'{-s,--protect-args}'[no space-splitting; only wildcard special-chars]' \ + '(-s --secluded-args)'{-s,--secluded-args}'[use the protocol to safely send arguments]' \ + "--trust-sender[trust the remote sender's file list]" \ '--copy-as=[specify user & optional group for the copy]:user:_rsync_users_groups' \ '--version[print version number]' \ '*'{-h,--human-readable}'[output numbers in a human-readable format]' \ @@ -251,6 +255,7 @@ _rsync() { '--list-only[list the files instead of copying them]' \ '--stop-after=[stop copying after specified time has elapsed]:time (minutes)' \ '--stop-at=[stop copying when specified point in time is reached]:date/time (YYYY-MM-DDTHH\:MM):_dates -F -S "T"' \ + '--fsync[fsync every written file]' \ '(--only-write-batch)--write-batch=[write a batched update to the specified file]:file:_files' \ '(--write-batch)--only-write-batch=[like --write-batch but w/o updating destination]:file:_files' \ '--protocol=[force an older protocol version to be used]:number' \ diff --git a/Completion/Unix/Command/_samba b/Completion/Unix/Command/_samba index 6c7a64e18..a36130cf9 100644 --- a/Completion/Unix/Command/_samba +++ b/Completion/Unix/Command/_samba @@ -5,16 +5,29 @@ local -a state line expl msgs args ign (( CURRENT == 2 )) || ign='!' args=( + '--debug-stdout[send debug output to stdout]' '(-d --debuglevel)'{-d+,--debuglevel=}'[set debug level]:debug level (1..10) [1]' '(-s --configfile)'{-s+,--configfile=}'[specify alternate smb.conf file]:config file:_files' '(-l --log-basename)'{-l+,--log-basename=}'[specify base name for log files]:base name:_files' '*--option=[set smb.conf option from command line]:option=value' + '--leak-report[enable talloc leak reporting on exit]' + '--leak-report-full[enable full talloc leak reporting on exit]' "${ign}(1 2 3 -)"{-\?,--help}'[display usage information]' "${ign}(1 2 3 -)--usage[display brief usage information]" "${ign}(1 2 3 - *)"{-V,--version}'[display version information]' ) case $service in + smbclient|nmblookup) + args+=( + '(2 -R --name-resolve)'{-R+,--name-resolve=}'[specify name resolution order]:name resolution order:_values -s " " "name resolution order" lmhosts host wins bcast' + '(-m --max-protocol)'{-m+,--max-protocol=}'[set the max protocol level]:level' + '(2 -O --socket-options)'{-O+,--socket-options=}'[specify socket options]:socket options' + '(2)--netbios-scope=[specify NetBIOS scope]:scope' + '(2 -W --workgroup)'{-W+,--workgroup=}'[specify workgroup name]:workgroup name' + '--realm=[set the realm name]:realm' + ) + ;| smbcontrol) _arguments -C -S $args \ '(-t --timeout)'{-t+,--timeout=}'[set timeout]:timeout (seconds)' \ @@ -42,12 +55,10 @@ case $service in smbclient) args+=( '(-N -A)2: :_guard "^-*" password' - '(2 -R --name-resolve)'{-R+,--name-resolve=}'[specify name resolution order]:name resolution order:_values -s " " "name resolution order" lmhosts host wins bcast' '(2 -M --message -L --list -D --directory -T --tar)'{-M+,--message=}'[send message]:host:_hosts' '(2 -I --ip-address)'{-I+,--ip-address=}'[specify IP address of server]:IP address' '(2 -E --stderr)'{-E,--stderr}'[output messages to stderr]' '(2 -M --message -D --directory -T --tar)'{-L+,--list=}'[list services on server]:host:_hosts' - '(-m --max-protocol)'{-m+,--max-protocol=}'[set the max protocol level]:level' '(2 -T --tar -M --message -L --list)'{-T+,--tar=}'[specify tar options]:tar options' '(2 -D --directory -M --message -L --list)'{-D+,--directory=}'[specify initial directory]:initial directory' '(2 -c --command)'{-c,--command=}'[specify commands]:command string' @@ -58,19 +69,18 @@ case $service in '(-q --quiet)'{-q,--quiet}'[suppress help message]' '(-B --browse)'{-B,--browse}'[browse SMB servers using DNS]' '(2 -d --debuglevel)'{-d+,--debuglevel=}'[specify debug level]:debug level:(0 1 2 3 4 5 6 7 8 9 10)' - '(2 -O --socket-options)'{-O+,--socket-options=}'[specify socket options]:socket options' '(2 -n --netbiosname)'{-n+,--netbiosname=}'[specify local NetBIOS name]:local machine name' - '(2 -W --workgroup)'{-W+,--workgroup=}'[specify workgroup]:workgroup' - '(2 -i --scope)'{-i+,--scope=}'[specify NetBIOS scope]:scope' '(2 -U --user)'{-U+,--user=}'[specify username]:username:_users' '(2 -N --no-pass)'{-N,--no-pass}'[suppress password prompt]' - '(-k --kerberos)'{-k,--kerberos}'[use kerberos (active directory) authentication]' + '--pw-nt-hash[the supplied password is the NT hash]' '(2 -A --authentication-file)'{-A+,--authentication-file=}'[specify file containing username/password]:file:_files' - '(-S --signing)'{-S+,--signing=}'[set the client signing state]:state:(on off required)' '(-P --machine-pass)'{-P,--machine-pass}'[use stored machine account password]' - '(-e --encrypt)'{-e,--encrypt}'[encrypt SMB transport]' - '(-C --use-ccache)'{-C,--use-ccache}'[use the winbind ccache for authentication]' - '--pw-nt-hash[the supplied password is the NT hash]' + '--simple-bind-dn=[specify DN to use for a simple bind]:DN' + '--use-kerberos=[use Kerberos authentication]:state:(desired required off)' + '--use-krb5-ccache=[specify credentials cache location for Kerberos]:file:_files' + '--use-winbind-ccache[use the winbind ccache for authentication]' + '--client-protection=[configure protection used for client connections]:protection:(sign encrypt off)' + '!(--use-kerberos)'{-k,--kerberos} ) (( CURRENT == 2 )) && args+=( '1:service name:_hosts -P // -S /' ) _arguments -s -S $args @@ -81,16 +91,13 @@ case $service in '(-f --flags)'{-f,--flags}'[list NMB flags returned]' \ '(-U --unicast)'{-U+,--unicast=}'[specify unicast address]:unicast address' \ '(-M --master-browser)'{-M,--master-browser}'[search for a master browser]' \ - '(-R --recursion)'{-R,--recursion}'[set recursion desired in packet]' \ + '--recursion[set recursion desired in packet]' \ '(-S --status)'{-S,--status}'[lookup node status as well]' \ '(-T --translate)'{-T,--translate}'[perform reverse DNS on IP addresses]' \ '(-r --root-port)'{-r,--root-port}'[use root port 137]' \ '(-A --lookup-by-ip)'{-A,--lookup-by-ip}'[query node status on IP address]' \ '(-d --debuglevel)'{-d+,--debuglevel=}'[specify debug level]:debug level:(0 1 2 3 4 5 6 7 8 9 10)' \ - '(-O --socket-options)'{-O+,--socket-options=}'[specify socket options to use]:socket option' \ '(-n --netbiosname)'{-n+,--netbiosname=}'[specify primary netbios name]:netbios name' \ - '(-W --workgroup)'{-W+,--workgroup=}'[specify workgroup name]:workgroup name' \ - '(-i --scope)'{-i+,--scope=}'[specify NetBIOS scope]:scope' \ '(h)*:NetBIOS name:_hosts' ;; smbstatus) diff --git a/Completion/Unix/Command/_sqlite b/Completion/Unix/Command/_sqlite index 6425732f1..6f0b1de94 100644 --- a/Completion/Unix/Command/_sqlite +++ b/Completion/Unix/Command/_sqlite @@ -12,7 +12,7 @@ dashes=( '' ) options=( '(-init --init)'$^dashes'-init[startup file]:file containing SQLite commands:_files' - $^dashes'-echo[echo commands]' + $^dashes'-echo[print inputs before execution]' ) exclusive=( {,-}-{no,}header ) @@ -72,12 +72,14 @@ if [[ -n $words[(r)-A*] ]]; then '(1 -a --append -f --file)'{-f+,--file=}'[specify archive file]:archive file:_files' '(1 -a --append -f --file)'{-a,--append=}'[operate on specified file opened using the apndvfs VFS]:archive file:_files' '(-C --directory)'{-C+,--directory=}'[change to specified directory to read/extract files]:directory:_directories' + '(-g --glob)'{-g,--glob}'[use glob matching for names in archive]' '(-n --dryrun)'{-n,--dryrun}'[show the SQL that would have occurred]' '*:file:_files' + '(commands)' \ '(-c --create)'{-c,--create}'[create a new archive]' '(-u --update)'{-u,--update}'[update or add files to an existing archive]' '(-i --insert)'{-i,--insert}'[like -u but always add even if mtime unchanged]' + '(-r --remove)'{-r,--remove}'[remove files from archive]' '(-t --list)'{-t,--list}'[list contents of archive]' '(-x --extract)'{-x,--extract}'[extract files from archive]' ) diff --git a/Completion/Unix/Command/_strip b/Completion/Unix/Command/_strip index 3e1a6b698..cc67ae49a 100644 --- a/Completion/Unix/Command/_strip +++ b/Completion/Unix/Command/_strip @@ -1,55 +1,68 @@ #compdef strip -local curcontext=$curcontext state line ret=1 +local curcontext=$curcontext state line variant ret=1 declare -A opt_args declare -a args -if _pick_variant gnu=GNU solaris --version; then - if [[ -prefix @* ]]; then - compset -P '@' +if _pick_variant -r variant gnu=GNU elftoolchain=elftoolchain $OSTYPE --version; then + case $variant in + gnu|elftoolchain) + args=( + '(-g -S -d --strip-debug)'{-g,-S,-d,--strip-debug}'[remove debugging symbols]' + '(-I --input-target)'{-I+,--input-target=}'[object code format of input]:bfd name:->bfdnames' + '*'{-K+,--keep-symbol=}'[keep given symbol]:symbol name' + '*'{-N+,--strip-symbol=}'[strip given symbol]:symbol name' + '(-O --output-target)'{-O+,--output-target=}'[object code format of output]:bfd name:->bfdnames' + '(-p --preserve-dates)'{-p,--preserve-dates}'[preserve access and modification dates]' + '*'{-R+,--remove-section=}'[remove given sections]:section name' + '(-s --strip-all)'{-s,--strip-all}'[remove all symbols]' + '(-w --wildcard)'{-w,--wildcard}'[permit wildcards in symbol names]' + '(-X --discard-locals)'{-X,--discard-locals}'[remove compiler-generated local symbols]' + '(-x --discard-all)'{-x,--discard-all}'[remove non-global symbols]' + '--only-keep-debug[remove everything except debugging information]' + '--strip-unneeded[remove symbols not needed for relocation processing]' + '(- 1 *)'{-V,--version}'[display version information and exit]' + ) + ;| + gnu) + if [[ -prefix @* ]]; then + compset -P '@' - local expl + local expl - _description files expl 'command-line-options file' - _files "$expl[@]" - return - fi - args=( - '(-F --target)'{-F+,--target=}'[object code format to use]:bfd name:->bfdnames' - '(-)--help[display usage information]' - '(-)--info[display list of architectures and object formats]' - '(-I --input-target)'{-I+,--input-target=}'[object code format of input]:bfd name:->bfdnames' - '(-O --output-target)'{-O+,--output-target=}'[object code format of output]:bfd name:->bfdnames' - '(-D --enable-deterministic-archives -U --disable-deterministic-archives)'{-U,--disable-deterministic-archives}'[disable -D behavior]' - '(-D --enable-deterministic-archives -U --disable-deterministic-archives)'{-D,--enable-deterministic-archives}'[produce deterministic output when stripping archives (zero file metadata)]' - '*'{-R+,--remove-section=}'[remove given sections]:section name' - '--remove-relocations=[remove relocations from specified section]:section' - '(-s --strip-all)'{-s,--strip-all}'[remove all symbols]' - '(-g -S -d --strip-debug)'{-g,-S,-d,--strip-debug}'[remove debugging symbols]' - '--strip-dwo[remove all DWARF .dwo sections]' - '--strip-unneeded[remove symbols not needed for relocation processing]' - '!(--no-merge-notes)'{-M,--merge-notes} - "--no-merge-notes[don't attempt to remove redundant notes]" - '*'{-K+,--keep-symbol=}'[keep given symbol]:symbol name' - '*'{-N+,--strip-symbol=}'[strip given symbol]:symbol name' - "*--keep-section=[don't strip given section]:section" - '(*)-o+[output file]:output file:_files' - '(-p --preserve-dates)'{-p,--preserve-dates}'[preserve access and modification dates]' - '(-w --wildcard)'{-w,--wildcard}'[permit wildcards in symbol names]' - '(-x --discard-all)'{-x,--discard-all}'[remove non-global symbols]' - '(-X --discard-locals)'{-X,--discard-locals}'[remove compiler-generated local symbols]' - '--keep-file-symbols[retain symbols specifying source file names]' - '--only-keep-debug[remove everything except debugging information]' - '(-)'{-V,--version}'[display version information and exit]' - '(-v --verbose)'{-v,--verbose}'[list all object files modified or members of archives]') -else - case $OSTYPE in + _description files expl 'command-line-options file' + _files "$expl[@]" + return + fi + args+=( + '(-F --target)'{-F+,--target=}'[object code format to use]:bfd name:->bfdnames' + '(-)--help[display usage information]' + '(-)--info[display list of architectures and object formats]' + '(-D --enable-deterministic-archives -U --disable-deterministic-archives)'{-U,--disable-deterministic-archives}'[disable -D behavior]' + '(-D --enable-deterministic-archives -U --disable-deterministic-archives)'{-D,--enable-deterministic-archives}'[produce deterministic output when stripping archives (zero file metadata)]' + '--remove-relocations=[remove relocations from specified section]:section' + '--strip-dwo[remove all DWARF .dwo sections]' + '!(--no-merge-notes)'{-M,--merge-notes} + "--no-merge-notes[don't attempt to remove redundant notes]" + "*--keep-section=[don't strip given section]:section" + '(*)-o+[output file]:output file:_files' + '--keep-section-symbols[retain section symbols]' + '--keep-file-symbols[retain symbols specifying source file names]' + '(-v --verbose)'{-v,--verbose}'[list all object files modified or members of archives]') + ;; + elftoolchain) + args+=( + '(- 1 *)'{-h,--help}'[display usage information]' + '(*)'{-o+,--output-file=}'[specify output file]:output file:_files' + ) + ;; solaris*) args=( '-l[strip line information only]' '-V[display version information on stderr and exit]' - '-x[do not strip the symbol table]') - ;; + '-x[do not strip the symbol table]' + ) + ;; darwin*) local -a arch arch=( ${(z)${${"$(_call_program architectures @@ -73,12 +86,13 @@ else '-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 )' ) - ;; + '-arch[specify the architecture]:architecture:( $arch )' + ) + ;; esac fi -_arguments \ +_arguments -C \ $args \ '1:executable:_files -g "*(-*)"' \ '*::executable:_files -g "*(-*)"' && ret=0 diff --git a/Completion/Unix/Command/_tiff b/Completion/Unix/Command/_tiff index ef12777de..1aeff3ff7 100644 --- a/Completion/Unix/Command/_tiff +++ b/Completion/Unix/Command/_tiff @@ -159,6 +159,7 @@ tiffinfo) '-f+[force fill order]:fill order:(lsb2msb msb2lsb)' \ '-w[display raw data in words]' \ '-z[enable strip chopping]' \ + '-M+[set the memory allocation limit]:limit (MiB), 0 for unlimited' \ '*:input TIFF file:_files -g "*.(#i)tif(|f)(-.)"' && ret=0 ;; tiffmedian) @@ -172,6 +173,7 @@ tiffmedian) ;; tiffsplit) _arguments \ + '-M+[set the memory allocation limit]:limit (MiB), 0 for unlimited' \ ':input file:_files -g "*.(#i)tif(|f)(-.)"' \ ':output file prefix' && ret=0 ;; diff --git a/Completion/Unix/Command/_truss b/Completion/Unix/Command/_truss index b798f03cb..b69e174e6 100644 --- a/Completion/Unix/Command/_truss +++ b/Completion/Unix/Command/_truss @@ -16,7 +16,11 @@ args=( case $OSTYPE in solaris2.<11->) - args+=( '(-c)-A[include absolute timestamps in output]' ) + args+=( + '(-c)-A[include absolute timestamps in output]' + '-I[interpret system calls to well-known rather than underlying names]' + '-N[report only system calls that returned an error]' + ) ;| aix*|solaris*) args+=( diff --git a/Completion/Unix/Command/_user_admin b/Completion/Unix/Command/_user_admin index db1c977ad..d5a53af7c 100644 --- a/Completion/Unix/Command/_user_admin +++ b/Completion/Unix/Command/_user_admin @@ -12,7 +12,7 @@ case ${service%???}:${(M)service%???}:$OSTYPE in shells=( ${(M)commands:#*/(|[abckz]|tc|ba)sh} ) fi args+=( - '(-D -c --commend)'{-c+,--comment=}'[comment]:comment' + '(-D -c --comment)'{-c+,--comment=}'[comment]:comment' '(-D -d --home -b --base-dir)'{-d+,--home=}"[specify home directory]:home directory:_directories -W /" '(-D -e --expiredate)'{-e+,--expiredate}'[specify expiration date]:expiration date (YYYY-MM-DD)' '(-D -f --inactive)'{-f+,--inactive=}'[specify inactive days]:inactive days' @@ -41,6 +41,8 @@ case ${service%???}:${(M)service%???}:$OSTYPE in SYS_GID_MIN SYS_UID_MAX SYS_UID_MIN UID_MAX UID_MIN UMASK ) args+=( + '--btrfs-subvolume-home[use BTRFS subvolume for home directory]' + '(-F --add-subids-for-system)'{-F,--add-subids-for-system}'[add entries to sub[ud]id even when adding a system user]' '(-l --no-log-init)'{-l,--no-log-init}"[don't add user to lastlog and faillog databases]" '(-m --create-home -M --no-create-home)'{-M,--no-create-home}"[don't create user's home directory, regardless of /etc/login.defs]" '(-N --no-user-group -U --user-group)'{-N,--no-user-group}"[don't create a group with the same name as the user]" @@ -103,6 +105,7 @@ case ${service%???}:${(M)service%???}:$OSTYPE in user:mod:linux*) args+=( '(-a --append)'{-a,--append}'[add user to supplementary groups without removing from other groups]' + '(-r --remove)'{-r,--remove}'[remove user from supplementary groups without removing from other groups]' \*{-v,--add-subuids}'[add a range of subordinate uids]:uids (first-last)' \*{-V,--del-subuids}'[remove a range of subordinate uids]:uids (first-last)' \*{-w,--add-subgids}'[add a range of subordinate gids]:gids (first-last)' @@ -118,9 +121,16 @@ case ${service%???}:${(M)service%???}:$OSTYPE in ;| user:*:linux*) args+=( + '(-b --badname)'{-b,--badname}"[don't check for bad names]" '(-U --unlock --lock -L -p)'{-L,--lock}"[lock user's password]" '(-U --unlock --lock -L -p)'{-U,--unlock}"[unlock user's password]" - '(-Z --selinux-user)'{-Z,--selinux-user}"[specify SELinux user for the user's login]:user" + '(-Z --selinux-user)'{-Z,--selinux-user}"[specify SELinux user for the user's login]:user:_selinux_users" + "--selinux-range[specify SELinux MLS range for the user's login]:range" + ) + ;| + group:*:linux*) + args+=( + '(-U --users)'{-U+,--users=}'[specify users to add as members of the group]:user:_sequence _users' ) ;| group:*) @@ -164,6 +174,9 @@ case ${service%???}:${(M)service%???}:$OSTYPE in ':group:_groups' ) ;| + group:mod:linux*) + args+=( '(-a --append)'{-a,--append}'[append the users mentioned by -U without removing existing members]' ) + ;| ^*:linux*) args=( ${(R)args:#(|\*)(|\(*\))--*} ) # remove long options ;| diff --git a/Completion/Unix/Command/_vmstat b/Completion/Unix/Command/_vmstat index e05bc88bc..6db776e62 100644 --- a/Completion/Unix/Command/_vmstat +++ b/Completion/Unix/Command/_vmstat @@ -8,7 +8,7 @@ case $OSTYPE in '(-t --timestamp)'{-t,--timestamp}'[show timestamp]' '(-n --one-header)'{-n,--one-header}'[do not redisplay header]' '(-S --unit)'{-S+,--unit=}'[specify unit for displayed sizes]:unit prefix [K]:((k\:1000 K\:1024 m\:1000000 M\:1048576))' - '(-C --full-cache)'{-C,--full-cache}'[add further cache lines to main cache]' + '(-y --no-first)'{-y,--no-first}'[skip first line of output]' '1: :_guard "[0-9]#" "interval (seconds)"' '2:count' + '(action)' \ '(- :)'{-h,--help}'[display help information]' diff --git a/Completion/Unix/Command/_vorbis b/Completion/Unix/Command/_vorbis index 6c94469f9..fca218a51 100644 --- a/Completion/Unix/Command/_vorbis +++ b/Completion/Unix/Command/_vorbis @@ -32,7 +32,6 @@ case $service in '(-q --quality)'{-q+,--quality=}'[set encoding quality]:quality:(0 1 2 3 4 5 6 7 8 9 10)' \ '--resample=[resample input to the given sample rate before encoding]:sample rate (Hz)' \ '--downmix[down mix input from stereo to mono]' \ - '--scale=[set input scaling factor]:scaling factor' \ '(-s --serial)'{-s+,--serial=}'[force a specific serial number in the output stream]:serial number' \ "--discard-comments[don't copy comments from FLAC file to output Ogg Vorbis file]" \ '--ignorelength[ignore the datalength in Wave headers]' \ @@ -74,10 +73,6 @@ case $service in '(-q --quiet -v --verbose)'{--quiet,-q}'[quiet mode]' \ '(-q --quiet)*'{-v,--verbose}'[increase verbosity]' \ '(- *)'{-V,--version}'[display version information]' \ - \*{-c-,--config=-}'[specify config options]: :_values option - "default_device\:device" - "shuffle\:value\:(0 1)" - "repeat\:value\:(0 1)"' \ '*:sound file or directory:->urls-or-files' && ret=0 ;; ogginfo) diff --git a/Completion/Unix/Command/_w b/Completion/Unix/Command/_w index 69751c5e5..e82c84f57 100644 --- a/Completion/Unix/Command/_w +++ b/Completion/Unix/Command/_w @@ -1,6 +1,6 @@ #compdef w -local args +local -a args case $OSTYPE in linux*) @@ -11,7 +11,7 @@ case $OSTYPE in '(H -o --old-style -s --short)'{-o,--old-style}'[old style output format]' '(H -s --short -o --old-style)'{-s,--short}'[use short output format]' '(H -u --no-current)'{-u,--no-current}'[ignore the username while figuring out the current process and cpu times]' - '(H -n --no-truncat)'{-n,--no-truncat}'[non-truncated listing (large)]' + '(H -p --pids)'{-p,--pids}'[show process IDs]' + H '(-)--help[display help information]' '(-)'{-V,--version}'[display version information]' diff --git a/Completion/Unix/Command/_wget b/Completion/Unix/Command/_wget index 50fd7791a..acc8d5c6e 100644 --- a/Completion/Unix/Command/_wget +++ b/Completion/Unix/Command/_wget @@ -23,6 +23,7 @@ _arguments -C -s \ '(--config)--no-config' '--rejected-log=:file:_files' \ '(--tries -t)'{--tries=,-t+}'[set number of retries]:number of retries' \ '--retry-connrefused[retry even if connection is refused]' \ + '--retry-on-host-error[consider host errors as non-fatal, transient errors]' \ '--retry-on-http-error=[specify list of HTTP errors to retry]:http error' \ '(--output-document -O)'{--output-document=,-O+}'[specify file to write documents to]:output file:_files' \ '(--continue -c)'{--continue,-c}'[continue getting an existing file]' \ @@ -98,7 +99,7 @@ _arguments -C -s \ '--content-disposition[honor the Content-Disposition header when choosing local file names]' \ '--content-on-error[output received content on server errors]' \ "--auth-no-challenge[send basic HTTP authentication without first waiting for server's challenge]" \ - '--secure-protocol=[choose secure protocol]:protocol:(SSLv2 SSLv3 TLSv1 TLSv1_1 TLSv1_2 PFS)' \ + '--secure-protocol=[choose secure protocol]:protocol:(SSLv2 SSLv3 TLSv1 TLSv1_1 TLSv1_2 TLSv1_3 PFS)' \ --https-only \ "--no-check-certificate[don't check the server certificate]" \ '--certificate=[specify client certificate]:client certificate file:_files' \ diff --git a/Completion/Unix/Command/_xmlsoft b/Completion/Unix/Command/_xmlsoft index 08b123e54..b8cf92700 100644 --- a/Completion/Unix/Command/_xmlsoft +++ b/Completion/Unix/Command/_xmlsoft @@ -40,6 +40,7 @@ case $service in '--maxdepth[increase the maximum depth]:depth' \ '--maxvars[increase the maximum variables]:variables' \ '--maxparserdepth[increase the maximum parser depth]:depth' \ + '--huge[relax hardcoded limits of the parser]' \ '--seed-rand[initialise random number generator]:seed' \ '--html[input document is an HTML file]' \ '--encoding[the input document character encoding]:encoding:(${encoding[@]})' \ diff --git a/Completion/Unix/Command/_xxd b/Completion/Unix/Command/_xxd index 31d26ab64..e9015a081 100644 --- a/Completion/Unix/Command/_xxd +++ b/Completion/Unix/Command/_xxd @@ -24,7 +24,7 @@ arguments=( # output options '(-b -bits -i -include -p -postscript -plain -ps -r -revert -u -uppercase)'{-b,-bits}'[output in binary digits, rather than hex]' '( -E -EBCDIC -i -include -p -postscript -plain -ps -r -revert )'{-E,-EBCDIC}'[print human-readable part in EBCDIC rather than ASCII]' - '(-i -include -p -postscript -plain -ps -r -revert)'{-e,-endian}'[little-endian dump]' + '(-i -include -p -postscript -plain -ps -r -revert)-e[little-endian dump]' '(-b -bits -E -EBCDIC -i -include -p -postscript -plain -ps -r -revert )'{-i,-include}'[output in C include file style]' '(-b -bits -E -EBCDIC -i -include -p -postscript -plain -ps -C -capitalize )'{-p,-postscript,-plain,-ps}'[read or write a plain hexdump (no line numbers or ASCII rendering)]' @@ -35,12 +35,14 @@ arguments=( '(- :)'{-v,-version}'[show program version]' '*'{-a,-autoskip}"[a single '*' replaces runs of NUL (toggleable)]" '(-C -capitalize)'{-C,-capitalize}'[capitalize variable names in C include file style]' - {-c+,-cols}'[specify number of octets per line]: :_guard "[0-9a-fA-Fx]#" "number of octets per line"' - {-g+,-groupsize}'[specify the number of octets per group]: :_guard "[0-9]#" "number of octets per group"' - {-l+,-len}'[specify number of octets to output]: :_guard "[0-9]#" "number of octets to output"' - {-o+,-offset}'[add specified offset to displayed file position]:offset' + '(-c -cols)'{-c+,-cols}'[specify number of octets per line]: :_guard "(0x|)[0-9a-fA-Fx]#" "number of octets per line"' + '(-g -groupsize)'{-g+,-groupsize}'[specify the number of octets per group]: :_guard "(0x|)[0-9a-fA-F]#" "number of octets per group"' + '(-l -len)'{-l+,-len}'[specify number of octets to output]: :_guard "(0x|)[0-9a-fA-F]#" "number of octets to output"' + '(-n -name)'{-n+,-name}'[override the variable name output when -i is used]:variable name' + '(-o -offset)'{-o+,-offset}'[add specified offset to displayed file position]:offset' '-d[show offset in decimal instead of hex]' - {-s,-skip,-seek}'[specify file offset to dump from]: :_guard "[0-9]#" "file offset to dump from (absolute or relative)"' + '-R+[colorize the output]:when:(always auto never)' + '(-s -skip -seek)'{-s+,-skip,-seek}'[specify file offset to dump from]: :_guard "(0x|)[0-9a-fA-F]#" "file offset to dump from (absolute or relative)"' ': :_files' ) diff --git a/Completion/X/Command/_evince b/Completion/X/Command/_evince index 21b493360..49f11f341 100644 --- a/Completion/X/Command/_evince +++ b/Completion/X/Command/_evince @@ -15,6 +15,7 @@ _arguments -s -S \ '--g-fatal-warnings[make all warnings fatal]' \ '--gtk-debug=[specify GTK+ debugging flags to set]:flag' \ '--gtk-no-debug=[specify GTK+ debugging flags to unset]:flag' \ + '(-o --new-window)'{-o,--new-window}'[open a new window]' \ '(-p --page-label -i --page-index -n --named-dest)'{-p,--page-label=}'[specify page label of the document to display]' \ '(-p --page-label -i --page-index -n --named-dest)'{-i,--page-index=}'[specify page number of the document to display]' \ '(-p --page-label -i --page-index -n --named-dest)'{-n,--named-dest=}'[specify named destination to display]' \ diff --git a/Completion/X/Command/_qiv b/Completion/X/Command/_qiv index 35ceec09a..5d0aa8faf 100644 --- a/Completion/X/Command/_qiv +++ b/Completion/X/Command/_qiv @@ -10,6 +10,7 @@ _arguments -s \ '(-C --cycle)'{-C,--cycle}"[don't cycle after last image]" \ '(-w --fixed_width -W --fixed_zoom)'{-w,--fixed_width}'[use window with specified width]:width' \ '(-w --fixed_width -W --fixed_zoom)'{-W,--fixed_zoom}'[use window with specified zoom factor]:zoom (percentage)' \ + '--highDPIfactor[specify resize factor to compensate for high (or also low) DPI screens]:factor' \ '(-x -y -z --root --root_t --root_s -f --file *)'{-x,--root}'[use image as the current desktop background, centered]:image file:_files' \ '(-x -y -z --root --root_t --root_s -f --file *)'{-y,--root_t}'[use image on the current desktop background, tiled]:image file:_files' \ '(-x -y -z --root --root_t --root_s -f --file *)'{-z,--root_s}'[use image as the current desktop background, stretched]:image file:_files' \ @@ -22,6 +23,9 @@ _arguments -s \ '(-n --no_filter)'{-n,--no_filter}'[disable filtering of images by extension]' \ '(-i --no_statusbar -I --statusbar)'{-i,--no_statusbar}'[disable statusbar]' \ '(-i --no_statusbar -I --statusbar)'{-I,--statusbar}'[enable statusbar]' \ + '(-J --showJPEGcomments)'{-J,--showJPEGcomments}'[enable display of JPEG comments]' \ + '(-E --showArtistName)'{-E,--showArtistName}'[enable display of artist (author) name]' \ + "--artist_ignore[don't show specified artist name]:artist" \ '(-p --transparency)'{-p,--transparency}'[enable transparency]' \ '(-a --do_grab)'{-a,--do_grab}'[grab the pointer in windowed mode]' \ '(-G --disable_grab)'{-G,--disable_grab}'[disable pointer grabbing in fullscreen mode]' \ @@ -47,4 +51,4 @@ _arguments -s \ '(-Y --source_profile)'{-Y,--source_profile}'[specify colour profile file as source profile]:colour profile file:_files' \ '(-Z --display_profile)'{-Z,--display_profile}'[specify colour profile file as display profile]:colour profile file:_files' \ '--vikeys[enable movement with h/j/k/l]' \ - '*:image file:_files -g "*.(#i)(bmp|eim|gif|ico|jp([eg]|eg)|pcx|png|p[pngb]m|pjpeg|svg|tif(|f)|wmf|x[pb]m)(-.)"' + '*:image file:_files -g "*.(#i)(bmp|eim|gif|hei[cf]|ico|jp([eg]|eg)|pcx|png|p[pngb]m|pjpeg|svg|tif(|f)|webp|wmf|x[pb]m)(-.)"' diff --git a/Completion/X/Command/_xdvi b/Completion/X/Command/_xdvi index c33e67bcc..ed5982bcc 100644 --- a/Completion/X/Command/_xdvi +++ b/Completion/X/Command/_xdvi @@ -2,15 +2,22 @@ _xt_arguments \ -+{allowshell,copy,expert,hush{,chars,checksums,specials},keep,l,no{ghostscript,grey,gssafer,makepk,postscript,scan},safer,thorough,underlink,version} \ - +{altfont,base,browser,cr,debug,density,gamma,gspalette,hl,icongeometry,interpreter,margin,mfmode,offsets,p,paper,shrink,S,sidemargin,topmargin,xoffset,yoffset,grid{1,2,3},mgs{,1,2,3,4,5}} \ + +{altfont,background,bg,browser,cr,debug,density,dvispath,editor,gamma,gspalette,hl,icongeometry,interpreter,margin,mfmode,offsets,p,paper,shrink,S,sidemargin,topmargin,xoffset,yoffset,grid{1,2,3},mgs{,1,2,3,4,5}} \ '-altfont:default font' \ - '-base:base URL' \ + -{bg,background}':color:_x_color' \ '-browser:WWW browser:_command_names -e' \ '-cr:cursor color:_x_color' \ - '-debug:debugging bitmask:((1\:bitmaps 2\:dvi\ translation 4\:pk\ reading 8\:batch\ operation 16\:events 32\:file\ opening 64\:PostScript\ communication 128\:Kpathsea\ statistics 256\:Kpathsea\ hash\ table\ lookups 512\:Kpathsea\ path\ definitions 1024\:Kpathsea\ path\ expansion 2048\:Kpathsea\ searches))' \ + '-debug:debugging bitmask:((1\:bitmaps 2\:dvi\ translation 4\:pk\ reading 8\:batch\ operation 16\:events 32\:file\ opening 64\:PostScript\ communication 128\:Kpathsea\ statistics 256\:Kpathsea\ hash\ table\ lookups 512\:Kpathsea\ path\ definitions 1024\:Kpathsea\ path\ expansion 2048\:Kpathsea\ searches ))' \ '-density:font shrink density' \ + '-dvispath:dvips program:_command_names -e' \ + '-editor:text editor:_cmdstring' \ + '-expertmode:display bitmask:((1\:statusline 2\:scrollbars 4\:pagelist 8\:toolbar 16\:menubar))' \ + -{fg,foreground}':color:_x_color' \ + '-findstring:string' \ + '-font:font:_x_font' \ + '-fullscreen' \ '-gamma:anti-aliasing factor [1.0]' \ - -grid{1,2,3}':grid color:_x_color' \ + '-gsalpha' \ '-gspalette:Ghostscript palette:(Color Greyscale Monochrome)' \ '-hl:page highlight color:_x_color' \ '-icongeometry:icon geometry:_x_geometry' \ @@ -21,6 +28,9 @@ _xt_arguments \ '-offsets:offset size' \ '-p:font size (pixel per inch)' \ '-paper:paper size (x or ...):(us usr legal foolscap a1 a2 a3 a4 a5 a6 a7 b1 b2 b3 b4 b5 b6 b7 c1 c2 c3 c4 c5 c6 c7 a1r a2r a3r a4r a5r a6r a7r)' \ + '-ps2pdfpath:ps2pdf program:_command_names -e' \ + '-rulecolor:color' \ + '-rv' \ '-shrink:shrink factor' \ '-S:font shrink density' \ '-sidemargin:side margin' \ -- cgit v1.2.3 From 87aba4d437f5fef46917c1235c00b9162d7bcbd0 Mon Sep 17 00:00:00 2001 From: Oliver Kiddle Date: Mon, 27 Jan 2025 23:00:17 +0100 Subject: 53325: cover newer BSD releases in completion --- ChangeLog | 15 +++++++++++++++ Completion/BSD/Command/_acpiconf | 28 ++++++++++++++++++++++++++++ Completion/BSD/Command/_bsdconfig | 1 + Completion/BSD/Command/_pkgin | 2 ++ Completion/BSD/Command/_procstat | 35 ++++++++++++++++++----------------- Completion/BSD/Command/_sockstat | 5 +++++ Completion/BSD/Command/_systat | 1 + Completion/Unix/Command/_date | 17 ++++++++++++++--- Completion/Unix/Command/_df | 19 ++++++++++++------- Completion/Unix/Command/_dhclient | 1 + Completion/Unix/Command/_dmidecode | 6 ++++-- Completion/Unix/Command/_env | 14 +++++++++++--- Completion/Unix/Command/_iostat | 3 +++ Completion/Unix/Command/_last | 14 +++++++------- Completion/Unix/Command/_ls | 6 +++++- Completion/Unix/Command/_mv | 8 ++++---- Completion/Unix/Command/_ps | 2 +- Completion/Unix/Command/_script | 13 +++++++++++-- Completion/Unix/Command/_sed | 6 ++++-- Completion/Unix/Command/_vmstat | 6 +++++- Completion/Unix/Command/_w | 7 ++++++- Completion/Unix/Command/_wc | 2 +- Completion/Unix/Command/_zfs | 31 +++++++++++++++++++++++-------- 23 files changed, 182 insertions(+), 60 deletions(-) create mode 100644 Completion/BSD/Command/_acpiconf (limited to 'Completion/Unix/Command/_ps') diff --git a/ChangeLog b/ChangeLog index ba7054a8e..2585d50e8 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,18 @@ +2025-01-27 Oliver Kiddle + + * 53325: Completion/BSD/Command/_acpiconf, + Completion/BSD/Command/_bsdconfig, Completion/BSD/Command/_pkgin, + Completion/BSD/Command/_procstat, Completion/BSD/Command/_sockstat, + Completion/BSD/Command/_systat, Completion/Unix/Command/_date, + Completion/Unix/Command/_df, Completion/Unix/Command/_dhclient, + Completion/Unix/Command/_dmidecode, Completion/Unix/Command/_env, + Completion/Unix/Command/_iostat, Completion/Unix/Command/_last, + Completion/Unix/Command/_ls, Completion/Unix/Command/_mv, + Completion/Unix/Command/_ps, Completion/Unix/Command/_script, + Completion/Unix/Command/_sed, Completion/Unix/Command/_vmstat, + Completion/Unix/Command/_w, Completion/Unix/Command/_wc, + Completion/Unix/Command/_zfs: cover newer BSD releases in completion + 2025-01-20 Bart Schaefer * Julian Prein: 53309: Completion/Unix/Command/_uniq: remove diff --git a/Completion/BSD/Command/_acpiconf b/Completion/BSD/Command/_acpiconf new file mode 100644 index 000000000..817a2f1ad --- /dev/null +++ b/Completion/BSD/Command/_acpiconf @@ -0,0 +1,28 @@ +#compdef acpiconf + +local curcontext="$curcontext" sep ret=1 +local -a state line modes desc +local -A opt_args + +_arguments -s \ + '(-)-h[display usage information]' \ + '(-)-i[get battery information]:battery' \ + '(-)-k[ack or abort a pending suspend]:ack' \ + '(-)-s[enter specified sleep mode]: :->modes' && ret=0 + +if [[ -n $state ]]; then + modes=( $(_call_program modes sysctl -n hw.acpi.supported_sleep_state) ) + zstyle -s ":completion:${curcontext}:modes" list-separator sep || sep=-- + (( $#modes )) || modes=( S3 S4 ) + desc=( + "S1 $sep stop the processor clock" + "S2 $sep low wake latency sleep state" + "S3 $sep suspend to RAM" + "S4 $sep suspend to disk" + "S5 $sep soft off state" + ) + desc=( ${(M)desc:#(${(~j.|.)modes}) *} ) + _wanted modes expl 'mode' compadd -M 'B:S=' -ld desc - ${modes#S} && ret=0 +fi + +return ret diff --git a/Completion/BSD/Command/_bsdconfig b/Completion/BSD/Command/_bsdconfig index f88255575..5de8f777d 100644 --- a/Completion/BSD/Command/_bsdconfig +++ b/Completion/BSD/Command/_bsdconfig @@ -51,6 +51,7 @@ shortcuts=( vt_saver vt_screenmap vt_ttys + wifi wireless wlan ) _arguments -s -w -A '-*' : \ diff --git a/Completion/BSD/Command/_pkgin b/Completion/BSD/Command/_pkgin index 662bed181..c4ed3aa14 100644 --- a/Completion/BSD/Command/_pkgin +++ b/Completion/BSD/Command/_pkgin @@ -5,6 +5,8 @@ local -a state state_descr line expl cmds short pkgs local -A opt_args _arguments -s -S -C \ + '(-6)-4[only use IPv4 addresses]' \ + '(-4)-6[only use IPv6 addresses]' \ '-c+[enable chrooting pkgin in the given repository]:chroot path:_directories' \ '-d[download only]' \ '-f[force database update]' \ diff --git a/Completion/BSD/Command/_procstat b/Completion/BSD/Command/_procstat index a1708f6ac..867ddc501 100644 --- a/Completion/BSD/Command/_procstat +++ b/Completion/BSD/Command/_procstat @@ -1,26 +1,27 @@ #compdef procstat _arguments -s -A "-*" -S \ - '-b[show binary information]' \ - '-c[show command line arguments]' \ - '-e[show environment variables]' \ - '-f[show file descriptor information]' \ - '-i[show signal pending and disposition]' \ - '-j[show signal pending and blocked information for process threads]' \ - '-k[show stacks of kernel threads]' \ - '-l[show resource limits]' \ - "-L[show LWP info for the process pertaining to it's signal driven exit]" \ - '-r[show resource usage]' \ - '-s[show security credential information]' \ - '-S[show cpuset information]' \ - '-t[show thread information]' \ - '-v[show virtual memory mappings]' \ - '-x[show ELF auxiliary vector]' \ + '(1)-b[show binary information]' \ + '(1)-c[show command line arguments]' \ + '(1)-e[show environment variables]' \ + '(1)-f[show file descriptor information]' \ + '(1)-i[show signal pending and disposition]' \ + '(1)-j[show signal pending and blocked information for process threads]' \ + '(1)-k[show stacks of kernel threads]' \ + '(1)-l[show resource limits]' \ + "(1)-L[show LWP info for the process pertaining to it's signal driven exit]" \ + '(1)-r[show resource usage]' \ + '(1)-s[show security credential information]' \ + '(1)-S[show cpuset information]' \ + '(1)-t[show thread information]' \ + '(1)-v[show virtual memory mappings]' \ + '(1)-x[show ELF auxiliary vector]' \ '-h[suppress table headers]' \ - '(1)-a[all processes]' \ + '(2 *)-a[all processes]' \ '-w+[repeat information after specified interval]:delay (seconds)' \ '-C[print additional capability information for file descriptors]' \ '-H[statistics per-thread rather than per-process]' \ '-n[numeric form for signals]' \ - '1::core file:_path_files -g "*core*(-.)"' \ + '1::command:(advlock argument auxv basic binary cpuset credential environment fd file kstack pargs ptlwpinfo pwdx rlimit rlimitusage rusage sigfastblock signal thread tsignal vm)' \ + '2::core file:_path_files -g "*core*(-.)"' \ '*:process id:_pids' diff --git a/Completion/BSD/Command/_sockstat b/Completion/BSD/Command/_sockstat index f372fe1b3..b99d3681a 100644 --- a/Completion/BSD/Command/_sockstat +++ b/Completion/BSD/Command/_sockstat @@ -29,6 +29,11 @@ case $OSTYPE in '-q[quiet mode, do not print the header line]' ) ;| + freebsd<14->.*) + args+=( + '-I[show local address of socket to which the current socket is spliced]' + ) + ;| freebsd*) for proto in ${${(M)${(f)"$(.*) args+=( '-d+:daylight saving time value' @@ -77,6 +83,11 @@ else freebsd<14->.*|openbsd*) args+=( '-z+[specify timezone for output]:time zone:_time_zone') ;| + freebsd*) + args+=( + '(-R)-I-[display in ISO 8601 format]::precision [date]:(date hours minutes seconds ns)' + ) + ;| netbsd*) args+=( '-d[output date specified by string]:time string:' ) ;; diff --git a/Completion/Unix/Command/_df b/Completion/Unix/Command/_df index 21abff105..315758488 100644 --- a/Completion/Unix/Command/_df +++ b/Completion/Unix/Command/_df @@ -45,21 +45,25 @@ elif [[ "$OSTYPE" == (darwin|dragonfly|freebsd|netbsd*|openbsd)* ]]; then '-a[show all mount points]' '(-b -g -H -h -k -m --si)-g[use 1024^3-byte blocks]' '(-b -g -H -h -k -m --si)-m[use 1024*1024-byte blocks]' - ) - ;| - (darwin*|dragonfly*|freebsd*) - args+=( '(-b -g -H -h -k -m --si)-b[use 512-byte blocks (default)]' '(-b -g -H -h -k -m --si)-H[human-readable output (base 10)]' ) ;| - (darwin*|freebsd*) + (darwin*|freebsd*|netbsd*) args+=( '-c[display a grand total]' ) + ;| + (darwin*|freebsd*) + args+=( + '--libxo[generate output via libxo]' + '-,[separate thousands]' + ) ;| (darwin*) args+=( + '-I[suppress inode counts]' + '-Y[include file system type]' "-T+$spec" "!-t+$spec" # obsolete ) @@ -76,14 +80,15 @@ elif [[ "$OSTYPE" == (darwin|dragonfly|freebsd|netbsd*|openbsd)* ]]; then ;| (freebsd*) args+=( - '--libxo[generate output via libxo]' '(-b -g -H -h -k -m --si)--si[human-readable output (base 10)]' - '-,[separate thousands]' ) ;; (netbsd*) args+=( + '(-P -G -N)-f[display only the available free]' '(-G -i -P)-G[display all fields in statvfs]' + '(-G -P)-N[suppress the header line normally output]' + '-W[print widge name instead of the device]' ) ;; esac diff --git a/Completion/Unix/Command/_dhclient b/Completion/Unix/Command/_dhclient index e22586b04..f38e9a9e5 100644 --- a/Completion/Unix/Command/_dhclient +++ b/Completion/Unix/Command/_dhclient @@ -12,6 +12,7 @@ case $OSTYPE in args+=( '(-d)-b[immediately move to the background]' '-l+[specify leases file]:file:_files' + "-n[don't wait for ARP resolution]" '-p+[specify PID file]:file:_files' '-u[reject leases with unknown options]' '-q[quiet]' diff --git a/Completion/Unix/Command/_dmidecode b/Completion/Unix/Command/_dmidecode index e2c511313..62a950a7a 100644 --- a/Completion/Unix/Command/_dmidecode +++ b/Completion/Unix/Command/_dmidecode @@ -5,8 +5,10 @@ _arguments -s \ '(-)'{-h,--help}'[display usage information]' \ '(-q --quiet -u --dump)'{-q,--quiet}'[be less verbose]' \ '--no-quirks[decode everything without quirks]' \ - '(-t --type -H --handle -u --dump --dump-bin -s --string)'{-s+,--string=}'[only display value of specified DMI string]:DMI string:(bios-vendor bios-version bios-release-date system-manufacturer system-product-name system-version system-serial-number system-uuid baseboard-manufacturer baseboard-product-name baseboard-version baseboard-serial-number baseboard-asset-tag chassis-manufacturer chassis-type chassis-version chassis-serial-number chassis-asset-tag processor-family processor-manufacturer processor-version processor-frequency)' \ - '(-s --string -H --handle --dump-bin)*'{-t+,--type=}'[only display entries of specified type]:entry type:(bios system baseboard chassis processor memory cache connector slot)' \ + '(-t --type -H --handle -u --dump --dump-bin -s --string)'{-s+,--string=}'[only display value of specified DMI string]:DMI string:compadd -M "r\:|-=* r\:|=*" - $(_call_program strings dmidecode --list-strings)' \ + '--list-strings[list available string keywords]' \ + '(-s --string -H --handle --dump-bin)*'{-t+,--type=}'[only display entries of specified type]:entry type:compadd - $(_call_program types dmidecode --list-types)' \ + '--list-types[list available type keywords]' \ '(-s --string -t --type -H --handle --dump-bin)'{-H,--handle=}'[only display the entry of specified handle]:handle' \ '(-q --quiet -u --dump -s --string)'{-u,--dump}"[don't decode entries]" \ '(-s --string -t --type -H --handle)--dump-bin=[dump DMI data to a binary file]:file:_files' \ diff --git a/Completion/Unix/Command/_env b/Completion/Unix/Command/_env index 8cf0ad467..89a45e4a4 100644 --- a/Completion/Unix/Command/_env +++ b/Completion/Unix/Command/_env @@ -8,6 +8,7 @@ case $variant in gnu) (( $#words > 2 )) && ign='!' args=( + '(-a --argv0)'{-a+,--argv0=}'[pass argument as the zeroth argument of command]:argument' '(-)'{-i,--ignore-environment}'[start with empty environment]' '(* -0 --null)'{-0,--null}'[end each output line with NUL, not newline]' '(--ignore-environment -i --help --version)*'{-u+,--unset=}'[remove variable from the environment]:env var to remove:_parameters -g "*export*"' @@ -28,12 +29,19 @@ case $variant in '-U[add variables from user and system login.conf(5)]: :->user-class' ) ;| - freebsd*|darwin*) - args=( '-0[use NUL, not newline after each variable in output]' ) + freebsd*|netbsd*) + args+=( '-C+[change working directory]:directory:_directories' ) ;| - freebsd*|darwin*|dragonfly*) + freebsd*|darwin*|netbsd*) + args+=( '-0[use NUL, not newline after each variable in output]' ) + ;| + freebsd*|darwin*|dragonfly*|netbsd*|openbsd*) args+=( '(-i)*-u+[remove variable from the environment]:env var to remove:_parameters -g "*export*"' + ) + ;| + freebsd*|darwin*|dragonfly*) + args+=( '-P+[specify alternate executable search PATH]:path:_dir_list' '-S+[perform word splitting]:string to split' '*-v[verbose output]' diff --git a/Completion/Unix/Command/_iostat b/Completion/Unix/Command/_iostat index d3943fcb4..36a3b7904 100644 --- a/Completion/Unix/Command/_iostat +++ b/Completion/Unix/Command/_iostat @@ -50,6 +50,9 @@ case $OSTYPE:l in args+=( '-x[show extended disk statistics]' '-y[report data on waiting and active requests]' + '-z[replace drive and CPU statistics that are zero with spaces]' + "-H+[set page height explicitly]:height [$LINES]" + "-W+[set page width explicitly]:width [$COLUMNS]" ) ;; aix*) diff --git a/Completion/Unix/Command/_last b/Completion/Unix/Command/_last index 2013cc1c2..d76260c36 100644 --- a/Completion/Unix/Command/_last +++ b/Completion/Unix/Command/_last @@ -8,17 +8,16 @@ ttys=( ${ttys#/dev/} ) for pattern arg in \ '(solaris*|linux-gnu)' '(--hostlast)-a[display hostname in last column]' \ '((free|net|open)bsd*|darwin*|dragonfly*)' '-h+[limit sessions by hostname]:host:_hosts' \ - '((free|open)bsd*)' '-s[report duration in seconds]' \ - '(freebsd*|openbsd*)' '-d+[limit sessions to those active at snapshot time]:time ([[CC]YY][MMDD]hhmm[.SS])' \ + '((free|open)bsd*|darwin*)' '-s[report duration in seconds]' \ + '((free|open)bsd*|darwin*)' '-d+[limit sessions to those active at snapshot time]:time ([[CC]YY][MMDD]hhmm[.SS])' \ '((net|free|open)bsd*|darwin*|dragonfly*)' '-t+[limit sessions by tty]:tty:_ttys -D' \ 'openbsd*' '-c[calculate total time]' \ - '^darwin*' '(--file)-f+[specify account file]:file:_files' \ - '(solaris*|linux-gnu|freebsd*|openbsd*)' '(--limit)-n+[specify number of lines to show]:number' \ + '(solaris*|darwin*|linux-gnu|freebsd*|openbsd*)' '(--limit)-n+[specify number of lines to show]:number' \ '((open|net)bsd*|dragonfly*)' '-T[show more detailed time information including year and seconds]' \ 'netbsd*' '-x[assume file is in wtmpx(5) format]' \ 'netbsd*' '-n[show IP of remote hosts]' \ - 'freebsd*' '-w[show seconds in duration field]' \ - 'freebsd*' '-y[show year in session start time]' + '(freebsd*|darwin*)' '-w[show seconds in duration field]' \ + '(freebsd*|darwin*)' '-y[show year in session start time]' do [[ $OSTYPE = $~pattern ]] && args+=( $arg ) done @@ -58,4 +57,5 @@ else args+=( '*:user:_users' ) fi -_arguments -s -S $args +_arguments -s -S $args \ + '(--file)-f+[specify account file]:file:_files' diff --git a/Completion/Unix/Command/_ls b/Completion/Unix/Command/_ls index 392b8490b..a19ad30e2 100644 --- a/Completion/Unix/Command/_ls +++ b/Completion/Unix/Command/_ls @@ -61,12 +61,16 @@ if ! _pick_variant gnu=gnu unix --help; then '(-l -1 -C -m -x)-g[long listing but without owner information]' ) fi + if [[ $OSTYPE = (netbsd*|darwin*) ]]; then + arguments+=( + "-X[don't cross mount points when recursing]" + ) + fi if [[ $OSTYPE = netbsd* ]]; then arguments+=( '-M[output file sizes in comma-separated form]' '-O[output only leaf (non-directory) files]' '-P[print full pathname for each file]' - "-X[don't cross mount points when recursing]" ) fi if [[ $OSTYPE = (dragonfly*|freebsd*|openbsd*|darwin*) ]]; then diff --git a/Completion/Unix/Command/_mv b/Completion/Unix/Command/_mv index c52e7a5e4..983c25ea8 100644 --- a/Completion/Unix/Command/_mv +++ b/Completion/Unix/Command/_mv @@ -38,11 +38,11 @@ case $variant; in '(-f -n)-i[prompt before overwriting existing file]' ) ;| + darwin*|dragonfly*|freebsd*|netbsd*) + args+=( "-h[if target is a symlink to a directory, don't follow it]" ) + ;| darwin*|dragonfly*|freebsd*) - args+=( - "(-f -i)-n[don't overwrite existing file]" - "-h[if target is a symlink to a directory, don't follow it]" - ) + args+=( "(-f -i)-n[don't overwrite existing file]" ) ;| darwin*|dragonfly*|*bsd*) args+=( diff --git a/Completion/Unix/Command/_ps b/Completion/Unix/Command/_ps index c3dfae47d..158fb6b83 100644 --- a/Completion/Unix/Command/_ps +++ b/Completion/Unix/Command/_ps @@ -106,9 +106,9 @@ case $OSTYPE in ;| linux-gnu|netbsd*) bsdarg+=( 'k[specify sort order]' ) ;| linux-gnu|openbsd*) bsd+=( 'f[show process hierarchy]' ) ;| + darwin*|freebsd*|netbsd*) bsdarg+=( '*G[select processes by real group]' ) ;| darwin*|freebsd*) bsd+=( 'X[skip processes with no controlling terminal]' ) - bsdarg+=( '*G[select processes by real group]' ) ;| freebsd*|dragonfly*) bsd+=( 'f[show command and environment for swapped out processes]' ) diff --git a/Completion/Unix/Command/_script b/Completion/Unix/Command/_script index d38d56f2e..25f8ea35f 100644 --- a/Completion/Unix/Command/_script +++ b/Completion/Unix/Command/_script @@ -50,19 +50,28 @@ case $OSTYPE in '(-d -p -T)-r[record a session with input, output and timing data]' ) ;| + darwin*|netbsd*|freebsd*) + args+=( + '-e[return exit status of the child process]' + ) + ;| netbsd*|openbsd*) args+=( '-c[run specified command instead of a shell]:command:_cmdstring' ) ;| + darwin*|freebsd*) + args+=( + '(-a -r -k -t)-T[play back a recorded session, reporting only timestamps]: :_date_formats' + ) + ;| netbsd*) args+=( '-f[flush output after each write]' ) ;| freebsd*) args+=( - '-e[return exit status of the child process]' '-f[use filemon(4)]' - '(-a -r -k -t)-T[play back a recorded session, reporting only timestamps]: :_date_formats' + '-w[forward terminal size changes on SIGWINCH]' ) ;| darwin*|dragonfly*|freebsd*) diff --git a/Completion/Unix/Command/_sed b/Completion/Unix/Command/_sed index ef3aaf2fd..ecbec61d1 100644 --- a/Completion/Unix/Command/_sed +++ b/Completion/Unix/Command/_sed @@ -104,7 +104,7 @@ else case $OSTYPE in openbsd*|freebsd*|netbsd*|darwin*|dragonfly*) args+=( - '(-r -E)'{-E,-r}$extended + '(-r -E -H)'{-E,-r}$extended '-a[delay opening files listed with w function]' ) ;| @@ -115,8 +115,10 @@ else args+=( '-I+[edit files in-place, treating all files as a single input stream]:: :_guard "^(*[@/; \\\]*|?(#c6,)|-*)" "suffix for backup"' ) - ;; + ;| openbsd*) args+=( '-u[make output line buffered]' ) ;; + darwin*) args+=( '(-r -E)-H[use enhanced regular expressions]' ) ;; + netbsd*) args+=( '(-r -E)-g[use GNU regular expressions]' '!(-r -E -g)-G' ) ;; esac fi diff --git a/Completion/Unix/Command/_vmstat b/Completion/Unix/Command/_vmstat index 6db776e62..1d0ac855d 100644 --- a/Completion/Unix/Command/_vmstat +++ b/Completion/Unix/Command/_vmstat @@ -37,10 +37,14 @@ case $OSTYPE in '-f[report on the number fork syscalls since boot and pages of virtual memory for each]' ) ;| + freebsd*|dragonfly*|netbsd*) + specs+=( + '-n+[change the maximum number of disks to display]:number of disks to display [2]' + ) + ;| freebsd*|dragonfly*) specs+=( '-m[report on the usage of kernel dynamic memory allocated using malloc(9) by type]' - '-n+[change the maximum number of disks to display]:number of disks to display [2]' '*-p+[specify which types of devices to display]: :->devices' '-s[display the contents of the SUM structure]' '-z[report on memory used by the kernel zone allocator, uma(9), by zone]' diff --git a/Completion/Unix/Command/_w b/Completion/Unix/Command/_w index e82c84f57..408cb76af 100644 --- a/Completion/Unix/Command/_w +++ b/Completion/Unix/Command/_w @@ -23,7 +23,7 @@ case $OSTYPE in openbsd*) args+=( '-a[translate network addresses into names]' ) ;| - (free|net)bsd*|dragonfly*) + (free|net)bsd*|dragonfly*|darwin*) args+=( '-n[show network addresses as numbers]' ) ;| *bsd*|dragonfly*) @@ -35,6 +35,11 @@ case $OSTYPE in freebsd*|dragonfly*) args+=( '-d[dump process list on a per controlling tty basis]' ) ;| + netbsd*) + args+=( + '-A[sort tty names alphabetically instead of utmp or utmpx order]' + ) + ;| solaris*) args+=( '!(-s -w -l)'{-l,-w} '-s[short output form]' diff --git a/Completion/Unix/Command/_wc b/Completion/Unix/Command/_wc index a1897e289..2a4f7ab05 100644 --- a/Completion/Unix/Command/_wc +++ b/Completion/Unix/Command/_wc @@ -18,7 +18,7 @@ if _pick_variant gnu=GNU unix --version; then else args=( -A "-*" "${(@)args:#(|\(*\))(|\*)--*}" ) case $OSTYPE in - freebsd*|netbsd*) args+=( '-L[print longest line lengths]' ) ;; + freebsd*|netbsd*|darwin*) args+=( '-L[print longest line lengths]' ) ;; openbsd*) args+=( '-h[human readable: use unit suffixes]' ) ;; solaris*) args+=( ${${(M)args:#*-m\[*}//-m\[/-C\[} ) ;; esac diff --git a/Completion/Unix/Command/_zfs b/Completion/Unix/Command/_zfs index c09435a1f..5a45c2920 100644 --- a/Completion/Unix/Command/_zfs +++ b/Completion/Unix/Command/_zfs @@ -79,7 +79,7 @@ rw_ds_props=( 'paths:mountpoint:_directories -W / -P /'" 'multilevel:value:(on off)' 'nbmand:value:(on off)' - 'primarycache:value:(all none metadata)' + {prefetch,primarycache}':value:(all none metadata)' 'quota: :->quotas' 'readonly:value:(on off)' 'recordsize:value:(512 1K 2K 4K 8K 16K 32K 64K 128K 256K 512K 1M)' @@ -515,9 +515,11 @@ case $service:$words[1] in ;; zfs:set) - [[ $implementation = solaris ]] && args=( - '-r[recursively apply value]' \ - ) + if [[ $implementation = solaris ]]; then + args=( '-r[recursively apply value]' ) + else + args=( "-u[update property but don't mount or share dataset]" ) + fi _arguments -C -A "-*" -S $args \ ':property:->set-properties' \ '*:filesystem/volume:_zfs_dataset -t fs -t vol' @@ -598,13 +600,14 @@ case $service:$words[1] in zfs:mount) [[ $OSTYPE != freebsd* ]] && args=( '-O[overlay mount]' ) [[ $implementation = openzfs ]] && args+=( - '-l[load keys for encrypted filesystems as they are being mounted]' + '-l[load keys for encrypted filesystems as they are being mounted]' + '(-a)-R[mount filesystems along with all their children]' ) _arguments -A "-*" -S $args \ '-o+[specify temporary file system options]: :_values -s , "option" {,no}{atime,dev,exec,relatime,suid,xattr} ro rw' \ '-v[report mount progress]' \ '-f[force mount]' \ - '(:)-a[mount all available ZFS filesystems]' \ + '(: -R)-a[mount all available ZFS filesystems]' \ '(-a):filesystem:_zfs_dataset -t fs' ;; @@ -888,6 +891,12 @@ case $service:$words[1] in ':property:($delegatable_perms $ro_ds_props ${rw_ds_props%%:*})' ;; + zpool:(clear|online)) + [[ $OSTYPE = linux* ]] && args=( + "--power[power on the device's slot in the storage enclosure]" + ) + ;| + zpool:help) _arguments -A "-*" -S \ - commands \ @@ -905,6 +914,7 @@ case $service:$words[1] in '-L[display real paths for vdevs resolving all symbolic links]' '-o+[set given pool properties]: :_values -s , "property" "${(@M)ci_po_props\:#ashift*}"' \ '-P[display real paths for vdevs instead of only the last component of the path]' + --allow-ashift-mismatch --allow-in-use --allow-replication-mismatch ) elif [[ $implementation = solaris ]]; then args=( '-l[display configuration in /dev/chassis location form]' ) @@ -1004,7 +1014,7 @@ case $service:$words[1] in zpool:get) [[ $implementation = solaris ]] && args=( - '-s+[specify sources to display]: :_values -s "source" local default none' + '-s+[specify sources to display]: :_values -s , "source" local default none' ) _arguments -A "-*" -S $args \ '-H[suppress headers and tab-delimit fields]' \ @@ -1140,6 +1150,9 @@ case $service:$words[1] in [[ $implementation = openzfs ]] && args=( '-f[force disk into faulted state]' ) + [[ $OSTYPE = linux* ]] && args=( + "--power[power off the device's slot in the storage enclosure]" + ) _arguments -C -A "-*" -S $args \ '-t[offline until next reboot]' \ ':pool:_zfs_pool' \ @@ -1147,7 +1160,7 @@ case $service:$words[1] in ;; zpool:online) - _arguments -C -A "-*" -S \ + _arguments -C -A "-*" -S $args \ '-e[expand device to use all available space]' \ ':pool:_zfs_pool' \ '*:virtual device:->pool-devices' @@ -1234,8 +1247,10 @@ case $service:$words[1] in zpool:status) if [[ $implementation = openzfs ]]; then args=( + '--power[display vdev enclosure slot power status]' '-D[display a histogram of deduplication statistics]' '-c[run scripts on each vdev]:script:_files -W "($ZPOOL_SCRIPTS_PATH /etc/zfs/zpool.d ~/.zpool.d)"' + '-e[only show unhealthy vdevs]' '-i[display vdev initialization status]' '-g[display vdev GUIDs instead of the normal device names]' '-L[display real paths for vdevs resolving all symbolic links]' -- cgit v1.2.3 From f3b865b9155269ba0dee7ced93b061e78df507c1 Mon Sep 17 00:00:00 2001 From: Oliver Kiddle Date: Mon, 27 Jan 2025 23:06:16 +0100 Subject: 53326: completion updates for core Linux utils --- ChangeLog | 14 ++++++++++++++ Completion/Linux/Command/_findmnt | 14 ++++++++++---- Completion/Linux/Command/_free | 1 + Completion/Linux/Command/_losetup | 3 ++- Completion/Linux/Command/_lsblk | 7 ++++++- Completion/Linux/Command/_pidof | 1 + Completion/Linux/Command/_slabtop | 2 +- Completion/Linux/Command/_wipefs | 3 ++- Completion/Unix/Command/_awk | 1 + Completion/Unix/Command/_chmod | 14 +++++++------- Completion/Unix/Command/_chown | 3 +-- Completion/Unix/Command/_cmp | 2 +- Completion/Unix/Command/_find | 1 - Completion/Unix/Command/_hexdump | 1 + Completion/Unix/Command/_last | 1 + Completion/Unix/Command/_mv | 3 ++- Completion/Unix/Command/_objdump | 6 ++++-- Completion/Unix/Command/_pgrep | 1 + Completion/Unix/Command/_ping | 5 ++++- Completion/Unix/Command/_ps | 1 + Completion/Unix/Command/_readelf | 7 +++++-- Completion/Unix/Command/_strip | 1 + Completion/Unix/Command/_uptime | 7 ++++--- Completion/Unix/Command/_w | 1 + 24 files changed, 72 insertions(+), 28 deletions(-) (limited to 'Completion/Unix/Command/_ps') diff --git a/ChangeLog b/ChangeLog index 2585d50e8..c5db038e6 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,19 @@ 2025-01-27 Oliver Kiddle + * 53326: Completion/Linux/Command/_findmnt, + Completion/Linux/Command/_free, Completion/Linux/Command/_losetup, + Completion/Linux/Command/_lsblk, Completion/Linux/Command/_pidof, + Completion/Linux/Command/_slabtop, Completion/Linux/Command/_wipefs, + Completion/Unix/Command/_awk, Completion/Unix/Command/_chmod, + Completion/Unix/Command/_chown, Completion/Unix/Command/_cmp, + Completion/Unix/Command/_find, Completion/Unix/Command/_hexdump, + Completion/Unix/Command/_last, Completion/Unix/Command/_mv, + Completion/Unix/Command/_objdump, Completion/Unix/Command/_pgrep, + Completion/Unix/Command/_ping, Completion/Unix/Command/_ps, + Completion/Unix/Command/_readelf, Completion/Unix/Command/_strip, + Completion/Unix/Command/_uptime, Completion/Unix/Command/_w: + completion updates for core Linux utils + * 53325: Completion/BSD/Command/_acpiconf, Completion/BSD/Command/_bsdconfig, Completion/BSD/Command/_pkgin, Completion/BSD/Command/_procstat, Completion/BSD/Command/_sockstat, diff --git a/Completion/Linux/Command/_findmnt b/Completion/Linux/Command/_findmnt index b29372c39..6155d4dc1 100644 --- a/Completion/Linux/Command/_findmnt +++ b/Completion/Linux/Command/_findmnt @@ -8,6 +8,7 @@ # local curcontext=$curcontext state state_descr line ret=1 typeset -A opt_args +local -a suf dedup _arguments -s -C \ '(H -A --all)'{-A,--all}'[print all filesystems]' \ @@ -45,6 +46,7 @@ _arguments -s -C \ '(H)2:: :->targets' \ + '(format)' \ '(H)'{-D,--df}'[imitate the output of df command]' \ + '(H)'{-I,--dfi}'[imitate the output of df with -i option]' \ '(H)'{-J,--json}'[use JSON output format]' \ '(H)'{-l,--list}'[use list output format]' \ '(H)'{-P,--pairs}'[use key="value" output format]' \ @@ -55,6 +57,7 @@ _arguments -s -C \ '(H)'{-N+,--task=}'[search /proc//mountinfo]: :_pids' \ '(H)'{-s,--fstab}'[search in /etc/fstab]' \ + '(H)' \ + '(* -)'{-H,--list-columns}'[list available columns]' \ '(- :)'{-h,--help}'[display help text and exit]' \ '(- :)'{-V,--version}'[display version and exit]' \ && ret=0 @@ -66,13 +69,16 @@ __findmnt_mountpoints () { case $state in columns) + dedup=( ${(Ms.,.)${PREFIX#+}##*,} ${(Ms.,.)SUFFIX%%,*} ) + suf=( -qS , ) + compset -S ',*' && suf=() compset -P '+' || _describe -t list-prefixes prefix \ - '( +:"not replace but extend the list" )' -S '' && ret=0 + '( +:"not replace but extend the list" )' -S '' && ret=0 + compset -P '*,' local -a columns=( - ${${${(f)"$(_call_program columns findmnt -h)"}[(r)Available*,-2]}[2,-1]} + ${${${${(f)"$(_call_program columns findmnt --list-columns)"}## #}//:/\\:}/ <[^>]#> #/:} ) - columns=( ${${${${${${columns## #}//:/\\:}//\[/\\[}//]/\\]}/ /[}/%/]} ) - _values -s , -M 'm:{a-z}={A-Z}' column $columns && ret=0 + _describe -t fields column columns -M 'm:{a-z}={A-Z}' $suf -F dedup && ret=0 ;; *) # call "findmnt $opts" to get possible sources/targets local opts='-lnve' diff --git a/Completion/Linux/Command/_free b/Completion/Linux/Command/_free index a0da97446..376b8a21f 100644 --- a/Completion/Linux/Command/_free +++ b/Completion/Linux/Command/_free @@ -2,6 +2,7 @@ _arguments -s \ '(-l --lohi)'{-l,--lohi}'[show detailed low and high memory statistics]' \ + '(-L --line)'{-L,--line}'[show output on a single line]' \ '(-t --total)'{-t,--total}'[show total for RAM + swap]' \ '(-v --committed)'{-v,--committed}'[show committed memory and commit limit]' \ '(-w --wide)'{-w,--wide}'[wide mode]' \ diff --git a/Completion/Linux/Command/_losetup b/Completion/Linux/Command/_losetup index f5a7ec1b1..d8e792aaf 100644 --- a/Completion/Linux/Command/_losetup +++ b/Completion/Linux/Command/_losetup @@ -18,7 +18,7 @@ _arguments -s -S \ - 'info' \ '(-v --verbose)'{-v,--verbose}'[verbose mode]' \ '(-o --offset -a --all)'{-a,--all}'[show the status of all loop devices]' \ - '(-O --output --output-all)'{-O+,--output=}'[specify columns to be printed with --list]:column:_sequence -s , compadd - name autoclear back-file back-ino back-maj\:min maj\:min offset partscan ro sizelimit dio log-sec' \ + '(-O --output --output-all)'{-O+,--output=}'[specify columns to be printed with --list]:column:_sequence -s , compadd -M "B\:+=" - name autoclear back-file back-ino back-maj\:min back-maj back-min maj\:min maj min offset partscan ref ro sizelimit dio log-sec' \ '(-O --output)--output-all[output all columns]' \ '(-J --json --raw -O --output -n --noheadings)'{-J,--json}'[use JSON --list output format]' \ '(-l --list)'{-l,--list}'[list currently used loop devices]' \ @@ -33,6 +33,7 @@ _arguments -s -S \ {-D,--detach-all}'[detach all associated loop devices]' \ - 'create' \ '--direct-io[open backing file with O_DIRECT]::enable:(on off)' \ + '--loop-ref=[specify loop device reference]:string' \ '(-f --find 1)'{-f,--find}'[find the first unused loop device]' \ '(-L --nooverlap)'{-L,--nooverlap}'[avoid possible conflict between devices]' \ '(-P --partscan)'{-P,--partscan}'[scan the partition table of newly created loop devices]' \ diff --git a/Completion/Linux/Command/_lsblk b/Completion/Linux/Command/_lsblk index 63aac743c..c8b30eb5e 100644 --- a/Completion/Linux/Command/_lsblk +++ b/Completion/Linux/Command/_lsblk @@ -8,6 +8,10 @@ typeset -A opt_args _arguments -C -s -S \ '(H -A --noempty)'{-A,--noempty}"[don't print empty devices]" \ '(H -E --dedup)'{-E+,--dedup=}'[de-duplicate output by specified column]:column:->columns' \ + '(H -Q --filter)'{-Q+,--filter=}'[only print lines matching expression]:expression' \ + '(H)--highlight=[color lines matching expression]:expression' \ + '(H)*--ct-filter=[restrict the next counter]:expression' \ + '(H)*--ct=[define a custom counter]:name\:param\:func' \ '(H -a --all)'{-a,--all}'[print all devices]' \ '(H -b --bytes)'{-b,--bytes}'[print size in bytes rather than in human readable format]' \ '(H -d --nodeps)'{-d,--nodeps}"[don't print slaves or holders]" \ @@ -40,6 +44,7 @@ _arguments -C -s -S \ '(H)'{-P,--pairs}'[use key="value" output format]' \ '(H)'{-r,--raw}'[use raw output format]' \ + 'H' \ + '(* -)'{-H,--list-columns}'[list the available columns]' \ '(* -)'{-h,--help}'[display help information]' \ '(* -)'{-V,--version}'[display version information]' && ret=0 @@ -56,7 +61,7 @@ case $state in ;| column*) values=( - ${${${${(f)"$(_call_program columns lsblk -h)"}[(r)Available*,-2]## #}[2,-1]//:/\\:}/ /:} + ${${${${(f)"$(_call_program columns lsblk --list-columns)"}## #}//:/\\:}/ <[^>]#> #/:} ) _describe -t fields column values -M 'm:{a-z}={A-Z}' $suf -F dedup && ret=0 ;; diff --git a/Completion/Linux/Command/_pidof b/Completion/Linux/Command/_pidof index 151a0e0f6..fdafd507d 100644 --- a/Completion/Linux/Command/_pidof +++ b/Completion/Linux/Command/_pidof @@ -17,6 +17,7 @@ case $variant in '(-w --with-workers)'{-w,--with-workers}'[show kernel workers too]' \ "(-x $exargs)"-x'[include shells running named scripts]' \ "($exargs)"\*{-o+,--omit-pid=}'[omit processes with PIDs]:pids:_sequence -s , _pids' \ + '(-t --lightweight)'{-t,--lightweight}'[list threads too]' \ '(-S --separator)'{-S+,--separator=}'[specify separator put between PIDs]:separator' \ '*:process:->procnames' \ && return 0 diff --git a/Completion/Linux/Command/_slabtop b/Completion/Linux/Command/_slabtop index 5c8919d12..2021ec332 100644 --- a/Completion/Linux/Command/_slabtop +++ b/Completion/Linux/Command/_slabtop @@ -1,5 +1,4 @@ #compdef slabtop -# based on procps-ng-3.3.15 local -a criteria=( 'a:number of active objects' @@ -18,5 +17,6 @@ _arguments -s \ '(-d --delay -o --once)'{-d+,--delay=}'[specify the delay between updates]:seconds: ' \ '(-s --sort)'{-s+,--sort=}'[specify the sort criteria]:criteria:(($criteria))' \ '(-d --delay -o --once)'{-o,--once}'[display the output once and exit]' \ + '--human[show human-readable output]' \ '(-)'{-V,--version}'[display version information and exit]' \ '(-)'{-h,--help}'[display usage information and exit]' diff --git a/Completion/Linux/Command/_wipefs b/Completion/Linux/Command/_wipefs index 8642aab92..5cc97e85f 100644 --- a/Completion/Linux/Command/_wipefs +++ b/Completion/Linux/Command/_wipefs @@ -2,7 +2,8 @@ _arguments -s -S \ '(H -a --all)'{-a,--all}'[wipe all magic strings]' \ - '(H -b --backup)'{-b,--backup}'[create a signature backup in $HOME]' \ + '(H --backup)-b[create a signature backup in $HOME]' \ + '(H -b)--backup=-[create a signature backup in $HOME]::path [$HOME]:_directories' \ '(H -f --force)'{-f,--force}'[force erasure]' \ '(H -i --no-headings -J --json -p --parsable)'{-i,--no-headings}"[don't print headings]" \ '(H -J --json -i --no-headings -p --parsable)'{-J,--json}'[use JSON output format]' \ diff --git a/Completion/Unix/Command/_awk b/Completion/Unix/Command/_awk index b69cc5cf8..694749d7d 100644 --- a/Completion/Unix/Command/_awk +++ b/Completion/Unix/Command/_awk @@ -51,6 +51,7 @@ case $variant in {-g,--gen-pot}'[scan awk program and generate .po file on stdout]' '*'{-i+,--include}'[load source library]:library file:->script' {-I,--trace}'[print internal byte code names as they are executed]' + '(-k --csv)'{-k,--csv}'[enable CSV special processing]' '*'{-l+,--load}'[load dynamic extension]:extension:->extension' {-M,--bignum}'[select arbitrary-precision arithmetic on numbers]' {-o-,--pretty-print=-}'[pretty-print awk program]::output file:_files' diff --git a/Completion/Unix/Command/_chmod b/Completion/Unix/Command/_chmod index 693f348dc..5ec60d707 100644 --- a/Completion/Unix/Command/_chmod +++ b/Completion/Unix/Command/_chmod @@ -19,6 +19,13 @@ case "$variant" in '*: :->files' ) ;; + gnu|freebsd*|openbsd*|netbsd*|darwin*|dragonfly*) + args+=( + '(-H -L -P)-L[follow all symlinks]' + '(-H -L -P)-H[follow symlinks on the command line]' + '(-H -L -P)-P[do not follow symlinks (default)]' + ) + ;| gnu) aopts=() args+=( @@ -49,13 +56,6 @@ case "$variant" in '-h[operate on symlinks themselves]' ) ;| - freebsd*|openbsd*|netbsd*|darwin*|dragonfly*) - args+=( - '(-H -L -P)-L[follow all symlinks]' - '(-H -L -P)-H[follow symlinks on the command line]' - '(-H -L -P)-P[do not follow symlinks (default)]' - ) - ;| darwin*) args+=( '(1)-C[return false if any specified files have ACLs]' diff --git a/Completion/Unix/Command/_chown b/Completion/Unix/Command/_chown index bcc6aec2f..c9fe8fadd 100644 --- a/Completion/Unix/Command/_chown +++ b/Completion/Unix/Command/_chown @@ -13,6 +13,7 @@ case "$variant" in '(-h --no-dereference)--dereference[dereference symlinks]' '(-h --no-dereference --dereference)'{-h,--no-dereference}'[operate on symlinks themselves]' '(-f --silent --quiet)'{-f,--silent,--quiet}"[don't report errors]" + '--from=[restrict changes to files by current ownership]: :->owner' '--preserve-root[fail to operate recursively on /]' '--reference=[copy ownership of specified file]:file:_files' '(-R --recursive)'{-R,--recursive}'[change files and directories recursively]' @@ -22,8 +23,6 @@ case "$variant" in '(- : *)--help[display help information]' '(- : *)--version[display version information]' ) - [[ $service = chown ]] && - args+=( '--from=[restrict changes to files by current ownership]: :->owner' ) ;; *) args=( diff --git a/Completion/Unix/Command/_cmp b/Completion/Unix/Command/_cmp index 20d309e32..d0a4caa41 100644 --- a/Completion/Unix/Command/_cmp +++ b/Completion/Unix/Command/_cmp @@ -15,7 +15,7 @@ case $variant in units=":_numbers -u bytes offset K M G T P E Z Y" ;| gnu) - args=( + args+=( '(- *)'{-v,--version}'[display version information]' '(- *)--help[display help information]' ) diff --git a/Completion/Unix/Command/_find b/Completion/Unix/Command/_find index 4f1c338ee..95e4fac4e 100644 --- a/Completion/Unix/Command/_find +++ b/Completion/Unix/Command/_find @@ -109,7 +109,6 @@ case $variant in '-regextype:regexp syntax:(help findutils-default awk egrep ed emacs gnu-awk grep posix-awk posix-basic posix-egrep posix-extended posix-minimal-basic sed)' '*-warn' '*-nowarn' - '*-xautofs' '*-used:access after inode change (days)' '*-executable' '*-readable' diff --git a/Completion/Unix/Command/_hexdump b/Completion/Unix/Command/_hexdump index f700ca683..140422ac1 100644 --- a/Completion/Unix/Command/_hexdump +++ b/Completion/Unix/Command/_hexdump @@ -25,6 +25,7 @@ if [[ $OSTYPE = linux* ]]; then '(- *)'{-h,--help}'[display usage information]' '(- *)'{-V,--version}'[display version information]' ) + fmts+=( {--one-byte-hex,-X}'[one-byte hexadecimal display]' ) else # strip long options by taking every second element print -v fmts -f '%2$s' -- "$fmts[@]" diff --git a/Completion/Unix/Command/_last b/Completion/Unix/Command/_last index d76260c36..240b96e67 100644 --- a/Completion/Unix/Command/_last +++ b/Completion/Unix/Command/_last @@ -41,6 +41,7 @@ case $OSTYPE in '(-R --nohostname)'{-R,--nohostname}'[suppress display of hostname field]' '(-s --since)'{-s+,--since=}'[display lines since the specified time]:time (YYYYMMDDhhmmss)' '(-t --until)'{-t+,--until=}'[display lines until the specified time]:time (YYYYMMDDhhmmss)' + '(-T --tab-separated)'{-T,--tab-separated}'[use tabs as delimiters]' '(-p --present)'{-p+,--present=}'[display who were present at the specified time]:time (YYYYMMDDhhmmss)' '(-w --fullnames)'{-w,--fullnames}'[show full user and domain names]' '(-x --system)'{-x,--system}'[display shutdown/runlevel entries]' diff --git a/Completion/Unix/Command/_mv b/Completion/Unix/Command/_mv index 983c25ea8..e9227c334 100644 --- a/Completion/Unix/Command/_mv +++ b/Completion/Unix/Command/_mv @@ -14,6 +14,7 @@ case $variant; in {simple,never}"[always make simple backups]"' '(-b --backup -n --no-clobber)-b[make a backup of each existing destination file]' '(-v)--debug[explain how a file is copied]' + '--exchange[exchange source and destination]' '(-f --force -i --interactive -n --no-clobber)'{-f,--force}"[don't prompt before overwriting]" '(-f --force -i --interactive -n --no-clobber)'{-i,--interactive}'[prompt before overwriting existing file]' '(-f --force -i --interactive -n --no-clobber)'{-n,--no-clobber}"[don't overwrite existing file]" @@ -22,7 +23,7 @@ case $variant; in '(-S --suffix)'{-S+,--suffix=}'[specify the backup suffix]:backup suffix [~]' '(-t --target-directory)'{-t+,--target-directory=}'[move all source arguments into specified directory]:directory:_directories' '(-T --no-target-directory)'{-T,--no-target-directory}'[treat final argument as a normal file]' - '(-u)--update=-[move only when destination file is older or missing]::update files [older]:(all none older)' + '(-u)--update=-[move only when destination file is older or missing]::update files [older]:(all none none-fail older)' '(--update)-u[move only when destination file is older or missing]' '(-v --verbose)'{-v,--verbose}'[show file names after they are moved]' '(- *)--help[display usage information]' diff --git a/Completion/Unix/Command/_objdump b/Completion/Unix/Command/_objdump index 94c01eb83..71a615c97 100644 --- a/Completion/Unix/Command/_objdump +++ b/Completion/Unix/Command/_objdump @@ -32,6 +32,7 @@ case $variant in '(-D --disassemble-all)'{-D,--disassemble-all}'[display assembler contents of all sections]' '(-S --source)'{-S,--source}'[intermix source code with disassembly]' '--source-comment=-[prefix lines of source code with specified text]::text prefix [# ]' + '(-Z --decompress)'{-Z,--decompress}'[decompress section(s) before displaying their contents]' '(-g --debugging)'{-g,--debugging}'[display debug information in object file]' '(-e --debugging-tags)'{-e,--debugging-tags}'[display debug information using ctags style]' '(-G --stabs)'{-G,--stabs}'[display (in raw form) any STABS info in the file]' @@ -176,13 +177,14 @@ case "$state" in 'O[str-offsets]' \ "o[loc]" "R[ranges]" "t[pubtypes]" "U[trace_info]" "u[trace_abbrev]" \ "T[trace_aranges]" "g[gdb_index]" "A[addr]" "c[cu_index]" "k[links]" \ - "K[follow-links]" && ret=0 + "K[follow-links]" "D[use-debuginfod]" "E[do-not-use-debuginfod]" && ret=0 ;; dwarf-names) _sequence _wanted dwarf-sections expl "dwarf section" compadd - \ rawline decodedline info abbrev pubnames aranges macro frames \ frames-interp str str-offsets loc Ranges pubtypes gdb_index trace_info \ - trace_abbrev trace_aranges addr cu_index links follow-links && ret=0 + trace_abbrev trace_aranges addr cu_index links follow-links \ + use-debuginfod do-not-use-debuginfod && ret=0 ;; bfdnames) _wanted targets expl target compadd - \ diff --git a/Completion/Unix/Command/_pgrep b/Completion/Unix/Command/_pgrep index 94c1dae1a..798b6d6d4 100644 --- a/Completion/Unix/Command/_pgrep +++ b/Completion/Unix/Command/_pgrep @@ -48,6 +48,7 @@ arguments=( '--cgroup=[match by cgroup v2 names]:cgroup' '--ns=[match only on same namespaces as specified PID]: :_pids' '--nslist=[match only on specified namespaces (with --ns)]:namespace:(ipc mnt net pid user uts)' + '*--env=[match on environment variable]:var[=value]:_parameters -g "*export*" -qS=' '(: * -)'{-V,--version}'[display version information]' '-z+[match only on specified zone IDs]:zone:_sequence _zones' ) diff --git a/Completion/Unix/Command/_ping b/Completion/Unix/Command/_ping index 84bd76b82..95e1fd604 100644 --- a/Completion/Unix/Command/_ping +++ b/Completion/Unix/Command/_ping @@ -196,6 +196,7 @@ case ${variant}:${${service#ping}:-4} in ;; iputils:*) args+=( + '-3[RTT precision (do not round up the result time)]' '-A[adaptive]' '-b[allow pinging a broadcast address]' "-B[don't allow ping to change source address]" @@ -204,12 +205,14 @@ case ${variant}:${${service#ping}:-4} in '-e+[define identifier for ping session]:identifier' '(-4)-F+[allocate and set 20-bit flow label]:flow label (hex)' '(-)-h[show usage information]' + '(-n)-H[force reverse DNS name resolution even for numeric destination]' '-I+[specify source interface]:interface:_net_interfaces' '-m+[specify mark to tag outgoing packets]:mark' "-M+[specify path MTU discovery strategy]:strategy:(( do\:prohibit\ fragmentation,\ even\ local\ one want\:do\ PMTU\ discovery - dont\:don\'t\ set\ DF\ flag))" + dont\:don\'t\ set\ DF\ flag + probe\:set\ DF\ flag\ and\ bypass\ PMTU\ checks))" '(-4)-N+[send ICMPv6 node information queries instead of echo request]:sub option' '-O[report outstanding ICMP ECHO reply before sending next packet]' '-Q+[set Quality of Service-related bits in ICMP datagrams]:QoS TOS bits' diff --git a/Completion/Unix/Command/_ps b/Completion/Unix/Command/_ps index 158fb6b83..7d83f90ea 100644 --- a/Completion/Unix/Command/_ps +++ b/Completion/Unix/Command/_ps @@ -172,6 +172,7 @@ case $OSTYPE in '--headers[repeat header lines, one per page of output]' '(--cols --columns --width)'{--cols,--columns,--width}'[set screen width]:width' '(--lines --rows)'{--lines,--rows}'[set screen height]' + '--signames[display signal masks using signal names]' '--cumulative[include child process data with the parent]' '-n[set namelist file for WCHAN display]:file:_files' '(--no-headers --no-heading)'{--no-headers,--no-heading}'[suppress headers]' diff --git a/Completion/Unix/Command/_readelf b/Completion/Unix/Command/_readelf index b3abdf0a5..43cbc81c6 100644 --- a/Completion/Unix/Command/_readelf +++ b/Completion/Unix/Command/_readelf @@ -19,8 +19,8 @@ args=( '(-D --use-dynamic)'{-D,--use-dynamic}'[use dynamic section info when showing symbols]' \*{-x,--hex-dump=}"[dump contents of specified section as bytes]:section:($sections)" \*{-p,--string-dump=}"[dump contents of specified section as strings]:section:($sections)" - '-w+[show the contents of DWARF2 debug sections]::debug section:(a A r c L f F g i o m p t R l s O u T U k K N)' - '--debug-dump=[show the contents of DWARF2 debug sections]::section:(abbrev addr aranges cu_index decodedline frames frames-interp gdb_index info loc macro pubnames pubtypes Ranges rawline str str-offsets trace_abbrev trace_aranges trace_info links follow-links no-follow-links)' + '*-w+[show the contents of DWARF2 debug sections]::debug section:(a A r c f F g i k K N D E l L m o O p r R s t T u U)' + '*--debug-dump=[show the contents of DWARF2 debug sections]::section:(abbrev addr cu_index frames frames-interp gdb_index info links follow-links no-follow-links use-debuginfod do-not-use-debuginfod rawline decodedline macro loc str-offsets pubnames aranges Ranges str pubtype trace_aranges trace_abbrev trace_info)' '(-P --process-links)'{-P,--process-links}'[display the contents of non-debug sections in separate debuginfo files]' '(-I --histogram)'{-I,--histogram}'[show histogram of bucket list lengths]' '(-W --wide)'{-W,--wide}'[allow output width to exceed 80 characters]' @@ -59,8 +59,11 @@ case $variant in '--no-recurse-limit[disable demangling recursion limit]' '-U+[specify how to display unicode characters]:method:(d l e x h i)' '--unicode=[specify how to display unicode characters]:method:(default locale escape hex highlight invalid)' + '(-X --extra-sym-info)'{-X,--extra-sym-info}'[display extra information when showing symbols]' + '!(-X --extra-sym-info)--no-extra-sym-info' '(-L --lint --enable-checks)'{-L,--lint,--enable-checks}'[display warning messages for possible problems]' \*{-R,--relocated-dump=}"[dump contents of specified section as relocated bytes]:section:($sections)" + \*{-j,--display-section=}'[display contents of specified section]:section' "--dwarf-depth=[don't show DIEs at greater than specified depth]:depth" '--dwarf-start=[show DIEs starting at specified depth or deeper]:depth' '--ctf=[display compact C type format info from section]:section' diff --git a/Completion/Unix/Command/_strip b/Completion/Unix/Command/_strip index cc67ae49a..59cb537b9 100644 --- a/Completion/Unix/Command/_strip +++ b/Completion/Unix/Command/_strip @@ -41,6 +41,7 @@ if _pick_variant -r variant gnu=GNU elftoolchain=elftoolchain $OSTYPE --version; '(-D --enable-deterministic-archives -U --disable-deterministic-archives)'{-U,--disable-deterministic-archives}'[disable -D behavior]' '(-D --enable-deterministic-archives -U --disable-deterministic-archives)'{-D,--enable-deterministic-archives}'[produce deterministic output when stripping archives (zero file metadata)]' '--remove-relocations=[remove relocations from specified section]:section' + '--strip-section-headers[strip section headers from the output]' '--strip-dwo[remove all DWARF .dwo sections]' '!(--no-merge-notes)'{-M,--merge-notes} "--no-merge-notes[don't attempt to remove redundant notes]" diff --git a/Completion/Unix/Command/_uptime b/Completion/Unix/Command/_uptime index 58b4d991b..64d2e15fe 100644 --- a/Completion/Unix/Command/_uptime +++ b/Completion/Unix/Command/_uptime @@ -9,9 +9,10 @@ case $variant in _arguments -s -S : \ '(: -)'{-h,--help}'[display help information]' \ '(: -)'{-V,--version}'[display version information]' \ - + '(excl)' \ - {-p,--pretty}'[display uptime in pretty format]' \ - {-s,--since}'[display date/time of system boot]' + '(-c --container)'{-c,--container}'[show container uptime]' \ + '(-p --pretty -s --since -r --raw)'{-p,--pretty}'[display uptime in pretty format]' \ + '(-r --raw -p --pretty)'{-r,--raw}'[uptime values in raw format]' \ + '(-s --since -p --pretty)'{-s,--since}'[display date/time of system boot]' return ;; gnu) diff --git a/Completion/Unix/Command/_w b/Completion/Unix/Command/_w index 408cb76af..2da57a8f6 100644 --- a/Completion/Unix/Command/_w +++ b/Completion/Unix/Command/_w @@ -6,6 +6,7 @@ case $OSTYPE in linux*) args=( '(H -f --from)'{-f,--from}'[toggle display of remote hostname]' + '(-c --container)'{-c,--container}'[show container uptime]' '(H -h)--no-header[suppress the heading]' '(H -i --ip-addr)'{-i,--ip-addr}'[display IP address instead of hostname]' '(H -o --old-style -s --short)'{-o,--old-style}'[old style output format]' -- cgit v1.2.3