From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 8235 invoked by alias); 22 Jan 2018 13:58:13 -0000 Mailing-List: contact zsh-workers-help@zsh.org; run by ezmlm Precedence: bulk X-No-Archive: yes List-Id: Zsh Workers List List-Post: List-Help: List-Unsubscribe: X-Seq: 42317 Received: (qmail 23022 invoked by uid 1010); 22 Jan 2018 13:58:13 -0000 X-Qmail-Scanner-Diagnostics: from park01.gkg.net by f.primenet.com.au (envelope-from , uid 7791) with qmail-scanner-2.11 (clamdscan: 0.99.2/21882. spamassassin: 3.4.1. Clear:RC:0(205.235.26.22):SA:0(-1.7/5.0):. Processed in 10.299553 secs); 22 Jan 2018 13:58:13 -0000 X-Spam-Checker-Version: SpamAssassin 3.4.1 (2015-04-28) on f.primenet.com.au X-Spam-Level: X-Spam-Status: No, score=-1.7 required=5.0 tests=BAYES_00, FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM,HEADER_FROM_DIFFERENT_DOMAINS, SPF_PASS,T_DKIM_INVALID,T_RP_MATCHES_RCVD autolearn=no autolearn_force=no version=3.4.1 X-Envelope-From: SRS0=Yq8Y=ER=yahoo.co.uk=okiddle@bounces.park01.gkg.net X-Qmail-Scanner-Mime-Attachments: | X-Qmail-Scanner-Zip-Files: | X-Virus-Scanned: by amavisd-new at gkg.net Authentication-Results: amavisd4.gkg.net (amavisd-new); dkim=pass (2048-bit key) header.d=yahoo.co.uk X-Greylist: domain auto-whitelisted by SQLgrey-1.8.0 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.co.uk; s=s2048; t=1516629465; bh=HM17R7MljZufSmbmeqS4ZUwLMCSypdn+qi1Adfkk8oQ=; h=From:To:Subject:Date:From:Subject; b=bU2o0xfjCX1OlUoe2XhQlTEpaS52nWxkiM442IZ6pPN//WduZHWWBBWkMue2jiB3z78WmrsRNmUK5X0sUfH8yvPHS+D/jrg3y1V8+ZyBAd3dXLSPBxkbIleYpqKtlMd/8S8buxVZ3cOWgOTPHovsmyPIrHGXYjfFEVeKUDXKCgxuz8BRQHeYCZRpQVVHN7bMCcHnFUtQpbs65/fax0ksp0widatdrSulG+AJ71hUSPeJ98UGMs3sFD1/QIInm0SQzr79tEiwaE7nsuk2alnI/OFFv3GE5MDcYD7ZfjTMqsdZPp59QOjVeUK8ZRlZeMaLw5I3+tPmVOi5HlLZEC79/g== X-YMail-OSG: OZlyhDoVM1nnIgkHjYGw9u3P4OGurqOo5O.FKkBmPOSqimoe66DomNKfTSNXI5A o14UsSZgxvn7bSxpEKdrN6p1ANyFkccfUorTgyXESmVZUpGn5kBBQbuvrXdUGAl6nAlcwibqeIfr 3ZU69X6L6lF6U70ejLPYTZnpXXF9tGbd5UBKUjesiw_EhGBUzZ6VjBnOS5QF_Bg7WHrqW2vu8Htr aUOiZOPBP2hnZ4OQMPWIq3l3Il3XxoGutxsFL_lv3694BO2oAq1dk0AbtWB.hk2MfpOvyBK0UA0p ZDUAZAYYQ.30UDmLN6heE9UJxY8WwFj8ng_I4TQz7RsG64F3n7W5RBh_mmqmTM6B.tHhuIj4epjr A1I.J4qHtpbN7pQDekNBWpqSke_7SR5r94geCsmHQaJ_8d.WMIZTZgu81QpzSA_6Nc.Ps.3C3w0e DQRFWdfgZawOV9Y2ghDKfxAbPEvDiqyKiEEhZg4UuF7LIYFil_ckLaMclNgfuE_DmyfzxH5KuSO_ zstQh.Xen_w-- From: Oliver Kiddle To: Zsh workers Subject: PATCH: update options in assorted completions MIME-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Content-ID: <28714.1516629460.1@thecus.kiddle.eu> Content-Transfer-Encoding: quoted-printable Date: Mon, 22 Jan 2018 14:57:40 +0100 Message-ID: <28715.1516629460@thecus.kiddle.eu> A number of completions are quite outdated. Examples include: ip, btrfs, iptables, links, lynx, samba, many macOS completions, many Debian completions, rpm, dnf, image magick, growisofs, django, rrdtool. It's always best if updates are made by someone who actually uses a command/OS so if, unlike me, you use any of these, please consider helping to bring them up-to-date. Below are option updates for recently updated commands based on the usual help output diffs. Relevant versions are: cryptsetup 2.0.0 ethtool 4.13 tune2fs 1.43.8 cowsay 3.03 git 2.16 gsettings 2.55.1 gzip 1.9 / pigz 2.4 ssh 7.6 sudo 1.8.22b1 tidy 5.6.0 tmux 2.6 truss freebsd 10.4/11.1 wget 1.19.2 Some of the git options are older =E2=80=93 git rev-list -h is out-of-date= so I had to look through the full manpage. ssh and tmux have removed some old options/commands so this may not be ideal if you're still running old versions of them. Oliver diff --git a/Completion/Linux/Command/_cryptsetup b/Completion/Linux/Comma= nd/_cryptsetup index 00b0f2f95..ea7152ea1 100644 --- a/Completion/Linux/Command/_cryptsetup +++ b/Completion/Linux/Command/_cryptsetup @@ -25,6 +25,7 @@ _arguments -s \ '(-i --iter-time)'{-i+,--iter-time=3D}'[set password processing duratio= n]:duration (milliseconds)' \ '(-q --batch-mode)'{-q,--batch-mode}"[don't ask for confirmation]" \ '(-t --timeout)'{-t+,--timeout=3D}'[set password prompt timeout]:timeou= t (seconds)' \ + '--progress-frequency=3D[specify progress line update interval]:interva= l (seconds)' \ '(-T --tries)'{-T+,--tries=3D}'[set maximum number of retries]:number o= f retries' \ '--align-payload=3D[set payload alignment]:sectors' \ '--header-backup-file=3D[specify file with LUKS header and keyslots bac= kup]:file:_files' \ @@ -39,10 +40,30 @@ _arguments -s \ '--tcrypt-system[device is system TCRYPT drive (with bootloader)]' \ '--tcrypt-backup[use backup (secondary) TCRYPT header]' \ '--veracrypt[scan also for VeraCrypt compatible device]' \ + '--veracrypt-pim=3D[specify personal iteration multiplier for VeraCrypt= compatible device]:multiplier' \ + '--veracrypt-query-pim[query personal iteration multiplier for VeraCryp= t compatible device]' \ '(-M --type)'{-M+,--type=3D}'[specify type of device metadata]:type:(lu= ks plain loopaes tcrypt)' \ '--force-password[disable password quality check (if enabled)]' \ '--perf-same_cpu_crypt[use dm-crypt same_cpu_crypt performance compatib= ility option]' \ '--perf-submit_from_crypt_cpus[use dm-crypt submit_from_crypt_cpus perf= ormance compatibility option]' \ + '--deferred[device removal is deferred until the last user closes it]' = \ + '--pbkdf=3D[specify PBKDF algorithm for LUKS2]:algorithm:(argon2i argon= 2id pbkdf2)' \ + '--pbkdf-memory=3D[specify PBKDF memory cost limit]:limit (kilobytes)' = \ + '--pbkdf-parallel=3D[specify PBKDF parallel cost]:threads' \ + '--pbkdf-force-iterations=3D[specify PBKDF iterations cost]:cost' \ + '--priority=3D[specify keyslot priority]:priority:(ignore normal prefer= )' \ + '--disable-locks[disable locking of on-disk metadata]' \ + '--disable-keyring[disable loading volume keys via kernel keyring]' \ + '(-I --integrity)'{-I+,--integrity=3D}'[specify data integrity algorith= m (LUKS2 only)]:algorithm' \ + '--integrity-no-journal[disable journal for integrity device]' \ + "--integrity-no-wipe[don't wipe device after format]" \ + "--token-only[don't ask for passphrase if activation by token fails]" \ + '--token-id=3D[specify token number]:number [any]' \ + '--key-description=3D[specify key description]:description' \ + '--sector-size=3D[specify encryption sector size]:size [512 bytes]' \ + '--persistent[set activation flags persistent for device]' \ + '--label=3D[set label for the LUKS2 device]:label' \ + '--subsystem=3D[set subsystem label for the LUKS2 device]:subsystem' \ '(- : *)--version[show version information]' \ '(- : *)'{-\?,--help}'[display help information]' \ '(- : *)--usage[display brief usage]' \ @@ -59,6 +80,8 @@ case $state in 'benchmark:benchmark cipher' 'repair:try to repair on-disk metadata' 'erase:erase all keyslots' + 'convert:convert LUKS from/to LUKS2 format' + 'config:set permanent configuration options for LUKS2' 'luksFormat:initialize a LUKS partition' 'luksAddKey:add a new key' 'luksRemoveKey:remove a key' @@ -86,7 +109,7 @@ case $state in benchmark) args=3D( '--cipher=3D:cipher' );; luksKillSlot) args=3D( $device ':key slot number' );; remove|status|resize|*lose|luksSuspend|luksResume) args=3D( $mappin= g );; - erase|repair|(luks(AddKey|Erase|RemoveKey|DelKey|UUID|Dump)|isLuks)= ) + erase|convert|config|repair|(luks(AddKey|Erase|RemoveKey|DelKey|UUI= D|Dump)|isLuks)) args=3D( $device ) ;; luks(Format|AddKey|RemoveKey|ChangeKey)) diff --git a/Completion/Linux/Command/_ethtool b/Completion/Linux/Command/= _ethtool index 612841c1f..7c62fd7f7 100644 --- a/Completion/Linux/Command/_ethtool +++ b/Completion/Linux/Command/_ethtool @@ -64,7 +64,7 @@ if [[ -n $state ]]; then rx-usecs|rx-frames|rx-usecs-irq|rx-frames-irq|tx-usecs|tx-frames) ;& tx-usecs-irq|tx-frames-irq|stats-block-usecs|pkt-rate-low|rx-usecs-low)= ;& rx-frames-low|tx-usecs-low|tx-frames-low|pkt-rate-high|rx-usecs-high) ;= & - rx-frames-high|tx-usecs-high|tx-frames-high|sample-interval|rx-mini) ;& + rx-frames-high|tx-usecs-high|tx-frames-high|sample-interval|dmac|rx-min= i) ;& rx-jumbo|offset|length|magic|value|phyad|proto|tos|tclass|l4proto|src-p= ort) ;& dst-port|spi|l4data|vlan-etype|vlan|user-def|action|vf|queue|loc|delete= ) ;& other|combined|tx-timer|count) @@ -143,7 +143,7 @@ if [[ -n $state ]]; then -C|--coalesce) _wanted settings expl 'coalescing setting' compadd -F line -M 'r:|-= =3D* r:|=3D*' - \ adaptive-{r,t}x {r,t}x-{usecs,frames}{,-irq,-high,-low} \ - stats-block-usecs pkt-rate-{low,high} sample-interval + stats-block-usecs pkt-rate-{low,high} sample-interval dmac ;; -G|--set-ring) _values -S ' ' -w 'ring parameter' \ diff --git a/Completion/Linux/Command/_tune2fs b/Completion/Linux/Command/= _tune2fs index 1fc1709e4..af120e279 100644 --- a/Completion/Linux/Command/_tune2fs +++ b/Completion/Linux/Command/_tune2fs @@ -25,7 +25,6 @@ _arguments -s -S \ '-M+[set the last-mounted directory for the filesystem]:directory:_file= s -/' \ '-o+[mount options]:options:_values -s , debug bsdgroups user_xattr acl= uid16 journal_data journal_data_ordered journal_data_writeback nobarrier = block_validity discard nodelalloc' \ '-O+[set or clear filesystem features]: :_values -s , feature dir_index= dir_nlink encrypt extentextent extra_isize filetype flex_bg has_journalhu= ge_file large_file metadata_csum mmp project quota read-only resize_inode = sparse_super uninit_bg' \ - '-p+[set MMP check interval]:interval (seconds) [5]' \ '-r+[set the number of reserved filesystem blocks]:number' \ '-Q+[set quota feature on the superblock]: :_values -s , "quota option"= usrquota grpquota prjquota' \ '-s+[set sparse super feature]:state:((0\:off 1\:on))' \ diff --git a/Completion/Unix/Command/_cowsay b/Completion/Unix/Command/_co= wsay index 19e73811c..8a1b4c4c9 100644 --- a/Completion/Unix/Command/_cowsay +++ b/Completion/Unix/Command/_cowsay @@ -3,26 +3,29 @@ local context state line typeset -A opt_args = -_arguments \ - '-e:eye string:' \ - '-f:cowfile:->cowfile' \ - '-T:tongue string:' \ - '-W:wrap column:' \ - '-b[borg mode]' \ - '-d[dead mode]' \ - '-g[greedy mode]' \ - '-h[help]' \ - '-l[list]' \ - '-n[no wordwrap]' \ - '-p[paranoia mode]' \ - '-s[stoned mode]' \ - '-t[tired mode]' \ - '-w[wired mode]' \ - '-y[youthful mode]' \ - ':message:' && return 0 +_arguments -s -S -A "-*" \ + "(H mode)-e+[specify cow's eyes]:eye string [oo]" \ + '(H)-f+[specify cowfile]:cowfile:->cowfile' \ + "(H mode)-T+[specify cow's tongue]:tongue string" \ + '(H)-W+[specify width for message word wrap]:wrap column [40]' \ + '(H)-n[no wordwrap]' \ + '*:message' \ + + 'H' \ + '(- *)-h[display usage information]' \ + '(- *)-l[list all cowfiles]' \ + + '(mode)' \ + '(H -e -T)-b[borg mode]' \ + '(H -e -T)-d[dead mode]' \ + '(H -e -T)-g[greedy mode]' \ + '(H -e -T)-p[paranoia mode]' \ + '(H -e -T)-s[stoned mode]' \ + '(H -e -T)-t[tired mode]' \ + '(H -e -T)-w[wired mode]' \ + '(H -e -T)-y[youthful mode]' && return = case "$state" in (cowfile) - compadd ${=3D${(f)"$($service -l 2>/dev/null)"}:#*\:} || _files + _wanted -C option-f-1 cowfiles expl 'cow file' compadd \ + ${=3D${(f)"$(_call_program cowfiles $words[1] -l)"}:#*\:} || _files= -g "*.cow(-.)" ;; esac diff --git a/Completion/Unix/Command/_git b/Completion/Unix/Command/_git index a46da5b3c..30ca80835 100644 --- a/Completion/Unix/Command/_git +++ b/Completion/Unix/Command/_git @@ -60,9 +60,10 @@ _git-add () { '(-i --interactive : -)'{-i,--interactive}'[add contents interactivel= y to index]' \ '(-p --patch)'{-p,--patch}'[like -i but go directly into patch mode f= or specified files]' \ '(-e --edit)'{-e,--edit}'[open diff against index in editor]' \ - '(-A --all --no-ignore-removal -u --update --no-all --ignore-removal)= '{-A,--all,--no-ignore-removal}'[add, modify, and remove index entries to = match the working tree]' \ - '(-A --all --no-ignore-removal -u --update --no-all --ignore-removal)= '{--no-all,--ignore-removal}'[like "--all" but ignore removals]' \ + '(-A --all --no-ignore-removal -u --update --no-all --ignore-removal = --renormalize)'{-A,--all,--no-ignore-removal}'[add, modify, and remove ind= ex entries to match the working tree]' \ + '(-A --all --no-ignore-removal -u --update --no-all --ignore-removal = --renormalize)'{--no-all,--ignore-removal}'[like "--all" but ignore remova= ls]' \ '(-A --all --no-ignore-removal -u --update --no-all --ignore-removal)= '{-u,--update}'[update the index just where it already has an entry matchi= ng ]' \ + '(-A --all --no-ignore-removal -u --update --no-all --ignore-removal)= --renormalize[renormalize EOL of tracked files (implies -u)]' \ '(-N --intent-to-add)'{-N,--intent-to-add}'[record only that path wil= l be added later]' \ '--refresh[do not add files, but refresh their stat() info in index]'= \ '--ignore-errors[continue adding if an error occurs]' \ @@ -1207,7 +1208,6 @@ _git-merge () { '--abort[restore the original branch and abort the merge operation]' = \ '--continue[continue the current in-progress merge]' \ '--progress[force progress reporting]' \ - '--signoff[add Signed-off-by:]' \ '--verify[verify commit-msg hook]' \ '*: : __git_commits -O expl:git_commit_opts' } @@ -1751,7 +1751,7 @@ _git-status () { = normal\:"show untracked files and directories" \ = all\:"also show untracked files in untracked directories (defa= ult)"))' \ '--ignore-submodules[ignore changes to submodules]:: :__git_ignore_su= bmodules_whens' \ - '--ignored[show ignored files as well]' \ + '--ignored=3D-[show ignored files as well]:mode [traditional]:(tradit= ional matching no)' \ '(-z --null --column --no-column)'{-z,--null}'[use NUL termination on= output]' \ '(--no-column -z --null)--column=3D-[display in columns]::column.stat= us option:((always\:"always show in columns" never\:"never show in columns= " auto\:"show in columns if the output is to the terminal" column\:"fill c= olumns before rows (default)" row\:"fill rows before columns" plain\:"show= in one column" dense\:"make unequal size columns to utilize more space" n= odense\:"make equal size columns"))' \ '(--column)--no-column[do not display in columns]' \ @@ -2126,10 +2126,11 @@ _git-config () { '(--global --system -f --file --blob)--local[use local config= file]' \ '(--global --system --local --blob)'{-f+,--file=3D}'[use gi= ven config file]:config file:_files' \ '(--global --system --local -f --file)--blob=3D[read config from give= n blob object]:blob:__git_blobs' \ - '( --int --bool-or-int --path)--bool[setting is a boolean]' \ - '(--bool --bool-or-int --path)--int[setting is an integer]' \ - '(--bool --int --path)--bool-or-int[setting is an integ= er]' \ - '(--bool --int --bool-or-int )--path[setting is a path]' \ + '( --int --bool-or-int --path --expiry-date)--bool[setting is a= boolean]' \ + '(--bool --bool-or-int --path --expiry-date)--int[setting is an= integer]' \ + '(--bool --int --path --expiry-date)--bool-or-int[setti= ng is an integer]' \ + '(--bool --int --bool-or-int --expiry-date)--path[setting is a= path]' \ + '(--bool --int --bool-or-int --path )--expiry-date[setti= ng is an expiry date]' \ '(-z --null)'{-z,--null}'[end values with NUL and newline between key= and value]' \ '(--get --get-all --get-urlmatch --replace-all --add --unset --unset-= all --rename-section --remove-section -e --edit --get-color --get-colorboo= l)--name-only[show variable names only]' \ '(--includes)'--no-includes"[don't respect \"include.*\" directives]"= \ @@ -4669,6 +4670,8 @@ _git-pack-objects () { '--keep-true-parents[pack parents hidden by grafts]' \ '--use-bitmap-index[use a bitmap index if available to speed up count= ing objects]' \ '--write-bitmap-index[write a bitmap index together with the pack ind= ex]' \ + '--filter=3D[omit certain objects from pack file]:filter:_git_rev-lis= t_filters' \ + '--missing=3D[specify how missing objects are handled]:action:(error = allow-any print)' \ ':base-name:_files' } = @@ -4781,6 +4784,10 @@ _git-update-index () { '--untracked-cache[enable/disable untracked cache]' \ '--test-untracked-cache[test if the filesystem supports untracked cac= he]' \ '--force-untracked-cache[enable untracked cache without testing the f= ilesystem]' \ + '--force-write-index[write out the index even if is not flagged as ch= anged]' \ + '--fsmonitor[enable or disable file system monitor]' \ + '--fsmonitor-valid[mark files as fsmonitor valid]' \ + '--no-fsmonitor-valid[clear fsmonitor valid bit]' \ $z_opt \ '*:: :_files' } @@ -4972,7 +4979,8 @@ _git-ls-files () { '--exclude-standard[skip files in standard Git exclusion lists]' \ '--error-unmatch[if any file does not appear in index, treat this as = an error]' \ '(-s --stage -u --unmerged)--with-tree=3D[treat paths removed since g= iven tree-ish as still present]: :__git_tree_ishs' \ - '-v[identify each files status (hmrck?)]' \ + '(-f)-v[indicate status of each file using lowercase for assume chang= ed files]' \ + '(-v)-f[indicate status of each file using lowercase for fsmonitor cl= ean files]' \ '--full-name[force paths to be output relative to the project top dir= ectory]' \ '--recurse-submodules[recurse through submodules]' \ '--abbrev=3D[set minimum SHA1 display-length]: :__git_guard_number le= ngth' \ @@ -5069,7 +5077,14 @@ _git-rev-list () { = _arguments -C -S \ $revision_options \ - '(--pretty)--header[display contents of commit in raw-format]' \ + '--no-filter[turn off any previous --filter argument]' \ + '--filter-print-omitted[print a list of objects omitted by --filter]'= \ + '--filter=3D[omit certain objects from pack file]:filter:_git_rev-lis= t_filters' \ + '--missing=3D[specify how missing objects are handled]:action:(error = allow-any print)' \ + '(--count --pretty --header --left-right --abbrev-commit --abbrev --p= arent --children)--quiet[print nothing; exit status indicates if objects a= re fully connected]' \ + '--use-bitmap-index[try to speed traversal using pack bitmap index if= available]' \ + '--progress=3D-[show progress reports as objects are considered]:head= er' \ + '(--pretty --quiet)--header[display contents of commit in raw-format]= ' \ '--timestamp[print raw commit timestamp]' \ '( --bisect-vars --bisect-all)--bisect[show only middlemost c= ommit object]' \ '(--bisect)--bisect-vars[same as --bisect, displaying shell-evalable = code]' \ @@ -5092,6 +5107,15 @@ _git-rev-list () { return ret } = +(( $+functions[_git_rev-list_filters] )) || +_git_rev-list_filters() { + _values 'filter' \ + 'blob\:none[omit all blobs]' \ + 'blob\:limit[omit blobs larger than specified size]:size' \ + 'sparse\:oid[uses a sparse-checkout specification contained in the bl= ob]:blob-ish' \ + 'sparse\:path[uses a sparse-checkout specification contained in path]= :path:_directories' +} + (( $+functions[_git-show-index] )) || _git-show-index () { _message 'no arguments allowed; accepts index file on standard input' @@ -5812,16 +5836,24 @@ __git_extract_aliases () { __git_date_formats () { declare -a date_formats = + if compset -P 'format:'; then + _strftime + return + fi + date_formats=3D( relative:'show dates relative to the current time' local:'show timestamps in local timezone' - iso:'show timestamps in ISO 8601 format' - rfc:'show timestamps in RFC 2822 format' + iso{,8601}:'show timestamps in ISO 8601 format' + iso-strict:'show timestamps in strict ISO 8601 format' + rfc{,2822}:'show timestamps in RFC 2822 format' short:'show only date but not time' raw:'show date in internal raw git format (%s %z)' - default:'show timestamp in the original timezone') + unix:'show date as a Unix epoch timestamp' + default:'show timestamp in the original timezone' + ) = - _describe -t date-formats 'date format' date_formats $* + _describe -t date-formats 'date format' date_formats -- '( format\:cust= om\ format )' -S : } = (( $+functions[__git_gpg_secret_keys] )) || @@ -6983,6 +7015,8 @@ __git_setup_log_options () { # TODO: Need to implement - for limiting the number of commits to sh= ow. log_options=3D( '(- *)-h[display help]' + '--decorate-refs=3D[only decorate refs that match pattern]:pattern' + "--decorate-refs-exclude=3D[don't decorate refs that match pattern]:p= attern" '( --no-decorate)--decorate=3D-[print out ref names of any = commits that are shown]: :__git_log_decorate_formats' '(--decorate )--no-decorate[do not print out ref names o= f any commits that are shown]' '( --no-follow)--follow[follow renames]' @@ -7204,16 +7238,19 @@ __git_setup_revision_options () { '*--author=3D[limit commits to those by given author]:author' '*--committer=3D[limit commits to those by given committer]:committer= ' '*--grep=3D[limit commits to those with log messages matching the giv= en pattern]:pattern' - '--all-match[limit commits to ones matching all --grep, --author, and= --committer]' + '--all-match[limit commits to those matching all --grep, --author, an= d --committer]' + '--invert-grep[limit commits to those not matching --grep, --author a= nd --committer]' '(-i --regexp-ignore-case)'{-i,--regexp-ignore-case}'[match regexps i= gnoring case]' - '(-E --extended-regexp)'{-E,--extended-regexp}'[use POSIX extended re= gexps]' - '(-F --fixed-strings)'{-F,--fixed-strings}'[do not interpret patterns= as regexps]' + '!(-E --extended-regexp -F --fixed-strings -P --perl-regexp)--basic-r= egexp' + '(-E --extended-regexp -F --fixed-strings -P --perl-regexp)'{-E,--ext= ended-regexp}'[use POSIX extended regexps]' + '(-E --extended-regexp -F --fixed-strings -P --perl-regexp)'{-F,--fix= ed-strings}"[don't interpret patterns as regexps]" + '(-E --extended-regexp -F --fixed-strings -P --perl-regexp)'{-P,--per= l-regexp}'[use perl regular expression]' '--remove-empty[stop when given path disappears from tree]' - '--merges[display only merge commits]' - '--no-merges[do not display commits with more than one parent]' - '(--min-parents --no-min-parents)--min-parents=3D-[show only commits = having at least commits]: :__git_guard_number "minimum number of paren= ts"' - '(--min-parents --no-min-parents)--no-min-parents[reset limit]' - '(--max-parents --no-max-parents)--max-parents=3D-[show only commits = having at most commits]: :__git_guard_number "maximum number of parent= s"' + '(--no-merges --min-parents)--merges[display only merge commits]' + "(--merges --max-parents)--no-merges[don't display commits with more = than one parent]" + '(--min-parents --no-min-parents --merges)--min-parents=3D-[show only= commits with at least specified number of commits]: :__git_guard_number "= number of parents"' + '(--min-parents --no-min-parents --merges)--no-min-parents[reset limi= t]' + '(--max-parents --no-max-parents --no-merges)--max-parents=3D-[show o= nly commits with at most specified number of commits]: :__git_guard_number= "number of parents"' '(--max-parents --no-max-parents)--no-max-parents[reset limit]' '--first-parent[follow only first parent from merge commits]' '*--not[reverses meaning of ^ prefix for revisions that follow]' @@ -7242,18 +7279,20 @@ __git_setup_revision_options () { '(-g --walk-reflogs)--reverse[display commits in reverse order]' '( --objects-edge)--objects[display object ids of objects re= ferenced by listed commits]' '(--objects )--objects-edge[display object ids of objec= ts referenced by listed and excluded commits]' - '( --do-walk)--no-walk[only display given revs, do not trave= rse their ancestors]' + "( --do-walk)--no-walk=3D-[only display given revs, don't tr= averse their ancestors]::order:(sorted unsorted)" '(--no-walk )--do-walk[only display given revs, traversing t= heir ancestors]' '( --cherry-pick)--cherry-mark[like --cherry-pick but ma= rk equivalent commits instead of omitting them]' '(--cherry-pick )--cherry-pick[omit any commit that intr= oduces the same change as another commit on "the other side" of a symmetri= c range]' '( --right-only)--left-only[list only commits on the left = side of a symmetric range]' '(--left-only )--right-only[list only commits on the righ= t side of a symmetric range]' - '(--left-only --right-only --cherry-pick --cherry-mark)--cherry[synon= ym for --right-only --cherry-mark --no-merges]' + '(--left-only --right-only --cherry-pick --cherry-mark --no-merges --= merges --max-parents)--cherry[synonym for --right-only --cherry-mark --no-= merges]' '(-c --cc )--full-diff[show full commit diffs when using l= og -p, not only those affecting the given path]' '--log-size[print log message size in bytes before the message]' '--use-mailmap[use mailmap file to map author and committer names and= email]' = '--reflog[show all commits from reflogs]' + '--single-worktree[examine the current working tree only]' + '--stdin[additionally read commits from standard input]' '--default[use argument as default revision]:default revision:__git_r= evisions' # TODO: --early-output is undocumented. '--early-output=3D-[undocumented]::undocumented' @@ -7278,6 +7317,7 @@ __git_setup_merge_options () { '(-n --no-stat)--stat[show a diffstat at the end of the merge]' '(--stat -n --no-stat)'{-n,--no-stat}'[do not show diffstat at the en= d of the merge]' '( --no-squash)--squash[merge, but do not commit]' + '--signoff[add Signed-off-by:]' '(--squash )--no-squash[merge and commit]' '--ff-only[refuse to merge unless HEAD is up to date or merge can be = resolved as a fast-forward]' '(-S --gpg-sign --no-gpg-sign)'{-S-,--gpg-sign=3D-}'[GPG-sign the com= mit]::key id' diff --git a/Completion/Unix/Command/_gsettings b/Completion/Unix/Command/= _gsettings index 890b56403..2724be0ea 100644 --- a/Completion/Unix/Command/_gsettings +++ b/Completion/Unix/Command/_gsettings @@ -3,7 +3,7 @@ local curcontext=3D"$curcontext" state line expl ret=3D1 local subcmds = -_arguments \ +_arguments -A "-*" \ '(- 1 *)--version[show version information]' \ '--schemadir[specify location of schemata]:directory:_directories' \ ':command:->subcmds' \ @@ -20,6 +20,9 @@ if [[ $state =3D subargs ]]; then _arguments ':schema:->schemata' ':key:->keys' ':value' ;; (list|reset)-(keys|recursively|children)) state=3Dschemata ;; + list-schemas) + _arguments '--print-paths' + ;; *) _default && ret=3D0 ;; esac fi diff --git a/Completion/Unix/Command/_gzip b/Completion/Unix/Command/_gzip index f9fd17819..42d4ae705 100644 --- a/Completion/Unix/Command/_gzip +++ b/Completion/Unix/Command/_gzip @@ -13,7 +13,9 @@ unpigz|pigz) '(-b --blocksize)'{-b+,--blocksize}'[set compression block size]:size= (KiB)' '(-p --processes)'{-p,--processes}'[specify number of processes to us= e]' '(-z --zlib)'{-z,--zlib}'[compress to zlib (.zz) format]' - '(-T --no-time)'{-T,--no-time}"[don't store/restore modification time= in/from header]" + '(-m --no-time)'{-m,--no-time}"[don't store/restore modification time= in/from header]" + '(-M --time)'{-M,--time}"[store/restore modification time in/from hea= der]" + '(--synchronous)-Y[force output file write to permanent storage]' ) ;| pigz) @@ -23,7 +25,7 @@ pigz) '(--rsyncable)-R[make rsync-friendly archive]' "($excl)"{-F,--first}'[do iterations first, before block split]' "($excl)"{-I+,--iterations}'[specify number of iterations for optimiz= ation]:iterations [15]' - "($excl)"{-M+,--maxsplits}'[specify maximum number of split blocks]:s= plit blocks [15]' + "($excl)"{-J+,--maxsplits}'[specify maximum number of split blocks]:s= plit blocks [15]' "($excl)"{-O,--oneblock}"[don't split into smaller blocks]" ) ;| @@ -62,6 +64,7 @@ gzip|pigz) '(-R)--rsyncable[make rsync-friendly archive]' \ '(--suffix)-S+[specify suffix for compressed files]:suffix:' \ '(-S)--suffix=3D[specify suffix for compressed files]:suffix:' \ + '(-Y)--synchronous[force output file write to permanent storage]' \ '(--test)-t[test compressed file integrity]' \ '(-t)--test[test compressed file integrity]' \ '(--verbose)-v[verbose mode]' \ diff --git a/Completion/Unix/Command/_ssh b/Completion/Unix/Command/_ssh index e5d51dd29..8a122a5b3 100644 --- a/Completion/Unix/Command/_ssh +++ b/Completion/Unix/Command/_ssh @@ -8,19 +8,16 @@ _ssh () { typeset -A opt_args = common=3D( - '(-2)-1[forces ssh to try protocol version 1 only]' - '(-1)-2[forces ssh to try protocol version 2 only]' '(-6)-4[forces ssh to use IPv4 addresses only]' '(-4)-6[forces ssh to use IPv6 addresses only]' '-C[compress data]' - # for protocol version 2, this can be a comma-separated list - '-c+[select encryption cipher]:encryption cipher:(idea des 3des blowf= ish arcfour tss none)' + '-c+[select encryption cipher]:encryption cipher:->ciphers' '-F+[specify alternate config file]:config file:_files' '*-i+[select identity file]:SSH identity file:_files -g "*(-.^AR)"' '*-o+[specify extra options]:option string:->option' ) common_transfer=3D( - '-l+[limit used bandwidth]:bandwidth in Kbit/s:' + '-l+[limit used bandwidth]:bandwidth (Kbit/s)' '-P+[specify port on remote host]:port number on remote host' '-p[preserve modification times, access times and modes]' '-q[disable progress meter and warnings]' @@ -49,8 +46,8 @@ _ssh () { '*-L+[specify local port forwarding]:local port forwarding:->forwar= d' \ '-l+[specify login name]:login name:_ssh_users' \ '-M[master mode for connection sharing]' \ - '(-1)-m+[specify mac algorithms]:mac spec:->macs' \ - '(-1)-N[do not execute a remote command (protocol version 2 only)]'= \ + '-m+[specify mac algorithms]: :->macs' \ + "-N[don't execute a remote command]" \ '-n[redirect stdin from /dev/null]' \ '-O+[control an active connection multiplexing master process]:mult= iplex control command:((check\:"check master process is running" exit\:"re= quest the master to exit" forward\:"request forward without command execut= ion" stop\:"request the master to stop accepting further multiplexing requ= ests" cancel\:"cancel existing forwardings with -L and/or -R" proxy))' \ '-P[use non privileged port]' \ @@ -59,8 +56,8 @@ _ssh () { '*-R+[specify remote port forwarding]:remote port forwarding:->forw= ard' \ '-S+[specify location of control socket for connection sharing]:pat= h to control socket:_files' \ '-Q+[query parameters]:parameter type:((cipher\:"supported symmetri= c ciphers" cipher-auth\:"supported symmetric ciphers that support authenti= cated encryption" mac\:"supported message integrity codes" kex\:"key excha= nge algorithms" key\:"key types" protocol-version\:"supported SSH protocol= versions"))' \ - '(-1)-s[invoke subsystem]' \ - '(-1 -t)-T[disable pseudo-tty allocation (protocol version 2 only)]= ' \ + '-s[invoke subsystem]' \ + '(-t)-T[disable pseudo-tty allocation]' \ '(-T)-t[force pseudo-tty allocation]' \ '-V[show version number]' \ '(-q)*-v[verbose mode (multiple increase verbosity, up to 3)]' \ @@ -95,6 +92,7 @@ _ssh () { '-l[list all identities]' \ '-s+[add keys provided by the PKCS#11 shared library]:library:_file= s -g "*.(so|dylib)(|.<->)(-.)"' \ '-t+[set maximum lifetime for identity]:maximum lifetime (in second= s or time format):' \ + '-q[be quiet after a successful operation]' \ '-X[unlock the agent]' \ '-x[lock the agent with a password]' \ '*:SSH identity file:_files' @@ -177,8 +175,14 @@ _ssh () { "($cmn)-s[$sdesc]:CA key:_files" \ "$p1($cmn -f -u)-I+[specify key identifier to include in certificat= e]:key id" \ "$p1($cmn -f -u)-h[generate host certificate instead of a user cert= ificate]" \ + "$p1($cmn -f -u -D)-U[indicate that CA key is held by ssh-agent]" \ + "$p1($cmn -f -u -U)-D+[indicate the CA key is stored in a PKCS#11 t= oken]:PKCS11 shared library:_files -g '*.(so|dylib)(|.<->)(-.)'" \ "$p1($cmn -f -u)-n+[specify user/host principal names to include in= certificate]:principals" \ - "$p1($cmn -f -u)-O+[specify a certificate option]:option" \ + "$p1($cmn -f -u)*-O+[specify a certificate option]: : _values 'opti= on' + clear critical\:name extension\:name force-command\:command\:_cmd= string + no-agent-forwarding no-port-forwarding no-pty no-user-rc no-x11-forwardi= ng + permit-agent-forwarding permit-port-forwarding permit-pty permit-user-rc + permit-x11-forwarding source-address\:source\ address" \ "$p1($cmn -f -u)-V+[specify certificate validity interval]:interval= " \ "($cmn -I -h -n -O -V)-k[generate a KRL file]" \ "$p1($cmn -I -h -n -O -V)-u[update a KRL]" @@ -217,7 +221,7 @@ _ssh () { ;; esac case "${IPREFIX#-o}" in - (#i)(afstokenpassing|batchmode|canonicalizefallbacklocal|challeng= eresponseauthentication|checkhostip|clearallforwardings|compression|enable= sshkeysign|exitonforwardfailure|fallbacktorsh|forward(agent|x11)|forwardx1= 1trusted|gatewayports|gssapiauthentication|gssapidelegatecredentials|gssap= itrustdns|hashknownhosts|hostbasedauthentication|identitiesonly|kbdinterac= tiveauthentication|(tcp|)keepalive|nohostauthenticationforlocalhost|passwo= rdauthentication|permitlocalcommand|proxyusefdpass|pubkeyauthentication|rh= osts(|rsa)authentication|rsaauthentication|streamlocalbindunlink|usersh|ke= rberos(authentication|tgtpassing)|useprivilegedport|visualhostkey)=3D*) + (#i)(afstokenpassing|batchmode|canonicalizefallbacklocal|challeng= eresponseauthentication|checkhostip|clearallforwardings|compression|enable= sshkeysign|exitonforwardfailure|fallbacktorsh|forward(agent|x11)|forwardx1= 1trusted|gatewayports|gssapiauthentication|gssapidelegatecredentials|gssap= ikeyexchange|gssapirenewalforcesrekey|gssapitrustdns|hashknownhosts|hostba= sedauthentication|identitiesonly|kbdinteractiveauthentication|(tcp|)keepal= ive|nohostauthenticationforlocalhost|passwordauthentication|permitlocalcom= mand|proxyusefdpass|pubkeyauthentication|rhosts(|rsa)authentication|rsaaut= hentication|streamlocalbindunlink|usersh|kerberos(authentication|tgtpassin= g)|useprivilegedport|visualhostkey)=3D*) _wanted values expl 'truth value' compadd yes no && ret=3D0 ;; (#i)addressfamily=3D*) @@ -239,32 +243,7 @@ _ssh () { _message -e 'CNAME rule list (source_domain_list:target_domain_= list, each pattern list comma separated)' && ret=3D0 ;; (#i)ciphers=3D*) - _values -s , 'encryption cipher' \ - '3des-cbc' \ - 'aes128-cbc' \ - 'aes192-cbc' \ - 'aes256-cbc' \ - 'aes128-ctr' \ - 'aes192-ctr' \ - 'aes256-ctr' \ - 'arcfour128' \ - 'arcfour256' \ - 'arcfour' \ - 'blowfish-cbc' \ - 'cast128-cbc' \ - \ - 'rijndael128-cbc' \ - 'rijndael192-cbc' \ - 'rijndael256-cbc' \ - 'rijndael-cbc@lysator.liu.se' \ - && ret=3D0 - ;; - (#i)cipher=3D*) - _wanted values expl 'encryption cipher (protocol version 1)' \ - compadd blowfish 3des des idea arcfour tss none && ret=3D0 - ;; - (#i)compressionlevel=3D*) - _values 'compression level' {1..9} && ret=3D0 + state=3Dciphers ;; (#i)connectionattempts=3D*) _message -e 'connection attempts' && ret=3D0 @@ -304,21 +283,7 @@ _ssh () { _wanted hosts expl 'real host name to log into' _ssh_hosts && r= et=3D0 ;; (#i)(hostbasedkeytypes|hostkeyalgorithms|pubkeyacceptedkeytypes)=3D= *) - _values -s , 'key types' \ - 'ecdsa-sha2-nistp256-cert-v01@openssh.com' \ - 'ecdsa-sha2-nistp384-cert-v01@openssh.com' \ - 'ecdsa-sha2-nistp521-cert-v01@openssh.com' \ - 'ssh-ed25519-cert-v01@openssh.com' \ - 'ssh-rsa-cert-v01@openssh.com' \ - 'ssh-dss-cert-v01@openssh.com' \ - 'ssh-rsa-cert-v00@openssh.com' \ - 'ssh-dss-cert-v00@openssh.com' \ - 'ecdsa-sha2-nistp256' \ - 'ecdsa-sha2-nistp384' \ - 'ecdsa-sha2-nistp521' \ - 'ssh-ed25519' \ - 'ssh-rsa' \ - 'ssh-dss' && ret=3D0 + _wanted key-types expl 'key type' _sequence compadd - $(_call_program = key-types ssh -Q key) && ret=3D0 ;; (#i)identityfile=3D*) _description files expl 'SSH identity file' @@ -350,12 +315,9 @@ _ssh () { _values -s , 'keyboard-interactive authentication methods' \ 'bsdauth' 'pam' 'skey' && ret=3D0 ;; - (#i)kexalgorithms=3D*) - _values -s , 'KEX algorithms' \ - ecdh-sha2-nistp256 ecdh-sha2-nistp384 ecdh-sha2-nistp521 \ - diffie-hellman-group-exchange-sha256 \ - diffie-hellman-group-exchange-sha1 \ - diffie-hellman-group14-sha1 diffie-hellman-group1-sha1 && r= et=3D0 + (#i)(kexalgorithms|gssapikexalgorithms)=3D*) + _wanted algorithms expl 'key exchange algorithm' _sequence comp= add - \ + $(_call_program algorithms ssh -Q kex) && ret=3D0 ;; (#i)localcommand=3D*) _description commands expl 'run command locally after connectin= g' @@ -389,7 +351,7 @@ _ssh () { '1' \ '2' && ret=3D0 ;; - (#i)proxycommand=3D*) + (#i)(proxy|remote)command=3D*) _cmdstring && ret=3D0 ;; (#i)rekeylimit=3D*) @@ -421,7 +383,13 @@ _ssh () { (#i)streamlocalbindmask=3D*) _message -e 'octal mask' && ret=3D0 ;; - (#i)(stricthostkeychecking|verifyhostkeydns|updatehostkeys)=3D*) + (#i)stricthostkeychecking=3D*) + _wanted values expl 'value' compadd yes no ask accept-new off &= & ret=3D0 + ;; + (#i)syslogfacility=3D*) + _wanted facilities expl 'facility' compadd -M 'm:{a-z}=3D{A-Z}'= DAEMON USER AUTH LOCAL{0,1,2,3,4,5,6,7} && ret=3D0 + ;; + (#i)(verifyhostkeydns|updatehostkeys)=3D*) _wanted values expl 'truthish value' compadd yes no ask && ret=3D= 0 ;; (#i)transport=3D*) @@ -466,11 +434,9 @@ _ssh () { CertificateFile \ ChallengeResponseAuthentication \ CheckHostIP \ - Cipher \ Ciphers \ ClearAllForwardings \ Compression \ - CompressionLevel \ ConnectionAttempts \ ConnectTimeout \ ControlMaster \ @@ -488,10 +454,14 @@ _ssh () { GatewayPorts \ GlobalKnownHostsFile \ GSSAPIAuthentication \ + GSSAPIClientIdentity \ GSSAPIDelegateCredentials \ + GSSAPIKeyExchange \ + GSSAPIRenewalForcesRekey \ + GSSAPIServerIdentity \ GSSAPITrustDns \ + GSSAPIKexAlgorithms \ HashKnownHosts \ - Host \ HostbasedAuthentication \ HostbasedKeyTypes \ HostKeyAlgorithms \ @@ -516,13 +486,13 @@ _ssh () { PKCS11Provider \ Port \ PreferredAuthentications \ - Protocol \ ProxyCommand \ ProxyJump \ ProxyUseFdpass \ PubkeyAcceptedKeyTypes \ PubkeyAuthentication \ RekeyLimit \ + RemoteCommand \ RemoteForward \ RequestTTY \ RevokedHostKeys \ @@ -534,8 +504,8 @@ _ssh () { StreamLocalBindMask \ StreamLocalBindUnlink \ StrictHostKeyChecking \ + SyslogFacility \ TCPKeepAlive \ - Transport \ Tunnel \ TunnelDevice \ UpdateHostKeys \ @@ -608,11 +578,18 @@ _ssh () { return ret ;; macs) - _values -s , 'MAC algorithms' hmac-md5 hmac-sha1 umac-64@openssh.co= m \ - hmac-ripemd160 hmac-sha1-96 hmac-md5-96 hmac-sha2-256 \ - hmac-sha2-256-96 hmac-sha2-512 hmac-sha2-512-96 && ret=3D0 + _wanted macs expl 'MAC algorithm' _sequence compadd - $(_call_progr= am macs ssh -Q mac) + return + ;; + ciphers) + _wanted ciphers expl 'encryption cipher' _sequence compadd - $(_cal= l_program ciphers ssh -Q cipher) + return ;; command) + if (( $+opt_args[-s] )); then + _wanted subsystems expl subsystem compadd sftp + return + fi local -a _comp_priv_prefix shift 1 words (( CURRENT-- )) diff --git a/Completion/Unix/Command/_sudo b/Completion/Unix/Command/_sudo index ec293d469..10fa2e82e 100644 --- a/Completion/Unix/Command/_sudo +++ b/Completion/Unix/Command/_sudo @@ -47,7 +47,8 @@ else '(-s --shell)'{-s,--shell}'[run shell as the target user; a command m= ay also be specified]' \ '(-i --login)'{-i,--login}'[run login shell as the target user; a com= mand may also be specified]' \ '(-b --background -i --login -s --shell -e --edit)'{-b,--background}'= [run command in the background]' \ - '(-E --preserve-env -i --login -s --shell -e --edit)'{-E,--preserve-e= nv}'[preserve user environment when running command]' \ + '(--preserve-env -i --login -s --shell -e --edit)-E[preserve user env= ironment when running command]' \ + '(-E -i --login -s --shell -e --edit)--preserve-env=3D-[preserve user= environment when running command]::environment variable:_sequence _parame= ters -g "*export*"' \ '(-H --set-home -i --login -s --shell -e --edit)'{-H,--set-home}"[set= HOME variable to target user's home dir]" \ '(-P --preserve-groups -i -login -s --shell -e --edit)'{-P,--preserve= -groups}"[preserve group vector instead of setting to target's]" \ '(-)1:command: _command_names -e' diff --git a/Completion/Unix/Command/_tidy b/Completion/Unix/Command/_tidy index a4dccd5f5..3998ccdb3 100644 --- a/Completion/Unix/Command/_tidy +++ b/Completion/Unix/Command/_tidy @@ -6,8 +6,8 @@ opts=3D( ${${${(s..)"$(_call_program options $wor= ds[1] -xml-config)"}##*< opts=3D( ${opts/;Integer*/:number} ) opts=3D( ${opts/;Boolean*/:boolean:(yes no)} ) opts=3D( ${opts/;AutoBool*/:value:(auto yes no)} ) -opts=3D( ${opts/;(String|Tag)*/:value} ) -opts=3D( ${opts/(#b);(enum|Encoding|DocType)*(*)<*([^<]= #)<*/:value [${match[2]%% *}]:(${(j. .)${(@s., .)match[3]}%% *})} ) +opts=3D( ${opts/;(String|Tag|Attributes)*/:value} ) +opts=3D( ${opts/(#bi);(enum|Encoding|DocType)*(*)<*([^<= ]#)<*/:value [${match[2]%% *}]:(${(j. .)${(@s., .)match[3]}%% *})} ) opts=3D( ${(M)opts:#*:*} ) = _arguments -s -A "-*" --$^opts \ @@ -33,7 +33,10 @@ _arguments -s -A "-*" --$^opts \ '(- *)'{-version,-v}'[show the version of Tidy]' \ '(- *)'{-help,-h,-\?}'[list the command line options]' \ '(- *)-help-config[list all configuration options]' \ + '(- *)-help-env[show details of environment and runtime configuration]'= \ '(- *)-show-config[list the current configuration settings]' \ + '(- *)-export-config[list the current settings in config file form]' \ + '(- *)-export-default-config[list the default settings in config file f= orm]' \ "(*)-help-option[show a description of specified configuration option]:= config option:(${(@j. .)opts%%:*})" \ '(-lang -language)'{-lang,-language}'[set the two-letter language code]= :language:_locales' \ '-xml-help[list the command line options in XML format]' \ @@ -41,6 +44,7 @@ _arguments -s -A "-*" --$^opts \ "-xml-strings[output all of Tidy's strings in XML format]" \ '-xml-error-strings[output error constants and strings in XML format]' = \ '-xml-options-strings[output option descriptions in XML format]' \ + '-options[specify file containing configuration settings]:config file:_= files' \ '*:file:_files' \ + '(encoding)' \ '-ascii[use US-ASCII for output, ISO-8859-1 for input]' \ diff --git a/Completion/Unix/Command/_tmux b/Completion/Unix/Command/_tmux index b0aa75ba1..730959e84 100644 --- a/Completion/Unix/Command/_tmux +++ b/Completion/Unix/Command/_tmux @@ -180,7 +180,7 @@ _tmux-bind-key() { '-r[the key may repeat]' \ '-T+[specify key table for the binding]:key table' \ '1:key' \ - '*:::template:_tmux' + '*:::template:=3D _tmux' } = _tmux-break-pane() { @@ -211,49 +211,38 @@ _tmux-capture-pane() { } = _tmux-choose-buffer() { - [[ -n ${tmux_describe} ]] && print "put a window into buffer choice mod= e" && return + [[ -n ${tmux_describe} ]] && print "put a pane into buffer choice mode"= && return _arguments -s \ - '-F+[specify output format]:format:__tmux-format' \ + '-N[start without the preview]' \ + '-F+[specify format for each list item]:format:__tmux-formats' \ + '-f+[filter items]:filter format:__tmux-formats' \ + '-O+[initial sort order]:order:(time name size)' \ '-t+[specify target window]:session:__tmux-windows' \ - '*:::template:_tmux' + '*:::template:=3D _tmux' } = _tmux-choose-client() { [[ -n ${tmux_describe} ]] && print "put a window into client choice mod= e" && return _arguments -s \ - '-F+[specify output format]:format:__tmux-format' \ + '-N[start without the preview]' \ + '-F+[specify format for each list item]:format:__tmux-formats' \ + '-f+[filter items]:filter format:__tmux-formats' \ + '-O+[initial sort order]:order:(time name size)' \ '-t+[specify target window]:session:__tmux-windows' \ - '*:::template:_tmux' -} - -_tmux-choose-session() { - [[ -n ${tmux_describe} ]] && print "put a window into session choice mo= de" && return - _arguments -s \ - '-F+[specify output format]:format:__tmux-format' \ - '-t+[specify target window]:session:__tmux-windows' \ - '*:::template:_tmux' + '*:::template:=3D _tmux' } = _tmux-choose-tree() { [[ -n ${tmux_describe} ]] && print "put a window into tree choice mode"= && return _arguments -s \ - '-b+[override default session command]:session-command' \ - '-c+[override default window command]:window-command' \ - '-S+[specify session format]:session-format:__tmux-formats' \ + '-N[start without the preview]' \ + '-F+[specify format for each list item]:format:__tmux-formats' \ + '-f+[filter items]:filter format:__tmux-formats' \ + '-O+[initial sort order]:order:(time name size)' \ '-s[choose among sessions]' \ '-t+[specify target window]:session:__tmux-windows' \ - '-u[show generated tree uncollapsed at startup]' \ - '-W+[specify window format]:window-format:__tmux-formats' \ '-w[choose among windows]' \ - '*:::template:_tmux' -} - -_tmux-choose-window() { - [[ -n ${tmux_describe} ]] && print "put a window into window choice mod= e" && return - _arguments -s \ - '-F+[specify output format]:format:__tmux-formats' \ - '-t+[specify target window]:session:__tmux-windows' \ - '*:::template:_tmux' + '*:::template:=3D _tmux' } = _tmux-clear-history() { @@ -275,7 +264,7 @@ _tmux-command-prompt() { '-I+[specify list of initial inputs]:initial-text (comma-separated li= st)' \ '-p+[specify list of prompts]:prompts (comma-separated list)' \ '-t+[specify target client]:client:__tmux-clients' \ - '*:::template:_tmux' + '*:::template:=3D _tmux' } = _tmux-confirm-before() { @@ -283,7 +272,7 @@ _tmux-confirm-before() { _arguments -s \ '-p+[specify prompt]:prompt string' \ '-t+[specify target client]:client:__tmux-clients' \ - '*:::command:_tmux' + '*:::command:=3D _tmux' } = _tmux-copy-mode() { @@ -321,14 +310,16 @@ _tmux-display-message() { = _tmux-display-panes() { [[ -n ${tmux_describe} ]] && print "display an indicator for each visib= le pane" && return - _arguments '-t+[specify target client]:client:__tmux-clients' + _arguments -S \ + '-d+[time to show indicator for]:duration (ms)' \ + '-t+[specify target client]:client:__tmux-clients' \ + '*:::command:=3D _tmux' } = _tmux-find-window() { [[ -n ${tmux_describe} ]] && print "search for a pattern in windows" &&= return _arguments -s \ '-C[match visible contents]' \ - '-F+[specify output format]:format:__tmux-formats' \ '-N[match window name]' \ '-T[match window title]' \ '-t+[specify target window]:window:__tmux-windows' \ @@ -628,6 +619,7 @@ _tmux-resize-pane() { _tmux-respawn-pane() { [[ -n ${tmux_describe} ]] && print "reuse a pane in which a command has= exited" && return _arguments -s -A "-*" -S \ + '-c+[specify a new working directory for the pane]:directory:_directo= ries' \ '-k[kill window if it is in use]' \ '-t+[specify target pane]:pane:__tmux-pane' \ ':command:_cmdambivalent' @@ -636,6 +628,7 @@ _tmux-respawn-pane() { _tmux-respawn-window() { [[ -n ${tmux_describe} ]] && print "reuse a window in which a command h= as exited" && return _arguments -s -A "-*" -S \ + '-c+[specify a new working directory for the window]:directory:_direc= tories' \ '-k[kill window if it is in use]' \ '-t+[specify target window]:window:__tmux-windows' \ ':command:_cmdambivalent' @@ -688,6 +681,7 @@ _tmux-select-pane() { '-R[move to the pane right of target]' \ '-U[move to the pane above target]' \ '-P+[set pane style]:style:__tmux-style' \ + '-T+[set the pane title]:title' \ '-t+[specify target pane]:pane:__tmux-panes' } = @@ -772,6 +766,7 @@ _tmux-set-option() { typeset -A opt_args _arguments -C -s : \ '-a[append to string options]' \ + '-F[expand formats in the option value]' \ '-g[set a global session option]' \ '-o[prevent setting of an option that is already set]' \ '-q[suppress errors about unknown or ambiguous options]' \ @@ -796,6 +791,7 @@ _tmux-set-window-option() { typeset -A opt_args _arguments -C -s : \ '-a[append to string options]' \ + '-F[expand formats in the option value]' \ '-g[set a global window option]' \ '-o[prevent setting of an option that is already set]' \ '-q[suppress errors about unknown or ambiguous options]' \ @@ -811,8 +807,9 @@ _tmux-set-hook() { _arguments -s \ '-g[add hook to global list]' \ '-u[unset a hook]' \ - '-t+[specify target session]:session:__tmux-sessions' - ':command' + '-t+[specify target session]:session:__tmux-sessions' \ + ':hook name:_tmux_hooks' \ + '*:::command:=3D _tmux' } = _tmux-show-hooks() { @@ -820,7 +817,6 @@ _tmux-show-hooks() { _arguments -s -S -A "-*" \ '-g[show global list of hooks]' \ '-t+[specify target session]:session:__tmux-sessions' \ - ':hook name:(alert-activity alert-bell alert-silence client-attached = client-detached client-resized pane-died pane-exited)' \ } = _tmux-show-buffer() { @@ -1105,6 +1101,12 @@ function __tmux-colours() { fi } = +_tmux_hooks() { + _alternative \ + 'hooks:hook name:(alert-activity alert-bell alert-silence client-atta= ched client-detached client-resized client-session-changed pane-died pane-= exited pane-set-clipboard session-created session-closed session-renamed w= indow-linked window-renamed window-unlinked)' \ + 'post-hooks:command post-hook:compadd - after-${_tmux_aliasmap}' +} + function __tmux-get-optarg() { local opt=3D"$1" local -i i diff --git a/Completion/Unix/Command/_truss b/Completion/Unix/Command/_tru= ss index d56839e02..b798f03cb 100644 --- a/Completion/Unix/Command/_truss +++ b/Completion/Unix/Command/_truss @@ -43,6 +43,9 @@ case $OSTYPE in "(-c)-S[don't report signals received by the process]" '(*)-p[trace specified existing processes]:pid:_pids' ) + ;| + freebsd<10->.*) + args+=3D( '-H[include thread ID in the output of each event]' ) ;; esac = diff --git a/Completion/Unix/Command/_wget b/Completion/Unix/Command/_wget index 2a7390fba..1a7e2d0a3 100644 --- a/Completion/Unix/Command/_wget +++ b/Completion/Unix/Command/_wget @@ -71,6 +71,7 @@ _arguments -C -s \ '(--adjust-extension -E)'{--adjust-extension,-E}'[save all HTML/CSS doc= uments with proper extensions]' \ "--ignore-length[ignore \`Content-Length' header field]" \ '*--header=3D[send a custom HTTP header]:header:->header' \ + '--compression=3D:compression:(auto gzip none)' \ '--max-redirect=3D:number' \ '--proxy-user=3D:user' \ '--proxy-password=3D:password' \ @@ -90,7 +91,7 @@ _arguments -C -s \ '--content-disposition[honor the Content-Disposition header when choosi= ng local file names]' \ '--content-on-error[output received content on server errors]' \ "--auth-no-challenge[send basic HTTP authentication without first waiti= ng for server's challenge]" \ - '--secure-protocol=3D[choose secure protocol]:protocol:(SSLv2 SSLv3 TLS= v1)' \ + '--secure-protocol=3D[choose secure protocol]:protocol:(SSLv2 SSLv3 TLS= v1 TLSv1_1 TLSv1_2 PFS)' \ --https-only \ "--no-check-certificate=3D[don't check the server certificate]" \ '--certificate=3D[specify client certificate]:client certificate file:_= files' \ @@ -142,6 +143,7 @@ _arguments -C -s \ '(-np --no-parent)'{-np,--no-parent}"[don't ascend to parent directory]= " \ '--no-verbose' \ '--no-clobber' \ + '--no-netrc' \ '--no-use-server-timestamps[do not set timestamp to server provided val= ue]' \ '--htmlify=3D:htmlify:' \ '--no:no:->noflags' \