diff options
Diffstat (limited to 'Completion')
62 files changed, 656 insertions, 246 deletions
diff --git a/Completion/BSD/Command/_bectl b/Completion/BSD/Command/_bectl index 484fa0159..8bbcdf628 100644 --- a/Completion/BSD/Command/_bectl +++ b/Completion/BSD/Command/_bectl @@ -43,6 +43,7 @@ if [[ $state = args ]]; then args+=( '-r[create recursive boot environment]' '-e+[clone specified boot environment]: :->boot-environs' + '-E[create new empty boot environment]' ) ;; destroy) diff --git a/Completion/BSD/Command/_freebsd-update b/Completion/BSD/Command/_freebsd-update index af37641e4..0d1f008ac 100644 --- a/Completion/BSD/Command/_freebsd-update +++ b/Completion/BSD/Command/_freebsd-update @@ -22,5 +22,6 @@ _arguments \ '-r[specify the new release]:new release' \ '-s[fetch files from the specified server or server pool]:server:_hosts' \ '-t[mail output of cron command, if any, to address]:address' \ + '-v[set output verbosity]:level [stats]:(stats nostats debug)' \ '--currently-running[assume specified release as current]:release' \ '*:command:_values -S " " -w "commands" $flags[@]' diff --git a/Completion/Debian/Command/_apt b/Completion/Debian/Command/_apt index ac3095a4d..01d8282d1 100644 --- a/Completion/Debian/Command/_apt +++ b/Completion/Debian/Command/_apt @@ -492,12 +492,15 @@ _apt-get () { -d,--download-only:bool \ -f,--fix-broken:bool \ -h,--help:bool \ + --assume-no:bool \ + -a,--host-architecture:bool \ + -P,--build-profiles:bool \ -m,--ignore-missing,--fix-missing:bool \ -o,--option:arbitem \ -q,--quiet,--silent:intlevel \ -s,--simulate,--just-print,--dry-run,--recon,--no-act:bool \ -t,--target-release,--default-release:release \ - -u,--show-upgraded:bool \ + --no-show-upgraded:bool \ -v,--version:bool \ -y,--yes,--assume-yes:bool \ --allow-change-held-packages:bool \ @@ -515,6 +518,7 @@ _apt-get () { --no-download:bool \ --no-install-recommends:bool \ --no-remove:bool \ + --install-suggests:bool \ --no-upgrade:bool \ --only-source:bool \ --only-upgrade:bool \ diff --git a/Completion/Debian/Command/_dpkg_source b/Completion/Debian/Command/_dpkg_source index eabe8bc33..379ad39a7 100644 --- a/Completion/Debian/Command/_dpkg_source +++ b/Completion/Debian/Command/_dpkg_source @@ -1,16 +1,32 @@ #compdef dpkg-source _arguments \ - '-x[specify source file]:Debian source file:_files -g "*.dsc(-.)"' \ - '-b[specify source directory]:Debian source directory:_files -/' \ + '(-x --extract)'{-x,--extract}'[specify source file]:Debian source file:_files -g "*.dsc(-.)"::output directory:_directories' \ + '(-b --build)'{-b,--build}'[specify source directory]:Debian source directory:_files -/' \ + '--print-format[print the format to be used for the source package]: :_directories' \ + '--before-build[run the corresponding source package format hook]: :_directories' \ + '--after-build[run the corresponding source package format hook]: :_directories' \ + '--commit[store upstream changes in a new patch]: :_directories::patch name' \ '-c-[control file]:control file:_files' \ '-l-[changelog file]:changelog file:_files' \ '-F-[changelog format]:changelog format:' \ + '--format=[set the format to be used for the source package]:format' \ '-V-[set substitutions variable]:expression:' \ '-T-[alternate variable file]:varlistfile:' \ '-D-[override dsc field]:expression:' \ '-U-[remove a field]:field:' \ - '-i-[ignore files in diff]:filter:' \ + '(-i --diff-ignore)'{-i-,--diff-ignore=}'[filter out files to ignore diffs of]:regex' \ + '--extend-diff-ignore=:regex' \ + '(-I --tar-ignore)'{-I-,--tar-ignore=}'[filter out files when building tarballs]:regex' \ + '(-Z --compression)'{-Z-,--compression=}'[select compression to use]:compression [xz]:(bzip2 gzip lzma xz)' \ + '(-z --compression-level)'{-z-,--compression-level=}'[compression level to use]:level [9]' \ + "--no-copy[don't copy .orig tarballs]" \ + "--no-check[don't check signature and checksums before unpacking]" \ + "--no-overwrite-dir[don't overwrite directory on extraction]" \ + "--require-valid-signature[abort if the package doesn't have a valid signature]" \ + '--require-strong-checksums[abort if the package contains no strong checksums]' \ + '--ignore-bad-version[allow bad source package versions]' \ + '--threads-max=[set maximum number of threads for compressors]:threads' \ '-sa[autoselect orig source]' \ '-sk[use packaged orig source - unpack and keep]' \ '-sp[use packaged orig source - unpack and remove]' \ @@ -19,10 +35,14 @@ _arguments \ '-ss[trust packed and unpacked source are the same]' \ '-sn[no diff, do main tarfile only]' \ '-sA[autoselect orig source with overwrite]' \ + '--abort-on-upstream-changes' \ '-sK[use packaged orig source - unpack and keep with overwrite]' \ '-sP[use packaged orig source - unpack and remove with overwrite]' \ '-sU[use unpackaged orig source - unpack and keep with overwrite]' \ '-sR[use unpackaged orig source - unpack and remove with overwrite]' \ '-sp[leave original source packed in cwd]' \ '-su[unpack original source tree too]' \ - '-h[help]' + "--skip-debianization[don't apply debian diff to upstream sources]" \ + '(-)'{-\?,--help}'[display help information]' \ + '-q[quiet mode]' \ + '--version[display version information]' diff --git a/Completion/Debian/Command/_invoke-rc.d b/Completion/Debian/Command/_invoke-rc.d index cd8df28c1..74ee1e828 100644 --- a/Completion/Debian/Command/_invoke-rc.d +++ b/Completion/Debian/Command/_invoke-rc.d @@ -1,11 +1,13 @@ #compdef invoke-rc.d _arguments \ + '(- 1 2)--help[display help information]' \ '--quiet[quiet mode, no error messages are generated]' \ '--force[run the initscript regardless of policy and subsystem]' \ '--try-anyway[run the initscript even if a non-fatal error is found]' \ '--disclose-deny[return 101 instead of 0 if action is denied]' \ '--query[return one of status codes 100-106, does not run the script]' \ '--no-fallback[ignore any fallback action requests by the policy layer]' \ + '--skip-systemd-native[exit before doing anything if a systemd environment is detected]' \ '1:service:_services' \ - '2:command:(start stop force-stop restart reload force-reload status)' + '2:command:(start stop force-stop restart try-restart reload force-reload status)' diff --git a/Completion/Debian/Command/_update-alternatives b/Completion/Debian/Command/_update-alternatives index 31128dd82..0ddb8748d 100644 --- a/Completion/Debian/Command/_update-alternatives +++ b/Completion/Debian/Command/_update-alternatives @@ -14,8 +14,10 @@ _arguments -C \ '--test' \ '--help' \ '--version' \ - '--altdir:altdir:_files -/' \ - '--admindir:admindir:_files -/' \ + '--altdir:alternatives directory [/etc/alternatives]:_files -/' \ + "--admindir:administrative directory [$alterdir]:_files -/" \ + '--instdir:installation directory:_files -/' \ + '--root:root directory:_files -/' \ '--log:log file:_files -/' \ '--force' \ '--skip-auto' \ diff --git a/Completion/Debian/Command/_update-rc.d b/Completion/Debian/Command/_update-rc.d index 68b81dc72..d1941a384 100644 --- a/Completion/Debian/Command/_update-rc.d +++ b/Completion/Debian/Command/_update-rc.d @@ -3,26 +3,18 @@ local curcontext="$curcontext" state line expl _arguments -C \ - '-n[show actions without performing them]' \ '-f[force removal of symlinks]' \ '1:service:_services' \ - '2:command:(remove defaults start stop)' \ + '2:command:(remove defaults defaults-disabled disable enable)' \ '*::args:->args' && return case $words[2] in - defaults) - _message -e number 'sequence number' + disable|enable) + _wanted runlevels expl runlevel S 2 3 4 5 && return ;; - remove) + *) _message 'no more arguments' ;; - st*) - case ${words[CURRENT-1]} in - .) _wanted commands expl commands compadd start stop && return ;; - start|stop) _message -e number 'sequence number' ;; - *) _message -e runlevels run\ level ;; - esac - ;; esac return 1 diff --git a/Completion/Linux/Command/_blkid b/Completion/Linux/Command/_blkid index e31250d37..29392c4e5 100644 --- a/Completion/Linux/Command/_blkid +++ b/Completion/Linux/Command/_blkid @@ -19,10 +19,10 @@ _arguments \ '(-l --list-one)'{-l,--list-one}'[look up only first device with token specified by -t]' \ '(-n --match-types)'{-n+,--match-types=}'[filter by filesystem type]: :_sequence _file_systems' \ '(-O --offset)'{-O+,--offset=}'[probe at the given offset]: :_numbers -M "m\:{a-zA-Z}={A-Za-z}" offset {K,M,G,T,P,E,Z,Y}{,B,iB}' \ - '(-o --output)'{-o+,--output=}'[specify output format]:format [full]:(full value list device udev export)' \ + '(-o --output)'{-o+,--output=}'[specify output format]:format [full]:(full value list device udev export json)' \ '(-p --probe)'{-p,--probe}'[probe low-level superblocks]' \ \*{-s+,--match-tag=}'[show specified tag(s)]:tag:(none LABEL UUID UUID_SUB TYPE PARTLABEL PARTUUID SEC_TYPE PTUUID PTTYPE ALIGNMENT_OFFSET MINIMUM_IO_SIZE OPTIMAL_IO_SIZE PHYSICAL_SECTOR_SIZE LOGICAL_SECTOR_SIZE)' \ - '(-S --size)'{-S+,--size=}'[overwrite device size]: :_numbers -M "m\:{a-zA-Z}={A-Za-z}" size {K,M,G,T,P,E,Z,Y}{,B,iB}' \ + '(-S --size)'{-S+,--size=}'[override device size]: :_numbers -M "m\:{a-zA-Z}={A-Za-z}" size {K,M,G,T,P,E,Z,Y}{,B,iB}' \ '(-t --match-token)'{-t+,--match-token=}'[find device with a specific token]:token' \ '(-u --usages)'{-u+,--usages=}'[filter by usage]:usage:_sequence compadd - {no,}{filesystem,raid,crypto,other}' \ '*:device:_files -g "*(-%)"' diff --git a/Completion/Linux/Command/_chrt b/Completion/Linux/Command/_chrt index 5431b0799..3e550bf60 100644 --- a/Completion/Linux/Command/_chrt +++ b/Completion/Linux/Command/_chrt @@ -8,21 +8,22 @@ _arguments -C -s -S -A "-*" \ '(H -a --all-tasks)'{-a,--all-tasks}'[operate on all tasks (threads) for a given pid]' \ '(H)'{-v,--verbose}'[display status information]' \ '(H)'{-p,--pid}'[interpret args as process ID]' \ - '(H -R --reset-on-fork -b --batch -d --deadline -i --idle -o --other)'{-R,--reset-on-fork}'[set SCHED_RESET_ON_FORK for FIFO or RR]' \ + '(H -R --reset-on-fork -b --batch -d --deadline -e --ext -i --idle -o --other)'{-R,--reset-on-fork}'[set SCHED_RESET_ON_FORK for FIFO or RR]' \ + '(H -T --sched-runtime -f --fifo -e --ext -i --idle -r --rr)'{-T,--sched-runtime}'[runtime parameter for DEADLINE]' \ '(H)*::command or priority:->cmd_or_prio' \ + 'H' \ '(* -)'{-m,--max}'[show minimum and maximum valid priorities, then exit]' \ '(* -)'{-h,--help}'[display usage information]' \ '(* -)'{-V,--version}'[output version information]' \ + 'dline' \ - '(H -T --sched-runtime -b --batch -f --fifo -i --idle -o --other -r --rr)'{-T,--sched-runtime}'[runtime parameter for DEADLINE]' \ - '(H -P --sched-period -b --batch -f --fifo -i --idle -o --other -r --rr)'{-P,--sched-period}'[period parameter for DEADLINE]' \ - '(H -D --sched-deadline -b --batch -f --fifo -i --idle -o --other -r --rr)'{-D,--sched-deadline}'[deadline parameter for DEADLINE]' \ + '(H -P --sched-period -b --batch -f --fifo -e --ext -i --idle -o --other -r --rr)'{-P,--sched-period}'[period parameter for DEADLINE]' \ + '(H -D --sched-deadline -b --batch -f --fifo -e --ext -i --idle -o --other -r --rr)'{-D,--sched-deadline}'[deadline parameter for DEADLINE]' \ + '(policy)' \ '(H dline -R --reset-on-fork)'{-b,--batch}'[set scheduling policy to SCHED_BATCH]' \ '(H -R --reset-on-fork)'{-d,--deadline}'[set scheduling policy to SCHED_DEADLINE]' \ - '(H dline)'{-f,--fifo}'[set scheduling policy to SCHED_FIFO]' \ - '(H dline -R --reset-on-fork)'{-i,--idle}'[set scheduling policy to SCHED_IDLE]' \ + '(H dline -T --sched-runtime)'{-e,--ext}'[set scheduling policy to SCHED_EXT (BPF program-defined scheduling)]' \ + '(H dline -T --sched-runtime)'{-f,--fifo}'[set scheduling policy to SCHED_FIFO]' \ + '(H dline -R --reset-on-fork -T --sched-runtime)'{-i,--idle}'[set scheduling policy to SCHED_IDLE]' \ '(H dline -R --reset-on-fork)'{-o,--other}'[set scheduling policy to SCHED_OTHER]' \ '(H dline)'{-r,--rr}'[set scheduling policy to SCHED_RR (default)]' && ret=0 diff --git a/Completion/Linux/Command/_cryptsetup b/Completion/Linux/Command/_cryptsetup index 897eb94f9..2654ca844 100644 --- a/Completion/Linux/Command/_cryptsetup +++ b/Completion/Linux/Command/_cryptsetup @@ -45,6 +45,7 @@ _arguments -s \ '--dump-volume-key[dump volume key instead of keyslots info]' \ '--external-tokens-path=[specify path to directory with external token handlers (plugins)]:path:_directories' \ '--force-offline-reencrypt[force offline LUKS2 reencryption and bypass active device detection]' \ + '--force-no-keyslots[force dangerous reencryption operation erasing all remaining keyslots]' \ '--header=[device or file with separated LUKS header]:file:_files' \ '--hw-opal[use HW OPAL encryption together with SW encryption]' \ '--hw-opal-factory-reset[wipe WHOLE OPAL disk on luksErase]' \ @@ -52,8 +53,12 @@ _arguments -s \ '--keep-key[do not change volume key]' \ '--link-vk-to-keyring=[set keyring where to link volume key]:string' \ '--new-keyfile=[read the key for a new slot from a file]:file:_files' \ + '--new-key-description=[specify keyring new key description]:description' \ + '--new-key-size=[specify size of the new encryption key]:size (bits)' \ '--new-key-slot=[specify slot number for new key]:slot [first free]' \ '--new-token-id=[token number]:number [any]' \ + '--new-volume-key-file=[use new volume key from file]: :_files' \ + '--new-volume-key-keyring=[use specified keyring key as new volume key]:key' \ '--progress-json[print progress data in json format]' \ "--test-args[don't run action, just validate all command line parameters]" \ '--volume-key-file=[use the volume key from file]:file:_files' \ @@ -76,6 +81,7 @@ _arguments -s \ '--force-password[disable password quality check (if enabled)]' \ '--perf-same_cpu_crypt[use dm-crypt same_cpu_crypt performance compatibility option]' \ '--perf-submit_from_crypt_cpus[use dm-crypt submit_from_crypt_cpus performance compatibility option]' \ + '--perf-high_priority[set dm-crypt workqueues and writer thread to high priority]' \ '--perf-no_read_workqueue[bypass dm-crypt workqueue and process read requests synchronously]' \ '--perf-no_write_workqueue[bypass dm-crypt workqueue and process write requests synchronously]' \ '--deferred[device removal is deferred until the last user closes it]' \ @@ -88,12 +94,14 @@ _arguments -s \ '--disable-locks[disable locking of on-disk metadata]' \ '--disable-keyring[disable loading volume keys via kernel keyring]' \ '(-I --integrity)'{-I+,--integrity=}'[specify data integrity algorithm (LUKS2 only)]:algorithm' \ + '--integrity-inline[use inline mode (use HW integrity field)]' \ + '--integrity-key-size=[specify size of the data integrity key]:size (bits)' \ '--integrity-no-journal[disable journal for integrity device]' \ "--integrity-no-wipe[don't wipe device after format]" \ '--integrity-legacy-padding[use inefficient legacy padding (old kernels)]' \ "--token-only[don't ask for passphrase if activation by token fails]" \ '--token-id=[specify token number]:number [any]' \ - '--key-description=[specify key description]:description' \ + '--key-description=[specify keyring key description]:description' \ '--sector-size=[specify encryption sector size]:size [512 bytes]' \ '--iv-large-sectors[use IV counted in sector size (not in 512 bytes)]' \ '--persistent[set activation flags persistent for device]' \ diff --git a/Completion/Linux/Command/_ethtool b/Completion/Linux/Command/_ethtool index 8cff24e96..f1f67a357 100644 --- a/Completion/Linux/Command/_ethtool +++ b/Completion/Linux/Command/_ethtool @@ -6,14 +6,24 @@ local -A opt_args _arguments -C -A "-*" \ '--debug[turn on debugging messages]:mask:((1\:parser\ information))' \ - '--json[output results in JSON]' \ + '(-j --json)'{-j,--json}'[output results in JSON]' \ '(-I --include-statistics)'{-I,--include-statistics}'[include command-related statistics in the output]' \ - '(cmds)'{-Q,--per-queue}'[apply per-queue command]: :(queue_mask):queue mask' \ + '(cmds cmdp)'{-Q,--per-queue}'[apply per-queue command]: :(queue_mask):queue mask' \ + '(cmds cmdc)--phy=[target a PHY within the interface]:phy' \ "1:interface:_net_interfaces" \ '*:: :->args' \ + '(cmdc)' \ - '(cmds)'{-c,--show-coalesce}'[query the specified ethernet device for coalescing information]' \ - '(cmds)'{-C,--coalesce}'[change the coalescing settings of the specified ethernet device]' \ + '(cmdp cmds)'{-c,--show-coalesce}'[query the specified ethernet device for coalescing information]' \ + '(cmdp cmds)'{-C,--coalesce}'[change the coalescing settings of the specified ethernet device]' \ + + '(cmdp)' \ + '(cmds cmdc)--cable-test[perform cable test and report the results]' \ + '(cmds cmdc)--cable-test-tdr[perform cable test and report Time Domain Reflectometer data]' \ + '(cmds cmdc)--get-plca-cfg[get PLCA configuration]' \ + '(cmds cmdc)--set-plca-cfg[set PLCA configuration]' \ + '(cmds cmdc)--get-plca-status[get PLCA status information]' \ + '(cmds cmdc)--show-pse[show settings for power sourcing equipment]' \ + '(cmds cmdc)--set-pse[set power sourcing equipment settings]' \ + '(cmds cmdc)--show-mse[show Mean Square Error (MSE) diagnostics]' \ + '(cmds)' \ '(1)'{-h,--help}'[display help information]' \ '(1)--version[display version information]' \ @@ -36,6 +46,8 @@ _arguments -C -A "-*" \ {-n,--show-nfc,-u,--show-ntuple}'[retrieve receive network flow classification options or rules]' \ {-N,--config-nfc,-U,--config-ntuple}'[configure receive network flow classification options or rules]' \ {-T,--show-time-stamping}"[show device's time stamping capabilities]" \ + '--get-hwtimestamp-cfg[get selected hardware time stamping]' \ + '--set-hwtimestamp-cfg[select hardware time stamping]' \ {-x,--show-rxfh-indir,--show-rxfh}'[show Rx flow hash indirection table and/or RSS hash key]' \ {-X,--set-rxfh-indir,--rxfh}'[set Rx flow hash indirection table and/or RSS hash key]' \ {-f,--flash}'[flash firmware image from the specified file]' \ @@ -56,24 +68,20 @@ _arguments -C -A "-*" \ '--reset[reset hardware components]' \ '--show-fec[query device for forward error correction support]' \ '--set-fec[configure forward error correction for device]' \ - '--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]' \ + '--flash-module-firmware[flash transceiver module firmware]' \ + '--show-phys[list PHYs]' \ '--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 --show-module --set-module + --get-plca-cfg --set-plca-cfg --pse-event )' && return if [[ -n $state ]]; then @@ -97,17 +105,18 @@ if [[ -n $state ]]; then 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) ;& 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) ;& + rx-mini|rx-jumbo|rx-buf-len|cqe-size|tx-push-buf-len|hds-thresh) ;& offset|length|magic|value|phyad|proto|tos|tclass|l4proto|src-port) ;& dst-port|spi|l4data|vlan-etype|vlan|user-def|action|vf|queue|loc) ;& + index) ;& page|bank|i2c|first|last|step|pair|lanes) ;& 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) + tx-min-frag-size|c33-pse-avail-pw-limit|prio) _message -e numbers 'number' ;; - podl-pse-admin-control) + (podl-pse|c33-pse)-admin-control) _wanted values expl 'value' compadd enable disable ;; speed) @@ -168,6 +177,12 @@ if [[ -n $state ]]; then src|src-ip|dst|dst-ip|dst-mac) _message -e addresses address ;; + qualifier) + _wanted qualifiers expl qualifier compadd precise approx + ;; + rx-filter) + _message -e values value + ;; m) _message -e masks mask ;; @@ -178,7 +193,7 @@ if [[ -n $state ]]; then _message -e functions 'hash function' ;; xfrm) - _wanted transformations expl transformation compadd symmetric-xor none + _wanted transformations expl transformation compadd symmetric-xor symmetric-or-xor none ;; flags) _message -e masks mask @@ -192,6 +207,9 @@ if [[ -n $state ]]; then tcp-data-split) _wanted states expl state compadd auto on off ;; + pass) + _message -e passwords password + ;; *) case ${${(Mk)opt_args:#cmd?*}[1]#cmd?-} in -a|--show-pause) @@ -215,7 +233,8 @@ if [[ -n $state ]]; then '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]' \ - rx-buf-len tcp-data-split cqe-size tx-push rx-push tx-push-buf-len + rx-buf-len tcp-data-split cqe-size tx-push rx-push tx-push-buf-len \ + hds-thresh ;; -d|--register-dump) _values -S ' ' -w 'option' \ @@ -303,6 +322,12 @@ if [[ -n $state ]]; then queue context loc fi ;; + -T|--show-time-stamping) + _wanted options expl option compadd index qualifier + ;; + --set-hwtimestamp-cfg) + _wanted options expl option compadd index qualifier tx rx-filter + ;; -x|--show-rxfh-indir|--show-rxfh) _wanted options expl option compadd -F line - context ;; @@ -381,6 +406,17 @@ if [[ -n $state ]]; then _wanted options expl tunable compadd enable node-id node-cnt \ to-tmr burst-cnt burst-tmr ;; + --set-mm) + _wanted options expl option compadd verify-enabled verify-time \ + tx-enabled pmac-enabled tx-min-frag-size + ;; + --set-pse) + _wanted options expl option compadd {podl-pse,c33-pse}-admin-control \ + c33-pse-avail-pw-limit prio + ;; + --flash-module-firmware) + _wanted options expl option compadd file pass + ;; esac ;; esac diff --git a/Completion/Linux/Command/_findmnt b/Completion/Linux/Command/_findmnt index 6155d4dc1..b9cb04dc7 100644 --- a/Completion/Linux/Command/_findmnt +++ b/Completion/Linux/Command/_findmnt @@ -19,6 +19,7 @@ _arguments -s -C \ '(H -e --evaluate)'{-e,--evaluate}'[convert LABEL/UUID/PARTLABEL/PARTUUID to the device name]' \ '(H -F --tab-file)*'{-F+,--tab-file=}'[search in the specified tab file]:tab file:_files' \ '(H -f --first-only)'{-f,--first-only}'[print the first matching filesystem only]' \ + '(H)--hyperlink=-[print paths as hyperlinks]::when:(always never auto)' \ '(H -i --invert)'{-i,--invert}'[invert the sense of matching]' \ '(H -M --mountpoint :)'{-M+,--mountpoint=}'[specify the mountpoint]: :->targets' \ '(H -n --noheadings)'{-n,--noheadings}'[do not print a header line]' \ @@ -52,7 +53,8 @@ _arguments -s -C \ '(H)'{-P,--pairs}'[use key="value" output format]' \ '(H)'{-r,--raw}'[use raw output format]' \ + '(S)' \ - '(H)'{-k,--kernel}'[search in /proc/self/mountinfo (default)]' \ + '(H)-k[search in /proc/self/mountinfo (default)]' \ + '(H)--kernel=-[search in /proc/self/mountinfo (default)]::method:(mountinfo listmount)' \ '(H)'{-m,--mtab}'[search in /etc/mtab]' \ '(H)'{-N+,--task=}'[search /proc/<pid>/mountinfo]: :_pids' \ '(H)'{-s,--fstab}'[search in /etc/fstab]' \ diff --git a/Completion/Linux/Command/_gpasswd b/Completion/Linux/Command/_gpasswd index d5d16ebba..24fe361b0 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 --delete-password)'{-r,--delete-password}'[remove the group password]' \ + '(-r --remove-password)'{-r,--remove-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/_htop b/Completion/Linux/Command/_htop index e8d2fffb1..73a6ea9fa 100644 --- a/Completion/Linux/Command/_htop +++ b/Completion/Linux/Command/_htop @@ -19,6 +19,8 @@ args=( '(-)'{-h,--help}'[display usage information]' '(-H --highlight-changes)'{-H+,--highlight-changes=}'[highlight new and old processes (optionally specify delay)]::delay (seconds) (1-86400) [5]' '(-M --no-mouse)'{-M,--no-mouse}'[disable mouse]' + '--no-meters[hide meters]' + '(-n --max-iterations)'{-n+,--max-iterations=}'[exit after given number of frame updates]:number' \*{-p+,--pid=}'[show only specified PIDs]: : _sequence _pids' '--readonly[disable all system and process changing features]' '(-s --sort-key)'{-s+,--sort-key=}'[sort by specified column]: :->sort-keys' @@ -48,7 +50,7 @@ case $state in tmp=( ${tmp//:/\\:} ) tmp=( ${tmp/[[:space:]]##/:} ) tmp=( ${tmp/(#m):[A-Z]/${(L)MATCH}} ) - _describe -t sort-keys 'column (key)' tmp && ret=0 + _describe -t sort-keys 'column' tmp -M 'b:=M_ b:=IO_' && ret=0 ;; esac diff --git a/Completion/Linux/Command/_losetup b/Completion/Linux/Command/_losetup index affbc58f3..aab9adbcd 100644 --- a/Completion/Linux/Command/_losetup +++ b/Completion/Linux/Command/_losetup @@ -8,7 +8,7 @@ fi local device offset -device='1:device:_files -g "/dev/loop<->"' +device=':device:_files -g "/dev/loop<->"' offset=( {-o,--offset}'+[specify data start is offset]:offset (bytes)' ) _arguments -s -S \ @@ -28,7 +28,8 @@ _arguments -s -S \ {-c,--set-capacity}'[reread the size of the file associated with the loop device]' \ - 'detach' \ '(-)'{--detach,-d}'[detach from specified loop device]' \ - "$device" \ + '(-)--remove[remove one or more devices]:device' \ + "*$device" \ - '(detach-all)' \ {-D,--detach-all}'[detach all associated loop devices]' \ - 'create' \ diff --git a/Completion/Linux/Command/_lsblk b/Completion/Linux/Command/_lsblk index c8b30eb5e..c2c67c9a6 100644 --- a/Completion/Linux/Command/_lsblk +++ b/Completion/Linux/Command/_lsblk @@ -13,16 +13,18 @@ _arguments -C -s -S \ '(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 -b --bytes)'{-b,--bytes}'[print size in bytes instead of a human readable format]' \ '(H -d --nodeps)'{-d,--nodeps}"[don't print slaves or holders]" \ '(H -I --include)*'{-e,--exclude}'[exclude devices by major number]:major device number:->majorlist' \ '(H -e --exclude)*'{-I+,--include=}'[show only devices with specified major numbers]:major device number:->majorlist' \ + '(H)--hyperlink=-[print paths as hyperlinks]::when:(always never auto)' \ '(H -n --noheadings -y --shell)'{-n,--noheadings}"[don't print headings]" \ '(H -p --paths)'{-p,--paths}'[print complete device path]' \ '(H -s --inverse)'{-s,--inverse}'[reverse dependency order]' \ '(H -w --width)'{-w+,--width=}'[specify output width]:width' \ '(H -x --sort)'{-x+,--sort=}'[sort output by specified column]:column:->columns' \ '(H -y --shell -n --noheadings)'{-y,--shell}'[use column names usable as shell variable identifiers]' \ + '--properties-by=[specify methods used to gather data]:method [file,udev,blkid]:_sequence compadd - udev blkid file none' \ '(H)--sysroot=[use specified directory as system root]:directory:_directories' \ '*:device:_files -g "*(-%b)" -P / -W /' \ + fields \ diff --git a/Completion/Linux/Command/_modutils b/Completion/Linux/Command/_modutils index f19784dff..4e87c4767 100644 --- a/Completion/Linux/Command/_modutils +++ b/Completion/Linux/Command/_modutils @@ -38,11 +38,15 @@ _modutils() { ) case "$service" in - lsmod) _arguments -s "$args[@]" && return ;; + lsmod) + _arguments -s "$args[@]" \ + '(-s --syslog)'{-s,--syslog}'[report via syslog instead of stderr]' \ + '(-v --verbose)'{-v,--verbose}'[enable more messages]' && return + ;; modinfo) _arguments -s -C "$args[@]" \ - '(-)'{-k+,--set-version=}'[use modules from a different kernel version]:kernel_version:($(echo $modules_dir/*(/\:t)))' \ + '(-)'{-k+,--set-version=}'[use modules from a different kernel version]:kernel_version:compadd $modules_dir/*(/\:t)' \ {-b+,--basedir=}'[use specified directory as filesystem root]:path:_directories' \ '1:module file:->all-modules' \ + '(field)' \ @@ -59,13 +63,14 @@ _modutils() { ign='-h --help -V --version -c --showconfig --show-config' _arguments -s -C "$args[@]" \ "(-a --all $ign)"{-a,--all}'[load all matching modules]' \ - "(-n --show $ign)"{-n,--show}"[don't actually perform action]" \ "(-q --quiet $ign)"{-q,--quiet}"[don't complain about insmod failures]" \ "(-s --syslog $ign)"{-s,--syslog}'[report via syslog instead of stderr]' \ "(-v --verbose $ign)"{-v,--verbose}'[print all commands as executed]' \ '(-C --config)'{-C+,--config=}'[specify config file]:config file:_files' \ "(-r --remove -a --all $ign)"{-r,--remove}'[remove module (stacks)]' \ - '--remove-dependencies[also remove modules depending on it]' \ + '!--remove-dependencies' \ + '--remove-holders[also remove module holders]' \ + '(-w --wait)'{-w+,--wait=}"[wait for module's refcount to become 0 so it can be removed (with -r)]:delay (msecs)" \ '(* -R --resolve-alias)'{-R,--resolve-alias}'[only lookup and print alias and exit]' \ '--first-time[fail if module already inserted or removed]' \ "(-a --all $ign)"{'-i[ignore install/remove commands in config file]','--ignore-install[ignore install commands in config file]','--ignore-remove[ignore remove commands in config file]'} \ @@ -76,8 +81,8 @@ _modutils() { '(-D --show-depends)'{-D,--show-depends}'[only print module dependencies and exit]' \ '(-)'{-c,--showconfig,--show-config}'[show current configuration]' \ --{show,dump}'-modversions[dump module symbol version and exit]' \ - {-d+,--dirname=}'[use specified directory as filesystem root]:path:_directories' \ - {-S+,--set-version=}'[use modules from a different kernel version]:kernel_version:($(echo $modules_dir/*(/\:t)))' \ + '(-d --dirname)'{-d+,--dirname=}'[use specified directory as filesystem root]:path:_directories' \ + '(-S --set-version)'{-S+,--set-version=}'[use modules from a different kernel version]:kernel_version:($(echo $modules_dir/*(/\:t)))' \ '--show-exports[only print module exported symbol versions and exit]' \ '(-n --dry-run --show)'{-n,--dry-run,--show}"[don't execute operations, just print]" \ "(-c $ign)1:modules:->loadable-modules" \ @@ -87,17 +92,20 @@ _modutils() { ;; rmmod) - _arguments -s -C "$args[@]" \ + _arguments -s "$args[@]" \ '(-f --force)'{-f,--force}'[allow modules that are in use to be removed]' \ '(-s --syslog)'{-s,--syslog}'[send errors to syslog]' \ '(-v --verbose)'{-v,--verbose}'[be verbose]' \ - '*:loaded module:->loaded-modules' && ret=0 + '*:loaded module:->loaded-modules' && return ;; insmod) - _arguments "$args[@]" \ - '1:module file:_files' \ - '*:module parameters' && ret=0 + _arguments -s "$args[@]" \ + '(-f --force)'{-f,--force}'[forces a module load (dangerous)]' \ + '(-s --syslog)'{-s,--syslog}'[report via syslog instead of stderr]' \ + '(-v --verbose)'{-v,--verbose}'[enable more messages]' \ + '1:module file:_files -g "*.ko(|.gz|.xz|.zst)(-.)"' \ + '*:module option' && return ;; esac diff --git a/Completion/Linux/Command/_ss b/Completion/Linux/Command/_ss index 2a1cfcb78..ac21c3bcb 100644 --- a/Completion/Linux/Command/_ss +++ b/Completion/Linux/Command/_ss @@ -13,23 +13,29 @@ _arguments -C -s \ "($info -r --resolve)"{-r,--resolve}'[resolve host addresses]' \ "($info -a --all -l --listening)"{-a,--all}'[display all sockets]' \ "($info -l --listening -a --all)"{-l,--listening}'[display listening sockets]' \ + "($info -B --bound-inactive)"{-B,--bound-inactive}'[display TCP bound but inactive sockets]' \ "($info -o --options -e --extended)"{-o,--options}'[show timer information]' \ "($info -e --extended -o --options)"{-e,--extended}'[show detailed information]' \ "($info -m --memory)"{-m,--memory}'[show socket memory usage]' \ "($info -p --processes)"{-p,--processes}'[show process using each socket]' \ + "($info -T --threads)"{-T,--threads}'[show thread using socket]' \ "($info -i --info)"{-i,--info}'[show internal TCP information]' \ "($info)--tipcinfo[show internal tipc socket information]" \ "($info -s --summary)"{-s,--summary}'[print summary statistics]' \ "($info)--tos[show tos and priority information]" \ + "($info)--cgroup[show cgroup information]" \ "($info -b --bpf)"{-b,--bpf}'[show bpf filter socket information]' \ + "($info)--bpf-maps[show all BPF socket-local storage maps]" \ + "($info)--bpf-map-id=[show a BPF socket-local storage map]:map ID" \ "($info -E --events)"{-E,--events}'[continually display sockets as they are destroyed]' \ - "($info -Z --context)"{-Z,--context}'[display process SELinux security contexts]' \ - "($info -z --contexts)"{-z,--contexts}'[display process and socket SELinux security contexts]' \ + "($info -Z --context)"{-Z,--context}'[display task SELinux security contexts]' \ + "($info -z --contexts)"{-z,--contexts}'[display task and socket SELinux security contexts]' \ "($info -N --net)"{-N,--net}'[switch to specified network namespace]:network namespace' \ "($info -4 --ipv4 -6 --ipv6)"{-4,--ipv4}'[display only IP version 4 sockets]' \ "($info -4 --ipv4 -6 --ipv6)"{-6,--ipv6}'[display only IP version 6 sockets]' \ "($info -0 --packet)"{-0,--packet}'[display PACKET sockets]' \ "($info -t --tcp)"{-t,--tcp}'[display TCP sockets]' \ + "($info -M --mptcp)"{-M,--mptcp}'[display only MPTCP sockets]' \ "($info -S --sctp)"{-S,--sctp}'[display SCTP sockets]' \ "($info -u --udp)"{-u,--udp}'[display UDP sockets]' \ "($info -d --dccp)"{-d,--dccp}'[display DCCP sockets]' \ @@ -41,7 +47,9 @@ _arguments -C -s \ "($info -f --family)"{-f+,--family=}'[display sockets of specified type]:family:(inet inet6 link unix netlink vsock tipc xdp help)' \ "($info -K --kill)"{-K,--kill}'[forcibly close sockets, display what was closed]' \ "($info -H --no-header)"{-H,--no-header}'[suppress header line]' \ + "($info -Q --no-queues)"{-Q,--no-queues}'[suppress sending and receiving queue columns]' \ "($info -O --oneline)"{-O,--oneline}"[print socket's data on a single line]" \ + "($info)--inet-sockopt[show various inet socket options]" \ "($info -A --query --socket)"{-A+,--query=,--socket=}'[specify socket tables to show]: :_values -s , socket\ table all inet tcp udp raw unix packet netlink unix_dgram unix_stream unix_seqpacket packet_raw packet_dgram vsock_stream vsock_dgram tipc' \ "($info -D)"{-D+,--diag=}'[dump raw info to file]:file:_files' \ "($info -F)"{-F+,--filter=}'[read filter information from a file]:file:_files' \ diff --git a/Completion/Linux/Command/_strace b/Completion/Linux/Command/_strace index 6f42c4ae0..149a1dddb 100644 --- a/Completion/Linux/Command/_strace +++ b/Completion/Linux/Command/_strace @@ -23,11 +23,13 @@ _arguments -C -s \ '(-z -Z --successful-only --failed-only)'{-z,--successful-only}'[trace only system calls that return success]' \ '(-z -Z --successful-only --failed-only)'{-Z,--failed-only}'[trace only system calls that return an error]' \ '(-a --columns)'{-a+,--columns=}'[align return values in a specific column]:column number [40]' \ + '--color=[control use of color]:color [auto]:(never always auto)' \ '(-i --instruction-pointer -c --summary-only)'{-i,--instruction-pointer}'[print instruction pointer at time of syscall]' \ '(-c --summary-only)*-k[obtain stack trace between each syscall]' \ '(-c --summary-only -k)--stack-trace=-[obtain stack trace between each syscall]::symbol' \ '(-c --summary-only)--stack-trace-frame-limit=[specify limit on stack trace frames to print]:frames [256]' \ '(-n --syscall-number)'{-n,--syscall-number}'[print syscall number]' \ + '(-N --arg-names)'{-N,--arg-names}'[print syscall argument names]' \ '(-o --output)'{-o+,--output=}'[send trace output to the specified file]:output file:->file-pipe' \ '(-A --output-append-mode)'{-A,--output-append-mode}'[open the file provided with the -o option in append mode]' \ '--output-separately[output to separate files for child processes (by appending pid to file names)]' \ @@ -95,6 +97,7 @@ case $state in 'status[trace system calls with given return status]:status:->status' \ 'quiet[suppress various information messages]:message [none]:_sequence compadd - none attach exit path-resolution personality thread-execve superseded' \ 'kvm[print the exit reason of kvm vcpu]: :(vcpu)' \ + 'namespace=new[print namespace IDs that the tracee enters]' \ 'decode-fds[print information associated with file descriptors]:information [none]:_sequence compadd - none all path socket dev eventfd pidfd signalfd' \ 'secontext' \ 'decode-pids[print information associated with process IDs]:information [none]:_sequence compadd - none comm pidns' && ret=0 diff --git a/Completion/Linux/Command/_tracepath b/Completion/Linux/Command/_tracepath index f0f777d96..68a3d6ee6 100644 --- a/Completion/Linux/Command/_tracepath +++ b/Completion/Linux/Command/_tracepath @@ -1,9 +1,12 @@ #compdef tracepath tracepath6 _arguments -s -S \ + '(-6)-4[use IPv4]' \ + '(-4)-6[use IPv6]' \ '-n[print IP addresses numerically]' \ '-b[print both host names and IP addresses]' \ '-l+[set the initial packet length]:length (bytes)' \ '-m+[set maximum hops]:maximum [30]' \ '-p+[set initial destination port to use]:port:_ports' \ + '-V[display version information]' \ ':destination:_hosts' diff --git a/Completion/Unix/Command/_cat b/Completion/Unix/Command/_cat index 78c35653c..d15c5f93c 100644 --- a/Completion/Unix/Command/_cat +++ b/Completion/Unix/Command/_cat @@ -1,65 +1,73 @@ #compdef cat gcat +local ign local -a args if _pick_variant gnu='(GNU|uutils)' unix --version; then + (( $#words > 2 )) && ign='!(- : *)' args=( '(-A --show-all)'{-A,--show-all}'[equivalent to -vET]' '(-b --number-nonblank -n --number)'{-b,--number-nonblank}'[number nonempty output lines, overrides -n]' '-e[equivalent to -vE]' - '(-E --show-ends)'{-E,--show-ends}'[display $ at end of each line]' + '(-E --show-ends)'{-E,--show-ends}'[display $ or ^M$ at end of each line]' '(-n --number)'{-n,--number}'[number all output lines]' '(-s --squeeze-blank)'{-s,--squeeze-blank}'[suppress repeated empty output lines]' '-t[equivalent to -vT]' '(-T --show-tabs)'{-T,--show-tabs}'[display TAB characters as ^I]' '-u[ignored]' '(-v --show-nonprinting)'{-v,--show-nonprinting}'[use ^ and M- notation, except for LFD and TAB]' - '(- : *)--help[display help and exit]' - '(- : *)--version[output version information and exit]' + "$ign--help[display help and exit]" + "$ign--version[display version information]" '*: :_files' ) - -elif [[ "$OSTYPE" == (*bsd|dragonfly|darwin)* ]]; then - args=( - -A "-*" +else + # POSIX requires just '-u' + args=( -A "-?*" '(-n)-b[number non-blank output lines]' '(-v)-e[display $ at the end of each line (implies -v)]' - '-n[number all output lines]' - '-s[squeeze multiple blank lines into one]' - '(-v)-t[display tab as ^I (implies -v)]' - '-u[do not buffer output]' '-v[display non-printing chars as ^X or M-a]' - '*: :_files' - ) - [[ $OSTYPE = (free|net)bsd* ]] && args+=( - '-l[set a lock on the stdout file descriptor]' - ) - [[ $OSTYPE = netbsd* ]] && args+=( - '-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 "-*" - '(-b)-n[number all output lines]' - '(-n)-b[number non-blank output lines]' - "-u[don't buffer output]" - '-s[be silent about non-existent files]' - '-v[display non-printing chars as ^X or M-a]' - '-e[display $ at the end of each line (requires -v)]' - '-t[display tab as ^I and formfeeds and ^L (requires -v)]' - '*: :_files' - ) -else - # POSIX requires '-u', and most OSes may support '-n' - args=( '-n[number all output lines]' - '-u[do not buffer output]' + "-u[don't buffer output]" '*: :_files' ) + case $OSTYPE in + (*bsd|dragonfly|darwin)*) + args+=( + '-s[squeeze multiple blank lines into one]' + '(-v)-t[display tab as ^I (implies -v)]' + ) + ;| + (free|net)bsd*) + args+=( + '-l[set a lock on the stdout file descriptor]' + ) + ;| + aix*|solaris*) + args+=( + '(-q)-s[be silent about non-existent files]' + '-t[display tab as ^I and formfeeds and ^L (requires -v)]' + ) + ;| + + aix*) + args+=( + '(-s)-q[be silent about non-existent files]' + '(-r -S)'{-r,-S}'[condense consecutive blank lines to one line]' + '-Z[dump encrypted files in encrypted format]' + ) + ;; + netbsd*) + args+=( + '-B+[read with buffer of specified size]:size (bytes)' + '-f[only attempt to display regular files]' + ) + ;; + darwin*) + args+=( + '-l[set an exclusive advisory lock on standard output]' + ) + ;; + esac fi _arguments -s -S $args diff --git a/Completion/Unix/Command/_column b/Completion/Unix/Command/_column index 737bb4561..d9f397f23 100644 --- a/Completion/Unix/Command/_column +++ b/Completion/Unix/Command/_column @@ -32,10 +32,11 @@ case $variant in + fill '(info table text json -x --fillrows)'{-x,--fillrows}'[print across before down]' + table - '(info fill -t --table)'{-t,--table}'[create a table]' + '(info fill -t --table -S --use-spaces)'{-t,--table}'[create a table]' '(info fill -o --output-separator)'{-o+,--output-separator=}'[specify column separator for table output]:separator [two spaces]' - '(info fill -s --separator)'{-s+,--separator=}'[specify column delimiters in input data]:delimiters' + '(info fill -s --input-separator --separator)'{-s+,--input-separator=,--separator=}'[specify column delimiters in input data]:delimiters' '(info fill -O --table-order)'{-O+,--table-order=}'[specify order of output columns]: :->columns' + '(info)--table-colorscheme=[specify color scheme name]:name [column]' '(info fill -N --table-columns)*'{-C+,--table-column=}'[specify column properties]: :_values -s, -S= property "name[column name]\:name" "trunc[truncate text in the columns when necessary]" @@ -54,13 +55,16 @@ case $variant in '(info fill json -d --table-noheadings)'{-d,--table-noheadings}"[don't print header]" '(info fill json -E --table-noextreme)'{-E+,--table-noextreme}"[specify columns where length can be ignored]: :->columns" '(info fill json -e --table-header-repeat)'{-e,--table-header-repeat}'[repeat header for each page]' + '(info fill json -K --table-header-as-columns)'{-K,--table-header-as-columns}'[use first row as table header]' '(info fill json -H --table-hide)'{-H+,--table-hide=}"[don't print specified columns]: :->columns" '(info fill json -R --table-right)'{-R+,--table-right=}'[right align text in these columns]: :->columns' '(info fill json -T --table-truncate)'{-T+,--table-truncate=}'[truncate text in the columns when necessary]: :->columns' '(info fill json -W --table-wrap)'{-W+,--table-wrap=}'[wrap text in the columns when necessary]: :->columns' + '(info fill json)--wrap-separator=[wrap at specified separator]:string' '(info fill json -r --tree)'{-r+,--tree=}'[specify column to format tree-like]: :->columns' '(info fill json -i --tree-id)'{-i+,--tree-id=}'[specify column containing ID for child-parent relations]: :->columns' '(info fill json -p --tree-parent)'{-p+,--tree-parent=}'[specify column containing reference to parent]: :->columns' + '(info table json -S --use-spaces)'{-S+,--use-spaces=}'[minimal whitespace between columns (no tabs)]:spaces' + json '(info fill text -n --table-name -c --output-width)'{-n+,--table-name=}'[specify table name for JSON output]:name' '(info fill text -J --json -c --output-width)'{-J,--json}'[use JSON output format for table]' diff --git a/Completion/Unix/Command/_drill b/Completion/Unix/Command/_drill index 68fa7917b..6ce634874 100644 --- a/Completion/Unix/Command/_drill +++ b/Completion/Unix/Command/_drill @@ -20,7 +20,7 @@ _arguments -s -S -C \ '(-4)-6[stay on ipv6]' \ '-a[fallback to EDNS0 and TCP if the answer is truncated]' \ '-b+[specify buffer size (defaults to 512 b)]:size (bytes) [512]' \ - '-c+[use specified file for rescursive nameserver configuration]:file [/etc/resolv.conf]:_files' \ + '-c+[use specified file for recursive nameserver configuration]:file [/etc/resolv.conf]:_files' \ '-k+[specify a file that contains a trusted DNSSEC key]:file:_files' \ '*-o+[set/unset header bits]:mnemonic (uppercase sets, lower unsets):_sequence compadd - QR qr AA aa TC tc RD rd CD cd RA ra AD ad' \ '-p+[use specified remote port number]:port:_ports' \ diff --git a/Completion/Unix/Command/_du b/Completion/Unix/Command/_du index 038811eb8..be2cbdfce 100644 --- a/Completion/Unix/Command/_du +++ b/Completion/Unix/Command/_du @@ -5,7 +5,7 @@ if _pick_variant gnu='(Free Soft|uutils)' unix --version /dummy/no-such-file; th _arguments -s \ '(-a --all -s --summarize)'{-a,--all}'[write counts for all files]' \ - '--apparent-size[print apparent sizes rather than disc usage]' \ + '(-A --apparent-size)'{-A,--apparent-size}'[print apparent sizes rather than disc usage]' \ '(-B --block-size -k)'{-B+,--block-size=}'[specify block size]:size (bytes)' \ '(-B --block-size -k --apparent-size -b --bytes)'{-b,--bytes}'[equivalent to --apparent-size --block-size=1]' \ '(-c --total)'{-c,--total}'[produce a grand total]' \ @@ -56,22 +56,22 @@ else local xdev='[skip directories on different filesystems]' for pattern arg in \ '(freebsd|darwin)*' '-A[apparent size instead of usage]' \ - '(darwin*|*bsd*|dragonfly*|solaris2.<10->)' '(-H -L -P)-H[follow symlinks on the command line]' \ + '(aix*|darwin*|*bsd*|dragonfly*|solaris2.<10->)' '(-H -L -P)-H[follow symlinks on the command line]' \ '(darwin|*bsd|dragonfly)*' '(-H -L -P)-P[do not follow symlinks (default)]' \ '(darwin|dragonfly|freebsd)*' '*-I+[ignore files/directories matching specified mask]:mask' \ '(darwin|*bsd|dragonfly)*' '(-a -s -d)-d+[display entry for directories up to specified depth]:depth' \ '(darwin*|*bsd*|dragonfly*|solaris2.<10->)' '(-k -m -g -B)-h[human readable output]' \ 'netbsd*' '-i[output inode usage instead of blocks]' \ - '(darwin*|freebsd*|netbsd*|solaris2.<11->)' '(-h -k -g -B)-m[use block size of 1M-byte]' \ - '(darwin|freebsd<8->.|netbsd)*' '(-h -k -m -B)-g[use block size of 1G-byte]' \ + '(aix*|darwin*|freebsd*|netbsd*|solaris2.<11->)' '(-h -k -g -B)-m[use block size of 1M-byte]' \ + '(aix|darwin|freebsd<8->.|netbsd)*' '(-h -k -m -B)-g[use block size of 1G-byte]' \ '(freebsd|darwin)*' '(-h -k -m -g)-B+[block size]:block size (bytes)' \ '(darwin|*bsd|dragonfly)*' '-c[display grand total]' \ - '(freebsd|darwin)*' '-l[count sizes many times if hard linked]' \ + '(aix|freebsd|darwin)*' '-l[count sizes many times if hard linked]' \ '(freebsd|netbsd)*' '-n[ignore files and directories with nodump flag set]' \ 'solaris*' "(-a)-o[don't add child directories' usage to parent's total]" \ '(freebsd|darwin)*' '-t+[report only entries for which size exceeds threshold]:threshold' \ 'solaris*' "-d$xdev" \ - '(darwin|*bsd|dragonfly|solaris)*' "-x$xdev" + '(aix|darwin|*bsd|dragonfly|solaris)*' "-x$xdev" do [[ $OSTYPE = $~pattern ]] && args+=( $arg ) done diff --git a/Completion/Unix/Command/_entr b/Completion/Unix/Command/_entr index 4fb984af2..ebd66ab72 100644 --- a/Completion/Unix/Command/_entr +++ b/Completion/Unix/Command/_entr @@ -13,6 +13,7 @@ _arguments -s -S \ '(*)-s[evaluate the first argument using interpreter specified by $SHELL]' \ '*-x[format custom exit status messages using a persistent awk(1) process]' \ '-z[exit after the utility completes]' \ + '(- *)-h[display usage information]' \ '(-): :->command' \ '*::arguments:_normal' && ret=0 diff --git a/Completion/Unix/Command/_find b/Completion/Unix/Command/_find index 8628ad43e..2afb46e34 100644 --- a/Completion/Unix/Command/_find +++ b/Completion/Unix/Command/_find @@ -12,17 +12,21 @@ case $variant in '*-local' ) ;| - solaris*|darwin*) + solaris*|darwin*|freebsd<15->.*) args+=( '*-xattr' ) ;| solaris2.<10->|freebsd*|darwin*) args+=( '*-acl' ) ;| - solaris2.<11->|freebsd*|dragonfly*|darwin*|openbsd*|gnu) + aix*|solaris2.<11->|freebsd*|dragonfly*|darwin*|openbsd*|gnu) args+=( '*-amin:access time (minutes)' '*-cmin:inode change time (minutes)' '*-mmin:modification time (minutes)' + ) + ;| + solaris2.<11->|freebsd*|dragonfly*|darwin*|openbsd*|gnu) + args+=( '*-iname:name pattern to match (case insensitive)' '*-print0' ) @@ -36,7 +40,7 @@ case $variant in darwin*|freebsd*|gnu) args+=( '*-Bmin:birth time (minutes)' - '*-Bnewer:file to compare (birth time):_files' + '!*-Bnewer:reference file:_files' '*-newer'{a,B,c,m}{a,B,c,m}'[if [aBcm\]time is newer than [aBcm\]time of given file]:reference file:_files' '*-newerat[if access time is newer than given timestamp]:timestamp: ' '*-newerBt[if birth time is newer than given timestamp]:timestamp: ' @@ -98,7 +102,7 @@ case $variant in ) ;| freebsd*|dragonfly*) args+=( '*-sparse' ) ;| - darwin*) args+=( '*-xattrname:name' ) ;| + darwin*|freebsd<15->.*) args+=( '*-xattrname:name' ) ;| gnu) args+=( '(- *)-help' '(-)--help' diff --git a/Completion/Unix/Command/_flac b/Completion/Unix/Command/_flac index 0197aaf92..d7f3e801c 100644 --- a/Completion/Unix/Command/_flac +++ b/Completion/Unix/Command/_flac @@ -67,7 +67,6 @@ case $service in - 'H' \ '(-)'{-v,--version}'[display version information]' \ '(-)'{-h,--help}'[display help information]' \ - '(-)'{-H,--explain}'[display detailed explanation of usage and options]' \ - encode \ '(-V --verify)'{-V,--verify}'[verify a correct encoding]' \ --lax --ignore-chunk-sizes '!--sector-align' --replay-gain \ @@ -88,6 +87,7 @@ case $service in '(-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]" \ + '(-j --threads)'{-j+,--threads=}'[set number of encoding threads]:threads' \ '--endian=:byte order:(big little)' \ '--channels=:channels' \ '--bps=:bits per sample' \ @@ -102,6 +102,7 @@ case $service in '(-F --decode-through-errors)'{-F,--decode-through-errors}'[continue decoding through stream errors]' \ '--apply-replaygain-which-is-not-lossless=:specification' \ '--cue=[set the beginning and ending cuepoints to decode]:cue point' \ + '--decode-chained-stream[decode all links in a chained Ogg stream, not just the first one]' \ '(--force-raw-format --force-rf64-format --force-wave64-format --force-legacy-wave-format --force-extensible-wave-format --force-aiff-c-none-format --force-aiff-c-sowt-format)--force-aiff-format' \ '(--force-raw-format --force-aiff-format --force-wave64-format --force-legacy-wave-format --force-extensible-wave-format --force-aiff-c-none-format --force-aiff-c-sowt-format)--force-rf64-format' \ '(--force-raw-format --force-aiff-format --force-rf64-format --force-legacy-wave-format --force-extensible-wave-format --force-aiff-c-none-format --force-aiff-c-sowt-format)--force-wave64-format' \ @@ -112,6 +113,7 @@ case $service in ;; metaflac) _arguments -S $shared \ + '(-o --output-name)'{-o+,--output-name=}'[write changes to a new file]:file:_files' \ '(--no-filename)--with-filename[prefix output with filename]' \ '(--with-filename)--no-filename' \ '--dont-use-padding[always rewrite the file]' \ diff --git a/Completion/Unix/Command/_fuser b/Completion/Unix/Command/_fuser index 05de1c529..90124ea30 100644 --- a/Completion/Unix/Command/_fuser +++ b/Completion/Unix/Command/_fuser @@ -69,9 +69,12 @@ case $variant in args+=( '-n[list only processes with non-blocking mandatory locks]' ) - ;; + ;| solaris2.<10->) args+=( '-d[report device usage for all minor nodes bound to same device]' ) + ;| + solaris2.<11->) + args+=( "-l[don't resolve symlinks to target file]" ) ;; sysv4 ) (( $+words[(r)-k] )) && argf=( ':name: _alternative signals\:signal\:_signals\ -p files:file:_files' ) diff --git a/Completion/Unix/Command/_gcc b/Completion/Unix/Command/_gcc index 03c3eb2f2..1f05edb73 100644 --- a/Completion/Unix/Command/_gcc +++ b/Completion/Unix/Command/_gcc @@ -337,7 +337,7 @@ i[3456]86|x86_64) '-mstack-arg-probe[enable stack probing]' '-mstack-protector-guard=-[use given stack-protector guard]:guard:(global tls)' '-mstackrealign[realign stack in prologue]' - '-mstringop-strategy=-[chose strategy to generate stringop using]:stringop strategy:(byte_loop libcall loop rep_4byte rep_8byte rep_byte unrolled_loop)' + '-mstringop-strategy=-[choose strategy to generate stringop using]:stringop strategy:(byte_loop libcall loop rep_4byte rep_8byte rep_byte unrolled_loop)' '-mstv[disable Scalar to Vector optimization pass transforming 64-bit integer computations into a vector ones]' '-mtbm[support TBM built-in functions and code generation]' '-mthreads[support thread-safe exception handling on MinGW]' @@ -1837,6 +1837,8 @@ args+=( '-fno-stack-limit[do not limit the size of the stack]' '-fno-threadsafe-statics[do not generate thread-safe code for initializing local statics]' '-fnothrow-opt[treat a throw() exception specification as noexcept to improve code size]' + '-foffload=[specify offloading targets]:target list' + '-foffload-options=:option list' '-fomit-frame-pointer[when possible do not generate stack frames]' '-fopenacc[enable OpenACC]' '-fopenmp[enable OpenMP (implies -frecursive in Fortran)]' diff --git a/Completion/Unix/Command/_git b/Completion/Unix/Command/_git index cbf577680..2b37ffa50 100644 --- a/Completion/Unix/Command/_git +++ b/Completion/Unix/Command/_git @@ -207,7 +207,8 @@ _git-archive () { _git-backfill() { _arguments -S \ '--min-batch-size=[specify minimum number of objects to request at a time]:number of objects' \ - '--sparse[only download objects at a path matching current sparse-checkout]' + '--sparse[only download objects at a path matching current sparse-checkout]' \ + '--no-include-edges[exclude blobs from boundary commits in the backfill]' } (( $+functions[_git-bisect] )) || @@ -557,7 +558,7 @@ _git-checkout () { elif [[ -n ${opt_args[(I)-b|-B|-t|--track|--orphan|--detach]} ]]; then _nothing - elif [[ -n $line[1] ]] && __git_is_treeish ${(Q)line[1]}; then + elif [[ -n $line[1] && $line[1] != (@|HEAD) ]] && __git_is_treeish ${(Q)line[1]}; then __git_ignore_line __git_tree_files ${PREFIX:-.} ${(Q)line[1]} && ret=0 else __git_ignore_line __git_modified_files && ret=0 @@ -698,7 +699,7 @@ _git-clone () { '(--single-branch)--no-single-branch[clone history leading up to each branch]' \ "--no-tags[don't clone any tags and make later fetches not follow them]" \ '--shallow-submodules[any cloned submodules will be shallow]' \ - '(--recursive --recurse-submodules)'{--recursive,--recurse-submodules}'=-[initialize submodules in the clone]::file:__git_files' \ + '(--recursive --recurse-submodules)'{--recursive,--recurse-submodules}'=-[initialize submodules in the clone]::file:_files' \ '--separate-git-dir[place .git dir outside worktree]:path to .git dir:_path_files -/' \ '--ref-format=[specify reference format to use]:format:(files reftable)' \ \*--server-option='[send specified string to the server when using protocol version 2]:option' \ @@ -2008,7 +2009,7 @@ _git-sparse-checkout() { _git-stash () { local curcontext=$curcontext state line ret=1 declare -A opt_args - local -a save_arguments + local -a save_arguments args save_arguments=( '(-p --patch -a --all -u --include-untracked)'{-p,--patch}'[interactively select hunks from diff between HEAD and working tree to stash]' @@ -2085,8 +2086,9 @@ _git-stash () { '(-u --include-untracked)--only-untracked[show only the untracked files in the stash entry as part of the diff]' \ ':: :__git_stashes' && ret=0 ;; - (pop|apply) - _arguments -S $endopt \ + apply) args=( '--label-'{ours,theirs,base}'=:label' ) ;& + pop) + _arguments -S $endopt $args \ '--index[try to reinstate the changes added to the index as well]' \ '(-q --quiet)'{-q,--quiet}'[suppress all output]' \ ':: :__git_stashes' && ret=0 @@ -4427,7 +4429,8 @@ _git-repack () { '--pack-kept-objects[repack objects in packs marked with .keep]' \ '--keep-pack=[ignore named pack]:pack' \ '(-g --geometric)'{-g+,--geometric=}'[find a geometric progression with specified factor]:factor' \ - '(-m --write-midx)'{-m,--write-midx}'[write a multi-pack index of the resulting packs]' \ + '(--write-midx)-m[write a multi-pack index of the resulting packs]' \ + '(-m)--write-midx=-[write a multi-pack index of the resulting packs]:mode:(default incremental)' \ '--expire-to=[pack prefix to store a pack containing pruned objects]:directory:_directories' \ '--filter-to=[pack prefix to store a pack containing filtered out objects]:directory:_directories' } @@ -4586,11 +4589,34 @@ _git-fsck () { '*: :__git_objects' } +(( $+functions[_git-format-rev] )) || +_git-format-rev() { + _arguments -S $endopt \ + '--format=[specify format]:format:__git_format_placeholders' \ + '--stdin-mode=[specify stdin mode]:mode:(revs text)' \ + '--notes=[display notes for pretty format]:reference' \ + '(-z --null --null-input --null-output)'{-z,--null}'[use NUL for input and output termination]' \ + '(-z --null)--null-input[use NUL for input termination]' \ + '(-z --null)--null-output[use NUL for output termination]' +} + (( $+functions[_git-get-tar-commit-id] )) || _git-get-tar-commit-id () { _message 'no arguments allowed; accepts tar-file on standard input' } +(( $+functions[_git-last-modified] )) || +_git-last-modified() { + _arguments -s \ + '(-r --recursive)'{-r,--recursive}'[recurse into subtrees]' \ + '(-t --show-trees)'{-t,--show-trees}'[show tree entries when recursing into subtrees]' \ + '--max-depth=[specify maximum tree depth to recurse]:depth [0]' \ + '-z[separate lines with NUL character]' \ + '1: :__git_commit_ranges' \ + \!--{,end-of-options}':*: :__git_tree_files ${PREFIX:-.} HEAD' \ + '*: :__git_tree_files ${PREFIX:-.} $line[1]' +} + (( $+functions[_git-help] )) || _git-help () { _arguments -S -s \ @@ -5499,7 +5525,7 @@ _git-mktree () { (( $+functions[_git-multi-pack-index] )) || _git-multi-pack-index() { - _arguments \ + _arguments -S \ '--object-dir=[specify location of git objects]:directory:_directories' \ '(--progress)--no-progress[turn progress off]' '!(--no-progress)--progress' \ '--preferred-pack=[break ties in favor of specified pack]:pack' \ @@ -5508,7 +5534,11 @@ _git-multi-pack-index() { '--refs-snapshot=[specify a file which contains a "refs snapshot" taken prior to repacking]:file:_files' \ '--incremental[write an incremental MIDX file]' \ '--batch-size=[during repack, select packs so as to have pack files of at least the specified size]:size' \ - '1:verb:(write compact verify expire repack)' + "--write-chain-file[write new MIDX layer but don't update multi-pack-index-chain file]" \ + '--base=[specify checksum of MIDX layer to use as base]:checksum' \ + '1:verb:(write compact verify expire repack)' \ + '2:from (checksum)' \ + '3:to (checksum)' } (( $+functions[_git-pack-objects] )) || @@ -6426,6 +6456,7 @@ _git-hook() { '--allow-unknown-hook-name' \ '-z[terminate output lines with NUL instead of newlines]' \ '--show-scope[prefix each hook name with a config scope]' \ + '(-j --jobs)'{-j+,--jobs=}'[allow specified number of simultaneous hooks]:jobs' \ '1:subcommand:(run list)' \ '2:hook name:compadd $gitdir/hooks/*(x\:t)' } @@ -6483,6 +6514,13 @@ _git-stripspace () { '(-c --comment-lines -s --strip-comments)'{-c,--comment-lines}'[prepend comment character and blank to each line]' } +(( $+functions[_git-url-parse] )) || +_git-url-parse() { + _arguments -S $endopt \ + '(-c --component)'{-c+,--component=}'[specific URL component]:component:(scheme user password host port path)' \ + '*: :_guard "^-*" url' +} + # INTERNAL GIT COMPLETION FUNCTIONS # Generic Helpers @@ -6769,13 +6807,16 @@ _git_commands () { diff-tree:'compare content and mode of blobs found via two tree objects' for-each-ref:'output information on each ref' for-each-repo:'run a git command on a list of repositories' + format-rev:'pretty format revisions from stdin' get-tar-commit-id:'extract commit ID from an archive created using git archive' + last-modified:'show when files were last modified' ls-files:'information about files in index/working directory' ls-remote:'show references in a remote repository' ls-tree:'list contents of a tree object' merge-base:'find as good a common ancestor as possible for a merge' name-rev:'find symbolic names for given revisions' pack-redundant:'find redundant pack files' + repo:'retrieve information about repository' rev-list:'list commit object in reverse chronological order' rev-parse:'pick out and massage parameters for other git commands' show-index:'show packed archive index' @@ -6811,8 +6852,10 @@ _git_commands () { mailinfo:'extract patch and authorship from a single email message' mailsplit:'split mbox file into a list of files' merge-one-file:'standard helper-program to use with git merge-index' - patch-id:'compute unique ID for a patch' - stripspace:'filter out empty lines') + patch-id:'compute unique ID for patches' + stripspace:'filter out empty lines' + url-parse:'parse and extract git URL components' + ) zstyle -a :completion:$curcontext: user-commands user_commands @@ -8714,11 +8757,13 @@ __git_setup_fetch_options () { '(-q --quiet)--progress[force progress reporting]' '--show-forced-updates[check for forced-updates on all updated branches]' '--set-upstream[set upstream for git pull/fetch]' - '--shallow-since=[deepen history of shallow repository based on time]:time' \ - '*--shallow-exclude=[deepen history of shallow clone by excluding ref]:reference' \ - '--deepen[deepen history of shallow clone]:number of commits' \ + '--shallow-since=[deepen history of shallow repository based on time]:time' + '*--shallow-exclude=[deepen history of shallow clone by excluding ref]:reference' + '--deepen[deepen history of shallow clone]:number of commits' \*{-o+,--server-option=}'[send specified string to the server when using protocol version 2]:option' - '--negotiation-tip=[only report refs reachable from specified object to the server]:commit:__git_commits' \ + '--negotiation-restrict=[only report refs reachable from specified object to the server]:commit:__git_commits' + '!--negotiation-tip=:commit:__git_commits' + '--negotiation-include=[report given commit as "have" in negotiation]:commit:__git_commits' ) } diff --git a/Completion/Unix/Command/_gnutls b/Completion/Unix/Command/_gnutls index 4c1698857..c62269afc 100644 --- a/Completion/Unix/Command/_gnutls +++ b/Completion/Unix/Command/_gnutls @@ -182,7 +182,8 @@ case "$service" in '--cprint[prints certain information is C-friendly format]' '--null-password[enforce a NULL password]' '--empty-password[enforce an empty password]' - '--key-type=[specify the key type to use on key generation]:key type' + '--key-type=[specify key type to use on key generation]:key type' + '--key-format=[specify key format to use on key generation]:key format:(seed expanded both)' '(-i --certificate-info)'{-i,--certificate-info}'[print information on a certificate]' '(-l --crl-info)'{-l,--crl-info}'[print information on a CRL]' '--crq-info[print information on a certificate request]' diff --git a/Completion/Unix/Command/_gpg b/Completion/Unix/Command/_gpg index ea0a452f2..d704af92f 100644 --- a/Completion/Unix/Command/_gpg +++ b/Completion/Unix/Command/_gpg @@ -95,7 +95,6 @@ fi '(--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]" '(-i --interactive --batch)'{-i,--interactive}'[prompt before overwriting files]' '(-i --interactive --no-batch)--batch[use batch mode]' diff --git a/Completion/Unix/Command/_gphoto2 b/Completion/Unix/Command/_gphoto2 index df17aa111..4ff5ce1c1 100644 --- a/Completion/Unix/Command/_gphoto2 +++ b/Completion/Unix/Command/_gphoto2 @@ -72,6 +72,8 @@ _arguments -s -C \ '--get-all-raw-data[get all raw data from folder]' \ '--get-audio-data=[get audio data given in range]:range' \ '--get-all-audio-data[get all audio data from folder]' \ + '--get-exif=[get files in given range]:range' \ + '--get-all-exif[get all files from folder]' \ '(-d --delete-file)'{-d,--delete-file=}'[delete files in given range]:range' \ '(-D --delete-all-files)'{-D,--delete-all-files}'[delete all files in folder]' \ '(-u --upload-file)'{-u,--upload-file=}'[upload a file to camera]:file:_files' \ @@ -80,6 +82,7 @@ _arguments -s -C \ '(-f --folder)'{-f,--folder=}'[specify camera folder]:folder [/]' \ '(-R --recurse --no-recurse)'{-R,--recurse}'[recursion (default for download)]' \ '(-R --recurse)--no-recurse[no recursion (default for deletion)]' \ + '--reverse[reverse order of file operations]' \ '--new[process new files only]' \ '--force-overwrite[overwrite files without asking]' \ '--skip-existing[skip files that already exist on local filesystem]' && ret=0 diff --git a/Completion/Unix/Command/_hardlink b/Completion/Unix/Command/_hardlink new file mode 100644 index 000000000..8a62779aa --- /dev/null +++ b/Completion/Unix/Command/_hardlink @@ -0,0 +1,43 @@ +#compdef hardlink + +local ign +local -a args + +(( $#words > 2 )) && ign='!(- *)' + +if _pick_variant linux=util-linux jak -V; then + args=( + '(-c --content -p --ignore-mode -o --ignore-owner -t --ignore-time)'{-c,--content}'[compare only file contents, same as -pot]' + '(-b --io-size)'{-b+,--io-size=}'[specify I/O buffer size for file reading]: :_numbers "IO buffer size" K M G T P' + '(-d --respect-dir)'{-d,--respect-dir}'[directory names have to be identical]' + '(-F --prioritize-trees)'{-F,--prioritize-trees}'[keep files found in the earliest specified top-level]' + '(-l --list-duplicates)'{-l,--list-duplicates}"[just list paths of duplicates, don't link them]" + '--mount[stay within the same filesystem]' + '(-q --quiet)'{-q,--quiet}"[quiet mode - don't print anything]" + '(-r --cache-size)'{-r+,--cache-size=}'[specify memory limit for cached file content data]: :_numbers size K M G T P' + '(--skip-reflinks)--reflink=-[create clone/CoW copies]::when [auto]:(auto always never)' + '--skip-reflinks[skip already cloned files]' + '(-S --maximum-size)'{-S+,--maximum-size=}'[specify maximum size for files]: :_numbers -u bytes -d 0 size K M G T P E Z Y' + '--exclude-subtree[specify regular expression to exclude directories]:regex' + '(-X --respect-xattrs)'{-X,--respect-xattrs}'[respect extended attributes]' + '(-y --method)'{-y+,--method=}'[specify file content comparison method]:method [sha256]:(sha256 sha1 crc32c memcmp)' + '(-z --zero)'{-z,--zero}'[delimit output with NULs instead of newlines]' + ) +fi + +_arguments -S -s $args \ + '(-f --respect-name)'{-f,--respect-name}'[filenames have to be identical]' \ + '(-i --include)'{-i+,--include=}'[regular expression to include files/dirs]:regex' \ + '(-m --maximize -M --minimize)'{-m,--maximize}'[keep the file with the most links]' \ + '(-M --minimize -m --maximize)'{-M,--minimize}'[keep the file with the fewest links]' \ + '(-n --dry-run)'{-n,--dry-run}"[don't actually link anything]" \ + '(-o --ignore-owner -c --content)'{-o,--ignore-owner}'[ignore owner changes]' \ + '(-O --keep-oldest)'{-O,--keep-oldest}'[keep the oldest file of multiple equal files]' \ + '(-p --ignore-mode -c --content)'{-p,--ignore-mode}'[ignore changes of file mode]' \ + '(-s --minimum-size)'{-s+,--minimum-size=}'[specify minimum size for files]: :_numbers -u bytes -d 1 size K M G T P E Z Y' \ + '(-t --ignore-time -c --content)'{-t,--ignore-time}'[ignore timestamps (when testing for equality)]' \ + \*{-v,--verbose}'[more verbose output]' \ + '(-x --exclude)'{-x+,--exclude=}'[specify regular expression to exclude files]:regex' \ + "$ign"{-h,--help}'[display usage information]' \ + "$ign"{-V,--version}'[display version information]' \ + '*:file or directory:_files' diff --git a/Completion/Unix/Command/_ldd b/Completion/Unix/Command/_ldd index 98ac41e14..bbac09225 100644 --- a/Completion/Unix/Command/_ldd +++ b/Completion/Unix/Command/_ldd @@ -26,6 +26,17 @@ else '-s[display search path used]' '-v[displays all dependency relationships]' ) + ;| + solaris2.<11->) + args+=( + '-c[disable configuration file used]' + '-D[skip deferred dependency loading]' + '-p[display unresolved parent and external references]' + '-S+[specify system root]:directory:_directories' + '-w[display unresolved weak references]' + '(- *)'{-\?,--help}'[display usage information]' + '(- *)'{-V,--version}'[display version information]' + ) ;; freebsd*) args=( diff --git a/Completion/Unix/Command/_less b/Completion/Unix/Command/_less index b7e658d7e..f20a50818 100644 --- a/Completion/Unix/Command/_less +++ b/Completion/Unix/Command/_less @@ -88,17 +88,25 @@ _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 of columns or fraction of screen width [.5]" \ + '--autosave=[set additional actions which cause the history file to be saved]: : _values -s "" action + "(*)m[setting or clearing a mark]" + "(*)/[searching]" + "(*)\![running a shell command]" + "(m / !)\*[any action; same as m/!]"' \ + '--emouse=[enable mouse features]:mouse feature:_sequence compadd - vscroll vdrag hscroll hdrag lclick rclick scroll drag hmove vmove move click all' \ + '--end-prompt=[specify string to be printed after erasing the prompt]:string' \ '--exit-follow-on-close[exit F command on a pipe when writer closes pipe]' \ '--file-size[automatically determine the size of the input file]' \ '--follow-name[the F command changes file if the input file is renamed]' \ '--form-feed[stop scrolling when a form feed character (^L) is reached]' \ '--header=[set header size]:lines,columns,first-line' \ + '--hilite-target=[highlight the target line]' \ '--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]' \ '--match-shift=[with -S, shift horizontally to make the match visible]:number of columns or fraction of screen width' \ '--modelines=[look for vim modelines]:number of lines to search' \ - '(--MOUSE)--mouse[enable mouse input]' \ + '(--MOUSE)--mouse[enable mouse clicking and vertical scrolling]' \ '(--mouse)--MOUSE[enable mouse input, wheel down moves backwards in the file]' \ "--no-edit-warn[don't warn when using v command on a file opened by LESSOPEN]" \ '--no-histdups[remove duplicates from command history]' \ @@ -123,6 +131,7 @@ _arguments -S -s -A "[-+]*" \ "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]' \ + '--past-eof[scrolling commands continue past end of file]' \ '--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]' \ diff --git a/Completion/Unix/Command/_ngrep b/Completion/Unix/Command/_ngrep index 924597826..28d6ddc88 100644 --- a/Completion/Unix/Command/_ngrep +++ b/Completion/Unix/Command/_ngrep @@ -25,6 +25,8 @@ _arguments -s -S \ '-S+[set the upper limit on size of packets matched]:size (bytes)' \ '(-x)-W+[set the dump format]:packet display format:(normal byline single none)' \ '-c+[force the column width to the specified size]:columns' \ + '-C[colorize matches in packet contents output]' \ + '-u[show payload as UTF-8 characters]' \ '-P+[set the non-printable display char to what is specified]:character [.]' \ '-F+[read the bpf filter from the specified file]:file:_files' \ '-N[show sub protocol number]' \ diff --git a/Completion/Unix/Command/_nm b/Completion/Unix/Command/_nm index a78eb7068..725ed3c39 100644 --- a/Completion/Unix/Command/_nm +++ b/Completion/Unix/Command/_nm @@ -69,7 +69,13 @@ if _pick_variant -r variant binutils=GNU elftoolchain=elftoolchain elfutils=elfu '--special-syms[include special symbols in the output]' '--synthetic[display synthetic symbols as well]' "--target=[target object format]:target:(${${(@M)${(f)$(_call_program targets nm --help)}:#*supported targets:*}##*: })" - '--unicode=[specify how to treat UTF-8 encoded unicode characters]:how_to_treat:(default show invalid hex escape highlight)' + '--unicode=[specify how to treat UTF-8 encoded unicode characters]: : _values "treatment [default]" + {d,default}"[no special treatment]" + {l,locale}"[convert to current locale]" + {i,invalid}"[not part of a valid string]" + {x,hex}"[<> enclosed hex byte sequences]" + {e,escape}"[escape sequences (\\\\uxxxx)]" + {h,highlight}"[escape sequences highlighted in red]"' \ '(-W --no-weak)'{-W,--no-weak}'[ignore weak symbols]' '--with-symbol-versions[display version strings after symbol names]' '--without-symbol-versions[not display of symbol version information]' diff --git a/Completion/Unix/Command/_nmap b/Completion/Unix/Command/_nmap index 2a507baa3..4325a5317 100644 --- a/Completion/Unix/Command/_nmap +++ b/Completion/Unix/Command/_nmap @@ -1,63 +1,125 @@ #compdef nmap -local curcontext="$curcontext" state line suf ret=1 +local curcontext="$curcontext" ign dir ret=1 +local -a state line expl suf +local -A opt_args +local -aU scripts categories -_arguments -C \ +(( $#words == 2 )) || ign='!(- *)' +_arguments -s -S -C \ + '!(-6)-4' \ '!-sI:zombie host:_hosts' \ - '!-P'{T,S,U}'+:port list' \ - '*-s-[specify scan type]:scan type:((S\:TCP\ SYN\ scan T\:TCP\ connect\(\)\ scan F\:stealth\ FIN\ scan X\:stealth\ Xmas\ tree\ scan N\:stealth\ null\ scan P\:ping\ scanning U\:UDP\ scan O\:IP\ protocol\ scan I\:idle\ scan A\:ACK\ scan W\:window\ scan R\:RPC\ scan L\:list\ scan V\:version\ detection))' \ - '-b[specify ftp relay host]:ftp relay host:_hosts' \ - '*-P-[specify probe types and options]:probe type/options:->probe-opts' \ - '-A[enable OS detection and version scanning]' \ - '-O[enable remote OS identification]' \ - '-6[enable IPv6 support]' \ - '-I[enable TCP reverse ident scanning]' \ - '-f[use tiny fragmented IP packets]' \ - '*-v[verbose mode]' \ - '-h[show help information]' \ - '*-o-[log results]:log format:->log-forms:log filename:_files' \ - '--resume[resume cancelled scan]:log filename:_files' \ - '--append-output[append results to any log files]' \ + '!-P'{S,A,U,Y}'+:port list' \ + '!-PO+:protocol list' \ + '!(-F -p --exclude-ports)-sn' \ '-iL[read target specifications from file]:file:_files' \ '-iR[scan random hosts]:num hosts' \ - '-p[specify ports to try]:port numbers' \ + '--exclude[specify hosts/networks to exclude]:host list:_sequence _hosts' \ + '--excludefile[use exclude list from a file]:file:_files' \ + '*-s-[specify scan type]:scan type:((S\:TCP\ SYN\ scan T\:TCP\ connect\(\)\ scan F\:stealth\ FIN\ scan X\:stealth\ Xmas\ tree\ scan N\:stealth\ null\ scan P\:ping\ scanning U\:UDP\ scan O\:IP\ protocol\ scan I\:idle\ scan A\:TCP\ ACK\ scan W\:TCP\ window\ scan M\:TCP\ Maimon\ scan R\:RPC\ scan L\:list\ scan Y\:SCTP\ INIT\ scan Z\:SCTP\ COOKIE-ECHO\ scan V\:version\ detection n\:no\ port\ scan C\:equivalent\ to\ --script=default))' \ + '*-P-[specify probe types and options]:probe type/options:->probe-opts' \ + '(-R --dns-servers --system-dns)-n[skip reverse DNS to speed things up]' \ + '(-n)-R[always do reverse DNS on targets]' \ + '--resolve-all[scan all addresses resolved via DNS]' \ + '--unique[scan each address only once]' \ + '(--dns-servers -n)--system-dns[use OS DNS resolver for reverse lookups]' \ + '(--system-dns -n)--dns-servers[specify custom DNS servers for reverse lookups]:server:_sequence _hosts' \ + "--disable-arp-ping[don't do ARP or IPv6 ND of locally connected ethernet hosts]" \ + "--discovery-ignore-rst[don't treat RST replies as proof of a target being up]" \ + '--traceroute[trace hop path to each host]' \ + '--scanflags[customize TCP scan flags]:TCP flags:->tcp-flags' \ + '-b[specify ftp relay host]:ftp relay host:_hosts' \ + '-p+[specify ports to try]:port numbers' \ + '--exclude-ports[exclude specified ports]:port numbers' \ '-F[scan only ports listed in services file]' \ - '-D[perform decoy scan]:host list:_sequence -s, _hosts' \ - '-S[specify source address]:address:_hosts' \ + "-r[don't randomize order in which ports are scanned]" \ + '--top-ports[scan most common ports]:number of ports' \ + '--port-ratio[scan ports more common than specified ratio]: :_numbers -l 0.0 -m 1.0 ratio' \ + "--allports[don't exclude any ports from version detection]" \ + '(--version-light --version-all)--version-intensity[limit version probes to try]:level:((0\:light 1 2 3 4 5 6 7 8 9\:try\ all))' \ + '(--version-intensity --version-all)--version-light[alias for --version-intensity 2]' \ + '(--version-intensity --version-light)--version-all[alias for --version-intensity 9]' \ + '--version-trace[show packets related to version scanning]' \ + '-O[enable remote OS identification]' \ + '--osscan-limit[limit OS detection to promising targets]' \ + '(--osscan-guess --fuzzy)'{--osscan-guess,--fuzzy}'[guess OS more aggressively]' \ + '--max-os-tries[set maximum number of OS detection tries against a target]:tries [5]' \ + '--script=[specify Lua scripts]:script:->scripts' \ + '--script-args[provide arguments to scripts]:arguments' \ + '--script-args-file[provide script arguments in a file]:file:_files' \ + '--script-trace[show all data sent and received]' \ + '--script-updatedb[update the script database]' \ + "$ign--script-help=[show help about scripts]:script:->scripts" \ + --{min,max}-hostgroup'[set parallel scan group size]:size' \ + --{min,max}-parallelism'[specify number of scans to perform in parallel]:number' \ + --{min,max}-rtt-timeout'[set time to wait for a probe response]: :_numbers -u seconds time \:s ms m h' \ + '--initial-rtt-timeout[specify initial probe timeout]: :_numbers -u seconds timeout \:s ms m h' \ + '--max-retries[cap number of port scan probe retransmissions]:tries' \ + '--host-timeout[specify maximum time for scanning a single host]: :_numbers -u seconds timeout \:s ms m h' \ + '--script-timeout[set a ceiling on script execution time]:max time' \ + '(--scan-delay --max-scan-delay)'--{max-,}'scan-delay[set amount of time between probes to a given host]: :_numbers -u seconds delay \:s ms m h' \ + '--min-rate[send packets no slower than number per second]:packets' \ + '--max-rate[send packets no faster than number per second]:packets' \ + '--defeat-'{rst,icmp}'-ratelimit' \ + '--nsock-engine:IO multiplexing engine:(iocp epoll kqueue poll select)' \ + '-T[set a timing template]:timing policy:(paranoid sneaky polite normal aggressive insane)' \ + '-f[fragment packets]' \ + '--mtu=[specify MTU, with -f]:mtu' \ + '-D[perform decoy scan]:host list:_sequence _hosts' \ + '-S[spoof source address]:address:_hosts' \ '-e[specify interface to use]:network interface:_net_interfaces' \ - '-g[specify source port number]:port number' \ + '(-g --source-port)'{-g,--source-port=}'[specify source port number]:port number' \ + '--data=[append a custom payload to sent packets]:payload (hex string)' \ + '--data-string=[append a custom ASCII string to sent packets]:string' \ '--data-length[add random data to packets]:data length' \ - '(-R)-n[skip reverse DNS to speed things up]' \ - '(-n)-R[always do reverse DNS on targets]' \ - "-r[don't randomize order in which ports are scanned]" \ - '-ttl[specify IPv4 time to live for sent packets]' \ + '--ip-options=[send packets with specified IP options]:IP options:->ip-options' \ + '--ttl[specify IPv4 time to live for sent packets]:time-to-live' \ '--randomize-hosts[scan hosts in random order]' \ - '-M[specify maximum number of parallel TCP connects]:maximum TCP connects' \ + '--spoof-mac=[spoof your MAC address]:MAC address' \ + '--proxies=[relay connections through HTTP/SOCKS4 proxies]:proxy:_sequence _urls' \ + '--badsum[send packets with a bogus TCP/UDP/SCTP checksum]' \ + '--adler32[use deprecated Adler32 instead of CRC32C for SCTP checksums]' \ + '*-o-[log results]:log format:->log-forms: :{_files || _date_formats}' \ + '*-v-[increase verbosity]::level' \ + '*-d-[increase debugging level]::level' \ + '--reason[show why a port is in a particular state]' \ + '--stats-every=[print periodic timing stats]: :_numbers -u seconds interval \:s ms m h' \ + '--open[only show open (or possibly open) ports]' \ '--packet-trace[show all packets sent in tcpdump-like format]' \ - '--version-trace[show packets related to version scanning]' \ - '--datadir[specify directory containing data files]:directory:_directories' \ - '-T[specify timing policy]:timing policy:(Paranoid Sneaky Polite Normal Aggressive Insane)' \ - '--host-timeout[specify maximum time for scanning a single host]:timeout (ms)' \ - '--max-rtt-timeout[maximum time for a probe response]:timeout (ms)' \ - '--min-rtt-timeout[minimum time to wait for a probe response]:time (ms)' \ - '--initial-rtt-timeout[specify initial probe timeout]:timeout (ms)' \ - '--max-parallelism[specify max number of scans to perform in parallel]:number' \ - '--min-parallelism[scan at least specified number of ports in parallel]:number' \ - '--scan-delay[specify minimum amount of time between probes]:delay (ms)' \ - '--interactive[go into interactive mode]' \ + "$ign--iflist[list interfaces and routes]" \ + '--append-output[append results to any log files]' \ + "$ign--resume[resume aborted scan]:log filename:_files" \ + '--noninteractive[disable runtime interactions via keyboard]' \ + '(--webxml)--stylesheet[specify XSL stylesheet to transform XML output to HTML]:stylesheet:_urls' \ + '(--stylesheet)--webxml[load stylesheet from Nmap.Org]' \ + '--no-stylesheet[omit XSL stylesheet declaration from XML]' \ + '-6[enable IPv6 scanning]' \ + '(-O)-A[enable OS detection, version detection, script scanning and traceroute]' \ + '--datadir=[specify custom Nmap data file location]:directory:_directories' \ + '--servicedb=[specify custom services file]:services file:_files' \ + '--versiondb=[specify custom service probes file]:service probes file:_files' \ + '(--send-ip)--send-eth[send using raw ethernet frames]' \ + '(--send-eth)--send-ip[send using raw IP packets]' \ + '(--unprivileged)--privileged[assume user is fully privileged]' \ + '(--privileged)--unprivileged[assume user lacks raw socket privileges]' \ + '!--release-memory' \ + "$ign"{-V,--version}'[print version number]' \ + "$ign"{-h,--help}'[print help summary]' \ '*:host:_hosts' && ret=0 case $state in probe-opts) - _values -S '' 'probe type/option' \ - "0[don't try to ping hosts before scanning]" \ - 'T[use TCP "ping"]' \ - 'S[use SYN packets instead of ACK]' \ - 'U[send UDP probes]' \ - 'E[use a true ping]' \ - 'P[use an ICMP timestamp request]' \ - 'M[use a netmask request]' \ - 'B[use ACK and ICMP echo in parallel]' && ret=0 + _values -S '' 'discovery probe type [R]' \ + 'n[skip host discovery]' \ + 'A[use TCP with ACK flag]' \ + 'S[use TCP with SYN flag]' \ + 'U[use UDP discovery probe]' \ + 'Y[use SCTP discovery probe]' \ + 'E[use ICMP echo request ]' \ + 'P[use ICMP timestamp request]' \ + 'M[use ICMP netmask request]' \ + 'O[IP protocol ping]' \ + 'R[use ARP]' && ret=0 ;; log-forms) _values 'log format' \ @@ -65,13 +127,50 @@ case $state in 'X[XML]' \ 'G[grepable]' \ 'A[all]' \ - 'S[S|<ipT kiDdI3]' && ret=0 + 'S[S|<rIpt kIddi3]' && ret=0 ;; - host-list) - suf=() - compset -P '*,' + tcp-flags) + compset -P '(URG|ACK|PSH|RST|SYN|FIN)#' + _wanted tcp-flags expl 'TCP flag' compadd -S '' \ + URG ACK PSH RST SYN FIN && ret=0 + ;; + ip-options) + _values -S ' ' "IP option" \ + 'R[record route (9 slots available)]' \ + 'T[record internet timestamps (9 slots)]' \ + 'U[record timestamps and ip addresses (4 slots)]' \ + 'L[loose source routing (8 slots)]:hop ip' \ + 'S[strict source routing (8 slots)]:hop ip' && ret=0 + ;; + scripts) + compset -P '*,(|+)' compset -S ',*' || suf=(-qS ,) - _hosts "$suf[@]" && ret=0 + + if [[ $PREFIX$SUFFIX = */* ]]; then + _files -g "*.nse(-.)" + return + fi + + categories=( all ) + for dir in \ + ${opt_args[--datadir]:+${~opt_args[--datadir]}/scripts(/N)} \ + $NMAPDIR/scripts(/N) \ + ${${commands[$words[1]]:-$words[1]}:P:h:h}/share/nmap/scripts(/N) \ + ~/.nmap/scripts(/N) \ + ../share/nmap/scripts(/N) \ + $NMAPDATADIR/scripts(/N) \ + . + do + if [[ -r $dir/script.db ]]; then + scripts+=( ${${${(SM)${(f)"$(<$dir/script.db)"}#filename = \"[^.]##.}%.}#*\"} ) + categories+=( ${${(s.,.)${(SM)${(f)"$(<$dir/script.db)"}##categories = [^\}]#}#*\{}//[ \"]/} ) + else + scripts+=( $dir/*.nse(N:t:r) ) + fi + done + _alternative \ + 'categories:category:compadd $suf -a categories' \ + 'scripts:script:compadd -M "r:|-=* r:|=*" $suf -a scripts' && ret=0 ;; esac diff --git a/Completion/Unix/Command/_numfmt b/Completion/Unix/Command/_numfmt index 999c412a1..dd8f6182f 100644 --- a/Completion/Unix/Command/_numfmt +++ b/Completion/Unix/Command/_numfmt @@ -15,6 +15,7 @@ _arguments -S \ '(H)--padding=[pad the output to specified width]:width; positive - right-align; negative - left-align' \ '(H)--round=[use specified method for rounding when scaling]:method [from-zero]:(up down from-zero towards-zero nearest)' \ '(H)--suffix=[add suffix to output numbers and accept optional suffix in input numbers]:suffix' \ + '(H)--unit-separator=[insert separator between number and unit on output]:separator' \ "(H)--to=[auto-scale output numbers to specified unit]:unit:$units" \ '(H)--to-unit=[specify output unit size]:unit size [1]' \ '(H -z --zero-terminated -d --delimiter)'{-z,--zero-terminated}'[line delimiter is NUL, not newline]' \ diff --git a/Completion/Unix/Command/_objdump b/Completion/Unix/Command/_objdump index 71a615c97..0a8820327 100644 --- a/Completion/Unix/Command/_objdump +++ b/Completion/Unix/Command/_objdump @@ -67,8 +67,13 @@ case $variant in '!(--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)' + '(-U --unicode)'{-U+,--unicode=}'[specify how to treat UTF-8 encoded unicode characters]: : _values "treatment [default]" + {d,default}"[no special treatment]" + {l,locale}"[convert to current locale]" + {i,invalid}"[not part of a valid string]" + {x,hex}"[<> enclosed hex byte sequences]" + {e,escape}"[escape sequences (\\\\uxxxx)]" + {h,highlight}"[escape sequences highlighted in red]"' \ '(-z --disassemble-zeroes)'{-z,--disassemble-zeroes}"[don't skip blocks of zeroes when disassembling]" '--start-address=[only process data whose address is >= ADDR]:address' diff --git a/Completion/Unix/Command/_pandoc b/Completion/Unix/Command/_pandoc index 243b1ac8b..0bf017882 100644 --- a/Completion/Unix/Command/_pandoc +++ b/Completion/Unix/Command/_pandoc @@ -214,6 +214,7 @@ _arguments -s \ '--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(-.)"' \ + '--syntax-highlighting=[specify method to use for syntax highlighting]:method' \ \*{-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' \ diff --git a/Completion/Unix/Command/_patchutils b/Completion/Unix/Command/_patchutils index a5f6441b1..83bf1d67f 100644 --- a/Completion/Unix/Command/_patchutils +++ b/Completion/Unix/Command/_patchutils @@ -13,6 +13,9 @@ case $service in '(-z --decompress)'{-z,--decompress}'[decompress .gz and .bz2 files]' ) ;| + (combine|inter|filter|flip)diff) + args+=( '--in-place[write output to original input files]' ) + ;| interdiff|combinediff|flipdiff) args+=( '(-q --quiet)'{-q,--quiet}'[quieter output]' @@ -22,6 +25,7 @@ case $service in '(-B --ignore-blank-lines)'{-B,--ignore-blank-lines}'[ignore changes whose lines are all blank]' '(-i --ignore-case)'{-i,--ignore-case}'[ignore case differences]' '(-b --ignore-space-change)'{-b,--ignore-space-change}'[ignore changes in the amount of whitespace]' + '--color=-[colorize the output]::when [auto]:(never always auto)' '!(--in-place)--interpolate' '!-h' '!(--no-revert-omitted --in-place)--combinediff' '!(--no-revert-omitted)--flip' @@ -33,7 +37,6 @@ case $service in "--no-revert-omitted[don't revert files changed in only the first patch]" ) ;; - flipdiff) args+=( '--in-place[write output to original input files]' ) ;; filterdiff|grepdiff|lsdiff) args+=( '(-i --include)'{-i,--include}'[include only files matching pattern]:pattern:_files' @@ -42,6 +45,8 @@ case $service in '--lines=[only list hunks containing lines within specified range]:range' '(-F --files)'{-F+,--files=}'[only list files within specified range]:range' '--strip=[remove specified number of pathname components before displaying]:components' + '--git-prefixes=[specify handling of a/ and b/ prefixes in git diffs]:handling:(strip keep)' + '--git-extended-diffs=[process git diffs without hunks]:action [include]:(exclude include)' '--addprefix=[insert specified path prefix before displaying path names]:prefix:_directories' '*:diff file:_files' ) @@ -68,7 +73,7 @@ case $service in '--format=[use specified output format]:format:(unified context)' '--addnewprefix=[insert specified path prefix before new file path names]:prefix:_directories' '--addoldprefix=[insert specified path prefix before original file path names]:prefix:_directories' - '--as-numbered-lines=[display lines of selected hunks]:line numbers:(before after)' + '--as-numbered-lines=[display lines of selected hunks]:line numbers:(before after original-before original-after)' "--remove-timestamps[don't include timestamps in output]" ) ;| @@ -103,5 +108,6 @@ case $service in ;; esac + _arguments -s $args diff --git a/Completion/Unix/Command/_pgrep b/Completion/Unix/Command/_pgrep index b7009eafb..b3ef86223 100644 --- a/Completion/Unix/Command/_pgrep +++ b/Completion/Unix/Command/_pgrep @@ -1,8 +1,7 @@ -#compdef pgrep pkill +#compdef pgrep pkill pidwait # Notes: -# - We assume that Linux systems use procps-ng - specifically, procps-ng >=3.3.4 -# (which changed the behaviour of -f and added -a) +# - We assume that Linux systems use procps-ng # - We don't really need to keep pgopts and pkopts separate, but it seems like # it should make things a bit easier to follow @@ -17,13 +16,13 @@ typeset -a arguments sig_arguments aopts arguments=( '-a[include process ancestors in match list]' '-c+[match only on specified login class]:login class:_login_classes' - '(-F --pidfile)'{-F+,--pidfile=}'[match only processes in specified PID file]:PID file:_files' + '(-F --pidfile -p --pid)'{-F+,--pidfile=}'[match only processes in specified PID file]:PID file:_files' '(-f --full)'{-f,--full}'[match against full command line]' '(-G --group)'{-G+,--group=}'[match only on specified real group IDs]: :_sequence _groups' '(-g --pgroup)'{-g+,--pgroup=}'[match only on specified process group IDs]: :->pgid' '(: * -)'{-h,--help}'[display help information]' '-I[request confirmation before signalling each process]' - '-i[ignore case distinctions]' + '(-i --ignore-case)'{-i,--ignore-case}'[ignore case distinctions]' '-j+[match only on specified jail IDs]:jail:_sequence _jails -0 -o jid' '(-L --logpidfile)'{-L,--logpidfile}'[fail if PID file not locked (with -F)]' '(-N)-M+[extract name list from specified core]:core file:_files' @@ -67,15 +66,25 @@ arguments=( case $OSTYPE in linux*) # Note: We deliberately exclude -v but not --inverse from pkill - pgopts=AacdFfGghLlnoOPrstUuVvwx- - pkopts=AceFfGgHhLnoOPstUuVx- + pgopts=AacdFfGghLlnopOPQrstUuVvwx- + pkopts=AceFfGgHhLmnoOPstUuVx- + pwopts=AceFfGghiLnOoPpQrstUuVx- arguments=( ${arguments:#((#s)|*\))(\*|)-[acl]*} '(-c --count)'{-c,--count}'[display count of matching processes]' + '(-p --pid -F --pidfile)'{-p+,--pid=}'[match process PIDs]: :_sequence _pids' + '(-Q --shell-quote)'{-Q,--shell-quote}'[output the command line in shell-quoted form]' + ) + [[ $service == pkill ]] && arguments+=( + '(-m --mrelease)'{-m,--mrelease}'[release process memory immediately after kill]' ) [[ $service == pgrep ]] && arguments+=( '(-a -l --list-full --list-name)'{-a,--list-full}'[display full command line]' '(-a -l --list-full --list-name)'{-l,--list-name}'[display process name]' + '--quiet[suppress all normal output]' + ) + [[ $service == pidwait ]] && arguments+=( + '(-e --echo)'{-e,--echo}'[display PIDs before waiting]' ) ;; dragonfly*|freebsd*) @@ -110,7 +119,9 @@ case $OSTYPE in ;; esac -if [[ $service == pgrep ]]; then +if [[ $service == pidwait ]]; then + arguments=( ${(M)arguments:#((#s)|*\))(\*|)-[$pwopts]*} ) +elif [[ $service == pgrep ]]; then arguments=( ${(M)arguments:#((#s)|*\))(\*|)-[$pgopts]*} ) else arguments=( ${(M)arguments:#((#s)|*\))(\*|)-[$pkopts]*} ) @@ -140,7 +151,7 @@ fi arguments+=( $sig_arguments + o '*: :->pname' ) -[[ $OSTYPE == linux* ]] || aopts+=( -A '*-' ) +[[ $OSTYPE == linux* ]] || aopts+=( -A '-?*' ) _arguments -C -s -S $aopts : $arguments && ret=0 # complete comma-separated list of various IDs diff --git a/Completion/Unix/Command/_pmap b/Completion/Unix/Command/_pmap index 5fd92ab9e..2226d3329 100644 --- a/Completion/Unix/Command/_pmap +++ b/Completion/Unix/Command/_pmap @@ -1,11 +1,11 @@ #compdef pmap if _pick_variant procps=procps-ng unix -V 2>/dev/null; then - # based on procps-ng-3.3.15 _arguments -s \ '(exit -A --range)'{-A+,--range}'[limit results to the specified address range]:low,high: ' \ '(exit -q --quiet)'{-q,--quiet}'[do not display some header or footer lines]' \ '(exit -p --show-path)'{-p,--show-path}'[show full path to files in the mapping column]' \ + '(exit -k --use-kernel-name)'{-k,--use-kernel-name}'[use names provided by kernel]' \ '(exit)*: :_pids' \ + '(format)' \ '(exit)'{-d,--device}'[show the device format]' \ diff --git a/Completion/Unix/Command/_ps b/Completion/Unix/Command/_ps index 57fee983c..7e3db03a7 100644 --- a/Completion/Unix/Command/_ps +++ b/Completion/Unix/Command/_ps @@ -206,6 +206,7 @@ case $OSTYPE in '-M[show security data]' '(--forest -H)'{--forest,-H}'[show process hierarchy]' '-P[add psr column]' + '--delimiter=[specify column delimiter]:string' '--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/_rar b/Completion/Unix/Command/_rar index d1d381974..27120dfa5 100644 --- a/Completion/Unix/Command/_rar +++ b/Completion/Unix/Command/_rar @@ -15,17 +15,19 @@ common=( '-dh[open shared files]' '-ep[exclude paths from name]' '-f[freshen files]' - '-idn[hide archived names]' - '-idp[disable percentage display]' + '-id-[disable messages]: : _values -s "" message + "c[copyright]" "d[done]" "n[archived names]" "p[percentage indicator]" "q[quiet]"' \ '-ierr[send all messages to stderr]' '-inul[disable all messages]' '-kb[keep broken extracted files]' '-o\+[overwrite existing files]' '-o\-[do not overwrite existing files]' + '-ol-[save symbolic links as the link instead of the file]:: :((a\:absolute s\:skip))' \ '-ow[save or restore file owner and group]' '-p+:password' '-p\-[do not query password]' '-r[recurse subdirectories]' + '-si-[read data from standard input]::name' '-ta+[process files modified after a date]:date (YYYYMMDDHHMMSS)' '-tb+[process files modified before a date]:date (YYYYMMDDHHMMSS)' '-tn+[process files newer than a specified time]:time' @@ -56,9 +58,8 @@ case $service in else _arguments -S \ '-ep3[expand paths to full including the drive letter]' \ - '-idc[disable ___ display]' \ - '-idd[disable ___ display]' \ - '-idq[disable ___ display]' \ + '-mes[skip encrypted files]' \ + '-op-[set output path for extracted files]:path:_directories' \ '-n+:file to include:_files' \ '-n@+:file of files to include:_files' \ "$common[@]" \ @@ -106,6 +107,7 @@ case $service in '-en[do not put end of archive block]' \ '-ep1[exclude base directory from names]' \ '-ep2[expand paths to full]' \ + '-ep4-[exclude path prefix from names]:prefix' \ '-hp[encrypt both file data and headers]' \ '-ilog[log errors to file (registered versions only)]' \ '-isnd[enable sound]' \ @@ -113,7 +115,6 @@ case $service in '-m+[set compression level]:compression level:(( 0\:store 1\:fastest 2\:fast 3\:normal 4\:good 5\:maximal ))' \ '-md+[dictionary size]:dictionary size (KB):( 64 128 256 512 1024 2048 4096 a b c d e f g )' \ '-ms[specify file types to store]' \ - '-ol[save symbolic links as the link instead of the file]' \ '-p[set password]' \ '-r0[recurse subdirectories for wildcard names only]' \ '-rr[add data recovery record]' \ diff --git a/Completion/Unix/Command/_readelf b/Completion/Unix/Command/_readelf index 43cbc81c6..a0ecdaf2a 100644 --- a/Completion/Unix/Command/_readelf +++ b/Completion/Unix/Command/_readelf @@ -2,11 +2,11 @@ local variant args sections -sections=( .bss .data .dynamic .dynsym .got .interp .shstrtab .symtab .text ) +sections=( .bss .comment .data .dynamic .dynsym .got .interp .shstrtab .symtab .text ) _pick_variant -r variant elftoolchain=elftoolchain elfutils=elfutils binutils --version args=( - '(-a --all)'{-a,--all}'[show all tables]' + '(-a --all -h --file-header -l --program-headers --segments -S --section-headers --sections -r --relocs -d --dynamic -V --version-info -A --arch-specific -I --histogram --got-contents)'{-a,--all}'[show all tables]' '(-g --section-groups)'{-g,--section-groups}'[show section groups]' '(-h --file-header)'{-h,--file-header}'[show file header]' '(-l --program-headers --segments)'{-l,--program-headers,--segments}'[show program headers]' @@ -57,8 +57,12 @@ case $variant in '(-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)' + '(-U --unicode)'{-U+,--unicode=}'[specify how to treat UTF-8 encoded unicode characters]: : _values "treatment [locale]" + {l,locale,d,default}"[convert to current locale]" + {i,invalid}"[not part of a valid string]" + {x,hex}"[<> enclosed hex byte sequences]" + {e,escape}"[escape sequences (\\\\uxxxx)]" + {h,highlight}"[escape sequences highlighted in red]"' \ '(-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]' @@ -71,6 +75,7 @@ case $variant in '--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]' + '(-a --all)--got-contents[display GOT section contents]' '(-T --silent-truncation)'{-T,--silent-truncation}"[if a symbol name is truncated, don't add ... suffix]" ) ;; diff --git a/Completion/Unix/Command/_screen b/Completion/Unix/Command/_screen index 9336ae82d..65cb63e31 100644 --- a/Completion/Unix/Command/_screen +++ b/Completion/Unix/Command/_screen @@ -76,6 +76,7 @@ _arguments -C \ '-m[ignore $STY variable, do create a new screen session]' \ '-O[choose optimal output rather than exact vt100 emulation]' \ '-p[preselect the named window]:window number or name:((\=\:windowlist -\:blank\ window \:window\ number))' \ + '-P[enable authentication]' \ '-q[quiet startup, exit with non-zero return code if unsuccessful]' \ '-Q[send response to stdout of command query process]:screen command:(echo info lastmsg number select time title windows)' \ '-r[reattach to a detached screen process]: :->detached-sessions' \ diff --git a/Completion/Unix/Command/_script b/Completion/Unix/Command/_script index 25f8ea35f..431a112e1 100644 --- a/Completion/Unix/Command/_script +++ b/Completion/Unix/Command/_script @@ -30,7 +30,7 @@ case $OSTYPE in "(-T --log-timing -t --timing $hlp)"{-T+,--log-timing=}'[log timing information to file]:file:_files' "(-m --logging-format $hlp)"{-m+,--logging-format=}'[specify log file format]:format:(classic advanced)' "(-a --append $hlp)"{-a,--append}'[append to the log file]' - "(-c --command $hlp)"{-c,--command=}'[run specified command instead of a shell]:command:_cmdstring' + "(-c --command $hlp --)"{-c,--command=}'[run specified command instead of a shell]:command:_cmdstring' "(-e --return $hlp)"{-e,--return}'[return exit status of the child process]' "(-f --flush $hlp)"{-f,--flush}'[flush output after each write]' "(-E --echo $hlp)"{-E+,--echo=}'[echo input]:when:(auto always never)' @@ -40,6 +40,7 @@ case $OSTYPE in "(-t --timing $hlp)"{-t-,--timing=-}'[output timing data]::timing file:_files' '(- 1)'{-h,--help}'[display help information]' '(- 1)'{-V,--version}'[display version information]' + '!--:*::: : _normal $service' ) ;; darwin*|dragonfly*|netbsd*|freebsd*) diff --git a/Completion/Unix/Command/_sqlite b/Completion/Unix/Command/_sqlite index 218b92b4a..9b8431248 100644 --- a/Completion/Unix/Command/_sqlite +++ b/Completion/Unix/Command/_sqlite @@ -50,18 +50,21 @@ options+=( $^dashes'-escape[set rendering of control characters in output]:escape [ascii]:(symbol ascii off)' '(-*batch -*interactive)'$^dashes'-batch[force batch I/O]' '(-*batch -*interactive)'$^dashes'-interactive[force interactive I/O]' + $^dashes'-ifexists[only open if database already exists]' $^dashes'-lookaside[specify size and number of entries for lookaside memory]:size (bytes): :entries' $^dashes'-maxsize[specify maximum size for a --deserialize database]:size' $^dashes'-memtrace[trace all memory allocations and deallocations]' $^dashes'-mmap[set default mmap size]:size' $^dashes'-newline[set output row separator]:separator [\n]' $^dashes'-nofollow[refuse to open symbolic links to database files]' + $^dashes"-noinit[don't read ~/.sqliterc file at startup]" $^dashes'-nonce[set the safe-mode escape nonce]:string' $^dashes'-no-rowid-in-view[disable rowid-in-view using sqlite3_config()]' $^dashes'-pagecache[specify size and number of slots for page cache memory]:size (bytes): :slots' $^dashes'-pcachetrace[trace all page cache operations]' $^dashes'-readonly[open the database read-only]' $^dashes'-safe[enable safe-mode]' + $^dashes'-screenwidth[use specified default screen width]:width' $^dashes'-stats[print memory stats before each finalize]' $^dashes'-unsafe-testing[allow unsafe commands and modes for testing]' $^dashes'-vfs[use specified default VFS]:vfs:(unix-dotfile unix-excl unix-none unix-namedsem)' diff --git a/Completion/Unix/Command/_strings b/Completion/Unix/Command/_strings index 685daa286..774399328 100644 --- a/Completion/Unix/Command/_strings +++ b/Completion/Unix/Command/_strings @@ -18,6 +18,13 @@ if _pick_variant -r variant binutils=GNU elftoolchain=elftoolchain elfutils=elfu l\:16-bit\ little-endian B\:32-bit\ big-endian L\:32-bit\ little-endian))' + '(-U --unicode -e --encoding)'{-U+,--unicode=}'[specify how to treat UTF-8 encoded unicode characters]: : _values "treatment [default]" + {d,default}"[rely on --encoding]" + {l,locale}"[convert to current locale]" + {i,invalid}"[not part of a valid string]" + {x,hex}"[<> enclosed hex byte sequences]" + {e,escape}"[escape sequences (\\\\uxxxx)]" + {h,highlight}"[escape sequences highlighted in red]"' \ '(-f --print-file-name)'{-f,--print-file-name}'[print name of the file before each string]' '(-n --bytes)'{-n+,--bytes=}"$bytes" '(-d -t --radix)'{-t+,--radix=}"$format" diff --git a/Completion/Unix/Command/_strip b/Completion/Unix/Command/_strip index 59cb537b9..930080f89 100644 --- a/Completion/Unix/Command/_strip +++ b/Completion/Unix/Command/_strip @@ -49,7 +49,9 @@ if _pick_variant -r variant gnu=GNU elftoolchain=elftoolchain $OSTYPE --version; '(*)-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]') + '(-v --verbose)'{-v,--verbose}'[list all object files modified or members of archives]' + '--plugin=[load specified plugin]:plugin' + ) ;; elftoolchain) args+=( diff --git a/Completion/Unix/Command/_texinfo b/Completion/Unix/Command/_texinfo index 2f5d0f91f..a37bc8ae9 100644 --- a/Completion/Unix/Command/_texinfo +++ b/Completion/Unix/Command/_texinfo @@ -123,13 +123,16 @@ case $service in '--conf-dir=[specify additional directory for configuration files]:directory:_directories' \ '--init-file=[specify initialisation file]:file:_files' \ \*{-c+,--set-customization-variable=}'[set customization variable]:variable' \ + '--trace-includes[print names of included files]' \ '(-v --verbose)'{-v,--verbose}'[explain what is being done]' \ '(* -)--version[display version info]' \ - '(--html --xml --plaintext)--docbook[output in DocBook XML format]' \ - '(--docbook --xml --plaintext)--html[output in HTML format]' \ + '(--html --xml --epub3 --latex --plaintext)--docbook[output in DocBook XML format]' \ + '(--docbook --xml --epub3 --latex --plaintext)--html[output in HTML format]' \ '--no-headers[suppress node separators and menus]' \ - '(--docbook --html --plaintext)--xml[output in XML (TexinfoML) format]' \ - '(--docbook --html --xml)--plaintext[output in plain text format]' \ + '(--docbook --html --epub3 --latex --plaintext)--xml[output in XML (TexinfoML) format]' \ + '(--docbook --html --xml --latex --plaintext)--epub3[output in EPUB 3 format]' \ + '(--docbook --html --xml --epub3 --plaintext)--latex[output in LaTeX format]' \ + '(--docbook --html --xml --epub3 --latex)--plaintext[output in plain text format]' \ '--dvi[output in dvi format]' \ '--dvipdf[output in pdf format]' \ '--ps[output in ps format]' \ @@ -138,11 +141,13 @@ case $service in '(--docbook --xml)--no-split[suppress splitting of output]' \ '--no-number-sections[output chapter and section numbers]' \ '!(--no-number-sections)--number-sections' \ + '--no-number-footnotes[number footnotes sequentially]' \ + '!(--no-number-footnotes)--number-footnotes' \ '(-o --output=)'{-o,--output}'[specify output file]:output file:_files' \ '(--docbook --html --xml)--disable-encoding[output special characters]' \ '!(--disable-encoding)--enable-encoding' \ '(--docbook --html --xml)--fill-column=[specify width to break lines at]:width [72]' \ - '(--docbook --html --xml)--footnote-style=[specify style for output of footnotes]:((separate\:in\ own\ node end\:at\ end\ of\ node))' \ + '(--docbook --html --xml)--footnote-style=[specify style for output of footnotes]:style [end]:((separate\:in\ own\ node end\:at\ end\ of\ node))' \ '(--docbook --html --xml)--paragraph-indent=[specify spaces to indent paragraphs by]:indent [3]' \ '(--docbook --html --xml)--split-size=[split Info files at specified size]:size [300000]' \ '(--docbook --xml --plaintext)--css-include=[specify file in include in HTML <style> output]:file:_files' \ @@ -151,7 +156,7 @@ case $service in '(--docbook --xml --plaintext)--split=[split output at specified boundary]:split boundary:(chapter section node)' \ '(--docbook --xml --plaintext)--transliterate-file-names[produce file names in ASCII transliteration]' \ '(--docbook --xml --plaintext)--node-files[produce redirection files for nodes]' \ - '-Xopt=[specify option to texi2dvi]:options' \ + '*-Xopt=[pass option to texi2dvi]:option' \ '-D[define variable]:variable' \ '-I[specify directory to append to @include search path]:directory:_files -/' \ '-P[specify directory to prepend to @include search path]:directory:_files -/' \ diff --git a/Completion/Unix/Command/_tiff b/Completion/Unix/Command/_tiff index 1aeff3ff7..f8c4a1164 100644 --- a/Completion/Unix/Command/_tiff +++ b/Completion/Unix/Command/_tiff @@ -157,7 +157,8 @@ tiffinfo) '-s[display offsets and byte counts for all data strips]' \ '-i[ignore read errors]' \ '-f+[force fill order]:fill order:(lsb2msb msb2lsb)' \ - '-w[display raw data in words]' \ + '-w[show image data as 16-bit words]' \ + '-W[warn about unknown tags]' \ '-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 @@ -235,6 +236,7 @@ pal2rgb) *) _description files expl 'picture file' _files "$expl[@]" -g "$pat" && ret=0 +;; esac if [[ -n "$state" ]]; then @@ -265,7 +267,7 @@ if [[ -n "$state" ]]; then while _tags; do while _next_label values expl 'compression scheme'; do compadd "$expl[@]" - none jbig g4 packbits sgilog && ret=0 - compadd "$expl[@]" -qS: - lzw zip lzma zstd webp jpeg g3 && ret=0 + compadd "$expl[@]" -qS: - lzw zip lerc lzma zstd webp jpeg g3 && ret=0 done (( ret )) || return 0 done diff --git a/Completion/Unix/Command/_w b/Completion/Unix/Command/_w index 2da57a8f6..b63018024 100644 --- a/Completion/Unix/Command/_w +++ b/Completion/Unix/Command/_w @@ -9,6 +9,7 @@ case $OSTYPE in '(-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 -t --terminal)'{-t,--terminal}'[scan terminal devices to locate user sessions]' '(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]' @@ -41,12 +42,18 @@ case $OSTYPE in '-A[sort tty names alphabetically instead of utmp or utmpx order]' ) ;| - solaris*) + aix*|solaris*) args+=( '!(-s -w -l)'{-l,-w} '-s[short output form]' '(-)-u[produce only the heading line]' ) ;| + aix*) + args+=( + "-X[don't truncate user names]" + '-@[tag system activity with workload partition name]:wpar' + ) + ;; esac _arguments -S -s \ diff --git a/Completion/Unix/Command/_w3m b/Completion/Unix/Command/_w3m index de425cfb1..65c150590 100644 --- a/Completion/Unix/Command/_w3m +++ b/Completion/Unix/Command/_w3m @@ -14,6 +14,8 @@ _arguments -C \ '(-e -s )-j[JIS]' \ '(-v *)-B[load bookmark]' \ '-bookmark[specify bookmark file]:bookmark file:_files' \ + '-R[restore from session file]' \ + '-session[specify session file]:session file:_files' \ '-T[specify content-type]:content type:_mime_types' \ '-m[internet message mode]' \ '(-B *)-v[visual startup mode]' \ @@ -36,9 +38,11 @@ _arguments -C \ "-no-proxy[don't use proxy]" \ '(-6)-4[IPv4 only (-o dns_order=4)]' \ '(-4)-6[IPv6 only (-o dns_order=6)]' \ + '-insecure[use insecure SSL config options]' \ "-no-mouse[don't use mouse]" \ '(-no-cookie)-cookie[use cookie]' \ "(-cookie)-no-cookie[don't use cookie]" \ + '-cookie-jar[use specified cookie file]:file:_files' \ '(-no-graph)-graph[use DEC special graphics for border of table and menu]' \ '(-graph)-no-graph[use ASCII character for border of table and menu]' \ '-S[squeeze multiple blank lines]' \ @@ -86,13 +90,13 @@ case "$state" in 'history:history:compadd -a w3mhistory' && ret=0 ;; option) - local -a options - options=( ${${(M)${(f)"$(_call_program options $words[1] -show-option 2>/dev/null)"}:# -o *}/(#b) -o (*)=[^ ]#[[:blank:]]##(*)/$match[1]:${match[2]:l}} ) + local -a wopts + wopts=( ${${(M)${(f)"$(_call_program options $words[1] -show-option)"}:# -o *}/(#b) -o (*)=[^ ]#[[:blank:]]##(*)/$match[1]:${match[2]:l}} ) if compset -P 1 '*='; then _message -e values 'value' else compset -S '=*' || suf=( -S '=' ) - _describe -t options 'option' options "$suf[@]" && ret=0 + _describe -t config-options 'option' wopts "$suf[@]" && ret=0 fi ;; esac diff --git a/Completion/Unix/Command/_xmlsoft b/Completion/Unix/Command/_xmlsoft index b8cf92700..aefb0e978 100644 --- a/Completion/Unix/Command/_xmlsoft +++ b/Completion/Unix/Command/_xmlsoft @@ -37,9 +37,8 @@ case $service in '--novalid[skip the DTD loading phase]' \ '--nodtdattr[do not default attributes from the DTD]' \ '--noout[do not dump the result]' \ - '--maxdepth[increase the maximum depth]:depth' \ - '--maxvars[increase the maximum variables]:variables' \ - '--maxparserdepth[increase the maximum parser depth]:depth' \ + '--maxdepth[increase the maximum depth]:depth [3000]' \ + '--maxvars[increase the maximum variables]:variables [15000]' \ '--huge[relax hardcoded limits of the parser]' \ '--seed-rand[initialise random number generator]:seed' \ '--html[input document is an HTML file]' \ @@ -64,7 +63,6 @@ case $service in '--version[display the version of the XML library used]' \ '--debug[dump a debug tree of the in-memory document]' \ '--shell[run a navigating shell]' \ - '--debugent[debug the entities defined in the document]' \ '--copy[used to test the internal copy implementation]' \ '--recover[output what was parsable on broken XML documents]' \ '--huge[remove any internal arbitrary parser limits]' \ @@ -75,8 +73,6 @@ case $service in '--load-trace[print trace of all external entities loaded]' \ '--nonet[refuse to fetch DTDs or entities over network]' \ '--nocompact[do not generate compact text nodes]' \ - '--htmlout[output results as HTML]' \ - '--nowrap[do not put HTML doc wrapper]' \ '--valid[validate the document in addition to std well-formed check]' \ '(--dtdvalid --relaxng --schema)--postvalid[do a posteriori validation, i.e after parsing]' \ '(--postvalid --relaxng --schema --dtdvalidfpi)--dtdvalid[do a posteriori validation against a given DTD]:DTD:_webbrowser' \ @@ -86,17 +82,19 @@ case $service in '(--noout --output -o)'{--output,-o}'[save to a given file]:output file:_files' \ '--repeat[repeat 100 times, for timing or profiling]' \ '--insert[ad-hoc test for valid insertions]' \ + '--strict-namespace[return failure if document has namespace errors]' \ '--compress[turn on gzip compression of output]' \ '--html[use the HTML parser]' \ '--xmlout[use the XML serializer when using --html]' \ '--nodefdtd[do not default HTML doctype]' \ '--push[use the push mode of the parser]' \ - '--pushsmall[use the push mode of the parser using tiny increments]' \ '--memory[parse from memory]' \ - '--maxmem[limit memory allocation]:bytes' \ + '--maxmem[limit memory allocation]:maximum (bytes)' \ '--nowarning[do not emit warnings from parser/validator]' \ '--noblanks[drop (ignorable?) blanks spaces]' \ '--nocdata[replace cdata section with text nodes]' \ + '--nodict[create document without dictionary]' \ + '--pedantic[enable additional warnings]' \ '--format[reformat/reindent the input]' \ '--encode[output in the given encoding]:encoding:(${encoding[@]})' \ '--dropdtd[remove the DOCTYPE of the input docs]' \ @@ -124,6 +122,8 @@ case $service in '--sax[do not build a tree but work just at the SAX level]' \ '--oldxml10[use XML-1.0 parsing rules before the 5th edition]' \ '(--noout)--xpath[evaluate the XPath expression, implies --noout]:XPath expression' \ + '(--noout)--xpath0[evaluate the XPath expression separating results by NUL, implies --noout]:XPath expression' \ + '--max-ampl[set maximum amplification factor]:factor [5]' \ '*:XML file:_webbrowser' && return ;; *XML_CATALOG_FILES*) diff --git a/Completion/Unix/Command/_xxd b/Completion/Unix/Command/_xxd index e9015a081..f56590915 100644 --- a/Completion/Unix/Command/_xxd +++ b/Completion/Unix/Command/_xxd @@ -22,13 +22,14 @@ local arguments 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[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)]' + '(-b -bits -i -include -t -p -postscript -plain -ps -r -revert -u -uppercase)'{-b,-bits}'[output in binary digits, rather than hex]' + '(-E -EBCDIC -i -include -t -p -postscript -plain -ps -r -revert)'{-E,-EBCDIC}'[print human-readable part in EBCDIC rather than ASCII]' + '(-i -include -t -p -postscript -plain -ps -r -revert)-e[little-endian dump]' + '(-E -EBCDIC -i -include -p -postscript -plain -ps -r -revert)'{-i,-include}'[output in C include file style]' + '(-E -EBCDIC -p -postscript -plain -ps -r -revert)-t[append terminating zero to C include output]' + '(-b -bits -E -EBCDIC -i -include -t -p -postscript -plain -ps -C -capitalize)'{-p,-postscript,-plain,-ps}'[read or write a plain hexdump (no line numbers or ASCII rendering)]' - '(-b -bits -E -EBCDIC -i -include -r -revert -u -uppercase)'{-r,-revert}'[reverse mode\: read a hex dump and output binary data]' + '(-b -bits -E -EBCDIC -i -include -t -r -revert -u -uppercase)'{-r,-revert}'[reverse mode\: read a hex dump and output binary data]' '(-b -bits -r -revert -u -uppercase)'{-u,-uppercase}'[output upper-case hex digits]' '(- :)'{-h,-help}'[display usage message]' @@ -42,7 +43,7 @@ arguments=( '(-o -offset)'{-o+,-offset}'[add specified offset to displayed file position]:offset' '-d[show offset in decimal instead of hex]' '-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)"' + '(-s -skip -seek)'{-s+,-skip,-seek}'[specify file offset to dump from]: :_guard "([+-]|)(0x|)[0-9a-fA-F]#" "file offset to dump from (bytes, absolute or +/- relative)"' ': :_files' ) diff --git a/Completion/Unix/Command/_xz b/Completion/Unix/Command/_xz index 6e68e0f69..d441a6545 100644 --- a/Completion/Unix/Command/_xz +++ b/Completion/Unix/Command/_xz @@ -18,12 +18,13 @@ case "$service" in '(I -k --keep)'{-k,--keep}"[keep (don't delete) input files]" \ '(I -f --force)'{-f,--force}'[force overwrite]' \ '(I -c --stdout)'{-c,--stdout}'[write on standard output]' \ + "(I)--no-sync[don't flush writes before removing input file]" \ '(I)*'{-q,--quiet}'[suppress all warnings]' \ '(I)*'{-v,--verbose}'[verbose mode]' \ '(I * --files --files0)--files=-[read list of files to process from file]::file:_files' \ '(I * --files --files0)--files0=-[read null terminated list of files to process from file]::file:_files' \ '(I -F --format)'{-F+,--format=}'[specify file format]:format:(auto xz lzma lzip raw)' \ - '(I -T --threads)'{-T+,--threads=}'[use specified number of threads]:threads [1]' \ + '(I -T --threads)'{-T+,--threads=}'[use specified number of threads]:threads [0]' \ '(I -M --memlimit --memory)'{-M+,--memlimit=,--memory=}'[set memory usage limit]: :_numbers -u bytes "memory limit" KiB MiB GiB %\:percentage\ of\ available\ RAM' \ '(I)--no-adjust[give error if settings exceed memory limit]' \ '(I -Q --no-warn)'{-Q,--no-warn}'[make warnings not affect exit status]' \ @@ -49,11 +50,14 @@ case "$service" in '(* comp decomp level filters common)--info-memory[display amount of RAM and memory usage limits]' \ '(- *)'{-h,--help}'[display help message]' \ '(- *)'{-H,--long-help}'[display the long help (lists also the advanced options)]' \ + '(- *)--filters-help[display liblzma filter string syntax information]' \ '(* comp decomp level filters common)'{-V,--version}'[display version number]' \ + '(level)' \ '(I filters decomp)-'{-best,-fast,1,2,3,4,5,6,7,8,9} \ + filters \ - '(I level decomp --extreme)'--{x86,powerpc,ia64,arm,armthumb,arm64,sparc}=-'[add a branch/call/jump filter]::option:->bcj-options' \ + '(I level decomp --extreme)'--{x86,powerpc,ia64,arm,armthumb,arm64,sparc,riscv}=-'[add a branch/call/jump filter]::option:->bcj-options' \ + '(I level decomp --extreme)--filters=[set filter chain using liblzma filter string]:filter string' \ + '!(I level decomp --extreme)--filters'{1..9}'=:filter string' \ '(I level decomp --extreme)'--lzma{1,2}=-'[add lzma filter]::option:->lzma-options' \ '(I level decomp --extreme)--delta=-[add delta filter]::option:->delta-options' && ret=0 ;; diff --git a/Completion/Unix/Command/_zfs b/Completion/Unix/Command/_zfs index 3e2882536..47e60ec66 100644 --- a/Completion/Unix/Command/_zfs +++ b/Completion/Unix/Command/_zfs @@ -477,9 +477,11 @@ case $service:$words[1] in ;; zfs:clone) - [[ $implementation = solaris ]] && args+=( - '-K[create encryption key]' - ) + if [[ $implementation = solaris ]]; then + args+=( '-K[create encryption key]' ) + else + args+=( "-u[don't mount newly created dataset]" ) + fi _arguments -C -A "-*" -S $args \ '-p[create parent datasets]' \ '*-o+[set property]:property:->create-properties' \ diff --git a/Completion/Unix/Command/_zstd b/Completion/Unix/Command/_zstd index 92c4a8e41..db23e541b 100644 --- a/Completion/Unix/Command/_zstd +++ b/Completion/Unix/Command/_zstd @@ -52,6 +52,7 @@ elif (( $words[(I)(-d|--decompress|--uncompress|-l|--list|-t|--test)] )); then '(--sparse)-o[specify output file]:file:_files -g "^*.(|t)zst(-.)"' "(M)--no-check[ignore checksums in compressed frame]" '!(M --no-check)'{-C,--check} + '--pass-through[pass through uncompressed files as-is]' '*:files:_files -g "*.(|t)zst(-.)"' ) else @@ -108,6 +109,7 @@ _arguments -s -S : $args \ '--filelist=[read list of files to operate upon from file]: :_files' \ '--output-dir-flat=[store processed files in directory]: :_directories' \ '--output-dir-mirror=[store processed files in directory respecting original structure]: :_directories' \ + '--no-asyncio[disable asynchronous IO]' \ '--trace=[log tracing information to file]: :_files' \ + '(M)' \ \!{-z,--compress,--uncompress} \ |
