Zsh Mailing List Archive
Messages sorted by:
Reverse Date,
Date,
Thread,
Author
PATCH: update options in assorted completions
- X-seq: zsh-workers 42317
- From: Oliver Kiddle <okiddle@xxxxxxxxxxx>
- To: Zsh workers <zsh-workers@xxxxxxx>
- Subject: PATCH: update options in assorted completions
- Date: Mon, 22 Jan 2018 14:57:40 +0100
- Authentication-results: amavisd4.gkg.net (amavisd-new); dkim=pass (2048-bit key) header.d=yahoo.co.uk
- 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==
- List-help: <mailto:zsh-workers-help@zsh.org>
- List-id: Zsh Workers List <zsh-workers.zsh.org>
- List-post: <mailto:zsh-workers@zsh.org>
- List-unsubscribe: <mailto:zsh-workers-unsubscribe@zsh.org>
- Mailing-list: contact zsh-workers-help@xxxxxxx; run by ezmlm
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 – 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/Command/_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=}'[set password processing duration]:duration (milliseconds)' \
'(-q --batch-mode)'{-q,--batch-mode}"[don't ask for confirmation]" \
'(-t --timeout)'{-t+,--timeout=}'[set password prompt timeout]:timeout (seconds)' \
+ '--progress-frequency=[specify progress line update interval]:interval (seconds)' \
'(-T --tries)'{-T+,--tries=}'[set maximum number of retries]:number of retries' \
'--align-payload=[set payload alignment]:sectors' \
'--header-backup-file=[specify file with LUKS header and keyslots backup]: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=[specify personal iteration multiplier for VeraCrypt compatible device]:multiplier' \
+ '--veracrypt-query-pim[query personal iteration multiplier for VeraCrypt compatible device]' \
'(-M --type)'{-M+,--type=}'[specify type of device metadata]:type:(luks plain loopaes tcrypt)' \
'--force-password[disable password quality check (if enabled)]' \
'--perf-same_cpu_crypt[use dm-crypt same_cpu_crypt performance compatibility option]' \
'--perf-submit_from_crypt_cpus[use dm-crypt submit_from_crypt_cpus performance compatibility option]' \
+ '--deferred[device removal is deferred until the last user closes it]' \
+ '--pbkdf=[specify PBKDF algorithm for LUKS2]:algorithm:(argon2i argon2id pbkdf2)' \
+ '--pbkdf-memory=[specify PBKDF memory cost limit]:limit (kilobytes)' \
+ '--pbkdf-parallel=[specify PBKDF parallel cost]:threads' \
+ '--pbkdf-force-iterations=[specify PBKDF iterations cost]:cost' \
+ '--priority=[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=}'[specify data integrity algorithm (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=[specify token number]:number [any]' \
+ '--key-description=[specify key description]:description' \
+ '--sector-size=[specify encryption sector size]:size [512 bytes]' \
+ '--persistent[set activation flags persistent for device]' \
+ '--label=[set label for the LUKS2 device]:label' \
+ '--subsystem=[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=( '--cipher=:cipher' );;
luksKillSlot) args=( $device ':key slot number' );;
remove|status|resize|*lose|luksSuspend|luksResume) args=( $mapping );;
- erase|repair|(luks(AddKey|Erase|RemoveKey|DelKey|UUID|Dump)|isLuks))
+ erase|convert|config|repair|(luks(AddKey|Erase|RemoveKey|DelKey|UUID|Dump)|isLuks))
args=( $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-mini) ;&
rx-jumbo|offset|length|magic|value|phyad|proto|tos|tclass|l4proto|src-port) ;&
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:|-=* r:|=*' - \
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:_files -/' \
'-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_journalhuge_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/_cowsay
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 ${=${(f)"$($service -l 2>/dev/null)"}:#*\:} || _files
+ _wanted -C option-f-1 cowfiles expl 'cow file' compadd \
+ ${=${(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 interactively to index]' \
'(-p --patch)'{-p,--patch}'[like -i but go directly into patch mode for 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 index 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 removals]' \
'(-A --all --no-ignore-removal -u --update --no-all --ignore-removal)'{-u,--update}'[update the index just where it already has an entry matching <pathspec>]' \
+ '(-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 will 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 (default)"))' \
'--ignore-submodules[ignore changes to submodules]:: :__git_ignore_submodules_whens' \
- '--ignored[show ignored files as well]' \
+ '--ignored=-[show ignored files as well]:mode [traditional]:(traditional matching no)' \
'(-z --null --column --no-column)'{-z,--null}'[use NUL termination on output]' \
'(--no-column -z --null)--column=-[display in columns]::column.status option:((always\:"always show in columns" never\:"never show in columns" auto\:"show in columns if the output is to the terminal" column\:"fill columns before rows (default)" row\:"fill rows before columns" plain\:"show in one column" dense\:"make unequal size columns to utilize more space" nodense\:"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=}'[use given config file]:config file:_files' \
'(--global --system --local -f --file)--blob=[read config from given 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 integer]' \
- '(--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[setting is an integer]' \
+ '(--bool --int --bool-or-int --expiry-date)--path[setting is a path]' \
+ '(--bool --int --bool-or-int --path )--expiry-date[setting 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-colorbool)--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 counting objects]' \
'--write-bitmap-index[write a bitmap index together with the pack index]' \
+ '--filter=[omit certain objects from pack file]:filter:_git_rev-list_filters' \
+ '--missing=[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 cache]' \
'--force-untracked-cache[enable untracked cache without testing the filesystem]' \
+ '--force-write-index[write out the index even if is not flagged as changed]' \
+ '--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=[treat paths removed since given 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 changed files]' \
+ '(-v)-f[indicate status of each file using lowercase for fsmonitor clean files]' \
'--full-name[force paths to be output relative to the project top directory]' \
'--recurse-submodules[recurse through submodules]' \
'--abbrev=[set minimum SHA1 display-length]: :__git_guard_number length' \
@@ -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=[omit certain objects from pack file]:filter:_git_rev-list_filters' \
+ '--missing=[specify how missing objects are handled]:action:(error allow-any print)' \
+ '(--count --pretty --header --left-right --abbrev-commit --abbrev --parent --children)--quiet[print nothing; exit status indicates if objects are fully connected]' \
+ '--use-bitmap-index[try to speed traversal using pack bitmap index if available]' \
+ '--progress=-[show progress reports as objects are considered]:header' \
+ '(--pretty --quiet)--header[display contents of commit in raw-format]' \
'--timestamp[print raw commit timestamp]' \
'( --bisect-vars --bisect-all)--bisect[show only middlemost commit 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 blob]: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=(
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\:custom\ format )' -S :
}
(( $+functions[__git_gpg_secret_keys] )) ||
@@ -6983,6 +7015,8 @@ __git_setup_log_options () {
# TODO: Need to implement -<n> for limiting the number of commits to show.
log_options=(
'(- *)-h[display help]'
+ '--decorate-refs=[only decorate refs that match pattern]:pattern'
+ "--decorate-refs-exclude=[don't decorate refs that match pattern]:pattern"
'( --no-decorate)--decorate=-[print out ref names of any commits that are shown]: :__git_log_decorate_formats'
'(--decorate )--no-decorate[do not print out ref names of any commits that are shown]'
'( --no-follow)--follow[follow renames]'
@@ -7204,16 +7238,19 @@ __git_setup_revision_options () {
'*--author=[limit commits to those by given author]:author'
'*--committer=[limit commits to those by given committer]:committer'
'*--grep=[limit commits to those with log messages matching the given pattern]:pattern'
- '--all-match[limit commits to ones matching all --grep, --author, and --committer]'
+ '--all-match[limit commits to those matching all --grep, --author, and --committer]'
+ '--invert-grep[limit commits to those not matching --grep, --author and --committer]'
'(-i --regexp-ignore-case)'{-i,--regexp-ignore-case}'[match regexps ignoring case]'
- '(-E --extended-regexp)'{-E,--extended-regexp}'[use POSIX extended regexps]'
- '(-F --fixed-strings)'{-F,--fixed-strings}'[do not interpret patterns as regexps]'
+ '!(-E --extended-regexp -F --fixed-strings -P --perl-regexp)--basic-regexp'
+ '(-E --extended-regexp -F --fixed-strings -P --perl-regexp)'{-E,--extended-regexp}'[use POSIX extended regexps]'
+ '(-E --extended-regexp -F --fixed-strings -P --perl-regexp)'{-F,--fixed-strings}"[don't interpret patterns as regexps]"
+ '(-E --extended-regexp -F --fixed-strings -P --perl-regexp)'{-P,--perl-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=-[show only commits having at least <n> commits]: :__git_guard_number "minimum number of parents"'
- '(--min-parents --no-min-parents)--no-min-parents[reset limit]'
- '(--max-parents --no-max-parents)--max-parents=-[show only commits having at most <n> commits]: :__git_guard_number "maximum number of parents"'
+ '(--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=-[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 limit]'
+ '(--max-parents --no-max-parents --no-merges)--max-parents=-[show only 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 referenced by listed commits]'
'(--objects )--objects-edge[display object ids of objects referenced by listed and excluded commits]'
- '( --do-walk)--no-walk[only display given revs, do not traverse their ancestors]'
+ "( --do-walk)--no-walk=-[only display given revs, don't traverse their ancestors]::order:(sorted unsorted)"
'(--no-walk )--do-walk[only display given revs, traversing their ancestors]'
'( --cherry-pick)--cherry-mark[like --cherry-pick but mark equivalent commits instead of omitting them]'
'(--cherry-pick )--cherry-pick[omit any commit that introduces the same change as another commit on "the other side" of a symmetric 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 right side of a symmetric range]'
- '(--left-only --right-only --cherry-pick --cherry-mark)--cherry[synonym 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 log -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_revisions'
# TODO: --early-output is undocumented.
'--early-output=-[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 end 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=-}'[GPG-sign the commit]::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="$curcontext" state line expl ret=1
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 = subargs ]]; then
_arguments ':schema:->schemata' ':key:->keys' ':value'
;;
(list|reset)-(keys|recursively|children)) state=schemata ;;
+ list-schemas)
+ _arguments '--print-paths'
+ ;;
*) _default && ret=0 ;;
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 use]'
'(-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 header]"
+ '(--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 optimization]:iterations [15]'
- "($excl)"{-M+,--maxsplits}'[specify maximum number of split blocks]:split blocks [15]'
+ "($excl)"{-J+,--maxsplits}'[specify maximum number of split blocks]:split 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=[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=(
- '(-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 blowfish 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=(
- '-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:->forward' \
'-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]:multiplex control command:((check\:"check master process is running" exit\:"request the master to exit" forward\:"request forward without command execution" stop\:"request the master to stop accepting further multiplexing requests" 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:->forward' \
'-S+[specify location of control socket for connection sharing]:path to control socket:_files' \
'-Q+[query parameters]:parameter type:((cipher\:"supported symmetric ciphers" cipher-auth\:"supported symmetric ciphers that support authenticated encryption" mac\:"supported message integrity codes" kex\:"key exchange 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:_files -g "*.(so|dylib)(|.<->)(-.)"' \
'-t+[set maximum lifetime for identity]:maximum lifetime (in seconds 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 certificate]:key id" \
"$p1($cmn -f -u)-h[generate host certificate instead of a user certificate]" \
+ "$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 token]: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 'option'
+ clear critical\:name extension\:name force-command\:command\:_cmdstring
+ no-agent-forwarding no-port-forwarding no-pty no-user-rc no-x11-forwarding
+ 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|challengeresponseauthentication|checkhostip|clearallforwardings|compression|enablesshkeysign|exitonforwardfailure|fallbacktorsh|forward(agent|x11)|forwardx11trusted|gatewayports|gssapiauthentication|gssapidelegatecredentials|gssapitrustdns|hashknownhosts|hostbasedauthentication|identitiesonly|kbdinteractiveauthentication|(tcp|)keepalive|nohostauthenticationforlocalhost|passwordauthentication|permitlocalcommand|proxyusefdpass|pubkeyauthentication|rhosts(|rsa)authentication|rsaauthentication|streamlocalbindunlink|usersh|kerberos(authentication|tgtpassing)|useprivilegedport|visualhostkey)=*)
+ (#i)(afstokenpassing|batchmode|canonicalizefallbacklocal|challengeresponseauthentication|checkhostip|clearallforwardings|compression|enablesshkeysign|exitonforwardfailure|fallbacktorsh|forward(agent|x11)|forwardx11trusted|gatewayports|gssapiauthentication|gssapidelegatecredentials|gssapikeyexchange|gssapirenewalforcesrekey|gssapitrustdns|hashknownhosts|hostbasedauthentication|identitiesonly|kbdinteractiveauthentication|(tcp|)keepalive|nohostauthenticationforlocalhost|passwordauthentication|permitlocalcommand|proxyusefdpass|pubkeyauthentication|rhosts(|rsa)authentication|rsaauthentication|streamlocalbindunlink|usersh|kerberos(authentication|tgtpassing)|useprivilegedport|visualhostkey)=*)
_wanted values expl 'truth value' compadd yes no && ret=0
;;
(#i)addressfamily=*)
@@ -239,32 +243,7 @@ _ssh () {
_message -e 'CNAME rule list (source_domain_list:target_domain_list, each pattern list comma separated)' && ret=0
;;
(#i)ciphers=*)
- _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@xxxxxxxxxxxxxx' \
- && ret=0
- ;;
- (#i)cipher=*)
- _wanted values expl 'encryption cipher (protocol version 1)' \
- compadd blowfish 3des des idea arcfour tss none && ret=0
- ;;
- (#i)compressionlevel=*)
- _values 'compression level' {1..9} && ret=0
+ state=ciphers
;;
(#i)connectionattempts=*)
_message -e 'connection attempts' && ret=0
@@ -304,21 +283,7 @@ _ssh () {
_wanted hosts expl 'real host name to log into' _ssh_hosts && ret=0
;;
(#i)(hostbasedkeytypes|hostkeyalgorithms|pubkeyacceptedkeytypes)=*)
- _values -s , 'key types' \
- 'ecdsa-sha2-nistp256-cert-v01@xxxxxxxxxxx' \
- 'ecdsa-sha2-nistp384-cert-v01@xxxxxxxxxxx' \
- 'ecdsa-sha2-nistp521-cert-v01@xxxxxxxxxxx' \
- 'ssh-ed25519-cert-v01@xxxxxxxxxxx' \
- 'ssh-rsa-cert-v01@xxxxxxxxxxx' \
- 'ssh-dss-cert-v01@xxxxxxxxxxx' \
- 'ssh-rsa-cert-v00@xxxxxxxxxxx' \
- 'ssh-dss-cert-v00@xxxxxxxxxxx' \
- 'ecdsa-sha2-nistp256' \
- 'ecdsa-sha2-nistp384' \
- 'ecdsa-sha2-nistp521' \
- 'ssh-ed25519' \
- 'ssh-rsa' \
- 'ssh-dss' && ret=0
+ _wanted key-types expl 'key type' _sequence compadd - $(_call_program key-types ssh -Q key) && ret=0
;;
(#i)identityfile=*)
_description files expl 'SSH identity file'
@@ -350,12 +315,9 @@ _ssh () {
_values -s , 'keyboard-interactive authentication methods' \
'bsdauth' 'pam' 'skey' && ret=0
;;
- (#i)kexalgorithms=*)
- _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 && ret=0
+ (#i)(kexalgorithms|gssapikexalgorithms)=*)
+ _wanted algorithms expl 'key exchange algorithm' _sequence compadd - \
+ $(_call_program algorithms ssh -Q kex) && ret=0
;;
(#i)localcommand=*)
_description commands expl 'run command locally after connecting'
@@ -389,7 +351,7 @@ _ssh () {
'1' \
'2' && ret=0
;;
- (#i)proxycommand=*)
+ (#i)(proxy|remote)command=*)
_cmdstring && ret=0
;;
(#i)rekeylimit=*)
@@ -421,7 +383,13 @@ _ssh () {
(#i)streamlocalbindmask=*)
_message -e 'octal mask' && ret=0
;;
- (#i)(stricthostkeychecking|verifyhostkeydns|updatehostkeys)=*)
+ (#i)stricthostkeychecking=*)
+ _wanted values expl 'value' compadd yes no ask accept-new off && ret=0
+ ;;
+ (#i)syslogfacility=*)
+ _wanted facilities expl 'facility' compadd -M 'm:{a-z}={A-Z}' DAEMON USER AUTH LOCAL{0,1,2,3,4,5,6,7} && ret=0
+ ;;
+ (#i)(verifyhostkeydns|updatehostkeys)=*)
_wanted values expl 'truthish value' compadd yes no ask && ret=0
;;
(#i)transport=*)
@@ -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@xxxxxxxxxxx \
- hmac-ripemd160 hmac-sha1-96 hmac-md5-96 hmac-sha2-256 \
- hmac-sha2-256-96 hmac-sha2-512 hmac-sha2-512-96 && ret=0
+ _wanted macs expl 'MAC algorithm' _sequence compadd - $(_call_program macs ssh -Q mac)
+ return
+ ;;
+ ciphers)
+ _wanted ciphers expl 'encryption cipher' _sequence compadd - $(_call_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 may also be specified]' \
'(-i --login)'{-i,--login}'[run login shell as the target user; a command 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-env}'[preserve user environment when running command]' \
+ '(--preserve-env -i --login -s --shell -e --edit)-E[preserve user environment when running command]' \
+ '(-E -i --login -s --shell -e --edit)--preserve-env=-[preserve user environment when running command]::environment variable:_sequence _parameters -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=( ${${${(s.</option>.)"$(_call_program options $words[1] -xml-config)"}##*<
opts=( ${opts/;Integer*/:number} )
opts=( ${opts/;Boolean*/:boolean:(yes no)} )
opts=( ${opts/;AutoBool*/:value:(auto yes no)} )
-opts=( ${opts/;(String|Tag)*/:value} )
-opts=( ${opts/(#b);(enum|Encoding|DocType)*<default>(*)<*<example>([^<]#)<*/:value [${match[2]%% *}]:(${(j. .)${(@s., .)match[3]}%% *})} )
+opts=( ${opts/;(String|Tag|Attributes)*/:value} )
+opts=( ${opts/(#bi);(enum|Encoding|DocType)*<default>(*)<*<example>([^<]#)<*/:value [${match[2]%% *}]:(${(j. .)${(@s., .)match[3]}%% *})} )
opts=( ${(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 form]' \
"(*)-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:= _tmux'
}
_tmux-break-pane() {
@@ -211,49 +211,38 @@ _tmux-capture-pane() {
}
_tmux-choose-buffer() {
- [[ -n ${tmux_describe} ]] && print "put a window into buffer choice mode" && 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:= _tmux'
}
_tmux-choose-client() {
[[ -n ${tmux_describe} ]] && print "put a window into client 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'
-}
-
-_tmux-choose-session() {
- [[ -n ${tmux_describe} ]] && print "put a window into session choice mode" && return
- _arguments -s \
- '-F+[specify output format]:format:__tmux-format' \
- '-t+[specify target window]:session:__tmux-windows' \
- '*:::template:_tmux'
+ '*:::template:= _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 mode" && return
- _arguments -s \
- '-F+[specify output format]:format:__tmux-formats' \
- '-t+[specify target window]:session:__tmux-windows' \
- '*:::template:_tmux'
+ '*:::template:= _tmux'
}
_tmux-clear-history() {
@@ -275,7 +264,7 @@ _tmux-command-prompt() {
'-I+[specify list of initial inputs]:initial-text (comma-separated list)' \
'-p+[specify list of prompts]:prompts (comma-separated list)' \
'-t+[specify target client]:client:__tmux-clients' \
- '*:::template:_tmux'
+ '*:::template:= _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:= _tmux'
}
_tmux-copy-mode() {
@@ -321,14 +310,16 @@ _tmux-display-message() {
_tmux-display-panes() {
[[ -n ${tmux_describe} ]] && print "display an indicator for each visible 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:= _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:_directories' \
'-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 has exited" && return
_arguments -s -A "-*" -S \
+ '-c+[specify a new working directory for the window]:directory:_directories' \
'-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:= _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-attached client-detached client-resized client-session-changed pane-died pane-exited pane-set-clipboard session-created session-closed session-renamed window-linked window-renamed window-unlinked)' \
+ 'post-hooks:command post-hook:compadd - after-${_tmux_aliasmap}'
+}
+
function __tmux-get-optarg() {
local opt="$1"
local -i i
diff --git a/Completion/Unix/Command/_truss b/Completion/Unix/Command/_truss
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+=( '-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 documents with proper extensions]' \
"--ignore-length[ignore \`Content-Length' header field]" \
'*--header=[send a custom HTTP header]:header:->header' \
+ '--compression=:compression:(auto gzip none)' \
'--max-redirect=:number' \
'--proxy-user=:user' \
'--proxy-password=:password' \
@@ -90,7 +91,7 @@ _arguments -C -s \
'--content-disposition[honor the Content-Disposition header when choosing local file names]' \
'--content-on-error[output received content on server errors]' \
"--auth-no-challenge[send basic HTTP authentication without first waiting for server's challenge]" \
- '--secure-protocol=[choose secure protocol]:protocol:(SSLv2 SSLv3 TLSv1)' \
+ '--secure-protocol=[choose secure protocol]:protocol:(SSLv2 SSLv3 TLSv1 TLSv1_1 TLSv1_2 PFS)' \
--https-only \
"--no-check-certificate=[don't check the server certificate]" \
'--certificate=[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 value]' \
'--htmlify=:htmlify:' \
'--no:no:->noflags' \
Messages sorted by:
Reverse Date,
Date,
Thread,
Author