summaryrefslogtreecommitdiffstats
path: root/Completion
diff options
context:
space:
mode:
Diffstat (limited to 'Completion')
-rw-r--r--Completion/BSD/Command/_bectl1
-rw-r--r--Completion/BSD/Command/_freebsd-update1
-rw-r--r--Completion/Debian/Command/_apt6
-rw-r--r--Completion/Debian/Command/_dpkg_source28
-rw-r--r--Completion/Debian/Command/_invoke-rc.d4
-rw-r--r--Completion/Debian/Command/_update-alternatives6
-rw-r--r--Completion/Debian/Command/_update-rc.d16
-rw-r--r--Completion/Linux/Command/_blkid4
-rw-r--r--Completion/Linux/Command/_chrt13
-rw-r--r--Completion/Linux/Command/_cryptsetup10
-rw-r--r--Completion/Linux/Command/_ethtool68
-rw-r--r--Completion/Linux/Command/_findmnt4
-rw-r--r--Completion/Linux/Command/_gpasswd2
-rw-r--r--Completion/Linux/Command/_htop4
-rw-r--r--Completion/Linux/Command/_losetup5
-rw-r--r--Completion/Linux/Command/_lsblk4
-rw-r--r--Completion/Linux/Command/_modutils30
-rw-r--r--Completion/Linux/Command/_ss12
-rw-r--r--Completion/Linux/Command/_strace3
-rw-r--r--Completion/Linux/Command/_tracepath3
-rw-r--r--Completion/Unix/Command/_cat86
-rw-r--r--Completion/Unix/Command/_column8
-rw-r--r--Completion/Unix/Command/_drill2
-rw-r--r--Completion/Unix/Command/_du12
-rw-r--r--Completion/Unix/Command/_entr1
-rw-r--r--Completion/Unix/Command/_find12
-rw-r--r--Completion/Unix/Command/_flac4
-rw-r--r--Completion/Unix/Command/_fuser5
-rw-r--r--Completion/Unix/Command/_gcc4
-rw-r--r--Completion/Unix/Command/_git75
-rw-r--r--Completion/Unix/Command/_gnutls3
-rw-r--r--Completion/Unix/Command/_gpg1
-rw-r--r--Completion/Unix/Command/_gphoto23
-rw-r--r--Completion/Unix/Command/_hardlink43
-rw-r--r--Completion/Unix/Command/_ldd11
-rw-r--r--Completion/Unix/Command/_less11
-rw-r--r--Completion/Unix/Command/_ngrep2
-rw-r--r--Completion/Unix/Command/_nm8
-rw-r--r--Completion/Unix/Command/_nmap199
-rw-r--r--Completion/Unix/Command/_numfmt1
-rw-r--r--Completion/Unix/Command/_objdump9
-rw-r--r--Completion/Unix/Command/_pandoc1
-rw-r--r--Completion/Unix/Command/_patchutils10
-rw-r--r--Completion/Unix/Command/_pgrep29
-rw-r--r--Completion/Unix/Command/_pmap2
-rw-r--r--Completion/Unix/Command/_ps1
-rw-r--r--Completion/Unix/Command/_rar13
-rw-r--r--Completion/Unix/Command/_readelf13
-rw-r--r--Completion/Unix/Command/_screen1
-rw-r--r--Completion/Unix/Command/_script3
-rw-r--r--Completion/Unix/Command/_sqlite3
-rw-r--r--Completion/Unix/Command/_strings7
-rw-r--r--Completion/Unix/Command/_strip4
-rw-r--r--Completion/Unix/Command/_texinfo17
-rw-r--r--Completion/Unix/Command/_tiff6
-rw-r--r--Completion/Unix/Command/_w9
-rw-r--r--Completion/Unix/Command/_w3m10
-rw-r--r--Completion/Unix/Command/_xmlsoft16
-rw-r--r--Completion/Unix/Command/_xxd15
-rw-r--r--Completion/Unix/Command/_xz8
-rw-r--r--Completion/Unix/Command/_zfs8
-rw-r--r--Completion/Unix/Command/_zstd2
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} \