summaryrefslogtreecommitdiffstats
path: root/Completion/Unix/Command
diff options
context:
space:
mode:
authorOliver Kiddle <opk@zsh.org>2026-06-19 01:37:33 +0200
committerOliver Kiddle <opk@zsh.org>2026-06-19 01:37:33 +0200
commita4e9eb4117613307405a71678af24e044c265189 (patch)
treeca1d71317d3319b8753831df61c1941aecd2040a /Completion/Unix/Command
parent54801: fix two more warnings from 54710 (diff)
downloadzsh-a4e9eb4117613307405a71678af24e044c265189.tar
zsh-a4e9eb4117613307405a71678af24e044c265189.tar.gz
zsh-a4e9eb4117613307405a71678af24e044c265189.tar.bz2
zsh-a4e9eb4117613307405a71678af24e044c265189.tar.lz
zsh-a4e9eb4117613307405a71678af24e044c265189.tar.xz
zsh-a4e9eb4117613307405a71678af24e044c265189.tar.zst
zsh-a4e9eb4117613307405a71678af24e044c265189.zip
54800, 54807: completion options update
Diffstat (limited to 'Completion/Unix/Command')
-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
42 files changed, 496 insertions, 182 deletions
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} \