diff options
| author | Oliver Kiddle <opk@zsh.org> | 2026-06-19 01:37:33 +0200 |
|---|---|---|
| committer | Oliver Kiddle <opk@zsh.org> | 2026-06-19 01:37:33 +0200 |
| commit | a4e9eb4117613307405a71678af24e044c265189 (patch) | |
| tree | ca1d71317d3319b8753831df61c1941aecd2040a /Completion/Unix/Command | |
| parent | 54801: fix two more warnings from 54710 (diff) | |
| download | zsh-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')
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} \ |
