summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOliver Kiddle <okiddle@yahoo.co.uk>2019-05-23 01:19:02 +0200
committerOliver Kiddle <okiddle@yahoo.co.uk>2019-05-23 01:19:02 +0200
commit6a0874cad65d7949b3bcc2b082f9c6d6b9225a2a (patch)
tree98e4c5a865f9a84e10cbaa467cc7f4d50526a468
parenta531a1ec2dce97c1507a45abd4795b1aea1edc9e (diff)
downloadzsh-6a0874cad65d7949b3bcc2b082f9c6d6b9225a2a.tar.gz
zsh-6a0874cad65d7949b3bcc2b082f9c6d6b9225a2a.zip
44349: completion option updates
-rw-r--r--ChangeLog14
-rw-r--r--Completion/Linux/Command/_cryptsetup20
-rw-r--r--Completion/Linux/Command/_ethtool18
-rw-r--r--Completion/Linux/Command/_lsblk6
-rw-r--r--Completion/Linux/Command/_ss1
-rw-r--r--Completion/Linux/Command/_strace1
-rw-r--r--Completion/Linux/Command/_valgrind6
-rw-r--r--Completion/Unix/Command/_bash1
-rw-r--r--Completion/Unix/Command/_dhclient6
-rw-r--r--Completion/Unix/Command/_dig1
-rw-r--r--Completion/Unix/Command/_entr3
-rw-r--r--Completion/Unix/Command/_env4
-rw-r--r--Completion/Unix/Command/_gem33
-rw-r--r--Completion/Unix/Command/_gnutls6
-rw-r--r--Completion/Unix/Command/_links8
-rw-r--r--Completion/Unix/Command/_nm2
-rw-r--r--Completion/Unix/Command/_objdump3
-rw-r--r--Completion/Unix/Command/_ruby14
-rw-r--r--Completion/Unix/Command/_sed1
-rw-r--r--Completion/Unix/Command/_sqlite2
-rw-r--r--Completion/Unix/Command/_ssh2
-rw-r--r--Completion/Unix/Command/_tiff4
-rw-r--r--Completion/Unix/Command/_tree1
-rw-r--r--Completion/Unix/Command/_wget9
-rw-r--r--Completion/X/Command/_x_utils3
25 files changed, 137 insertions, 32 deletions
diff --git a/ChangeLog b/ChangeLog
index 16a643e7c..df9a52247 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,19 @@
2019-05-23 Oliver Kiddle <okiddle@yahoo.co.uk>
+ * 44349: Completion/Linux/Command/_cryptsetup,
+ Completion/X/Command/_x_utils, Completion/Linux/Command/_lsblk,
+ Completion/Linux/Command/_ss, Completion/Linux/Command/_valgrind,
+ Completion/Linux/Command/_strace, Completion/Unix/Command/_bash,
+ Completion/Unix/Command/_dhclient, Completion/Unix/Command/_dig,
+ Completion/Unix/Command/_entr, Completion/Unix/Command/_env,
+ Completion/Unix/Command/_gem, Completion/Unix/Command/_gnutls,
+ Completion/Unix/Command/_links, Completion/Unix/Command/_nm,
+ Completion/Unix/Command/_objdump, Completion/Unix/Command/_ruby,
+ Completion/Unix/Command/_sed, Completion/Unix/Command/_sqlite,
+ Completion/Unix/Command/_ssh, Completion/Unix/Command/_tiff,
+ Completion/Unix/Command/_tree, Completion/Unix/Command/_wget,
+ Completion/Linux/Command/_ethtool: completion option updates
+
* 44345: Src/text.c, Test/A01grammar.ztst: fix wordcode traversal
where ! without a following command could result in a crash
diff --git a/Completion/Linux/Command/_cryptsetup b/Completion/Linux/Command/_cryptsetup
index ddb2ad3a9..45159d0be 100644
--- a/Completion/Linux/Command/_cryptsetup
+++ b/Completion/Linux/Command/_cryptsetup
@@ -6,7 +6,8 @@ local -a actions state line expl
(( $#words > 2 )) && ign='!'
_arguments -s \
'(-v --verbose)'{-v,--verbose}'[enable verbose mode]' \
- '--debug[enable debug mode]' \
+ '--debug[show debug messages]' \
+ '--debug-json[show debug messages including JSON metadata]' \
'(-c --cipher)'{-c+,--cipher=}'[set cipher]:cipher specification' \
'(-h --hash)'{-h+,--hash=}'[hash algorithm]:hash algorithm' \
'(-y --verify-passphrase)'{-y,--verify-passphrase}'[query for password twice]' \
@@ -48,6 +49,7 @@ _arguments -s \
'--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]' \
+ '--serialize-memory-hard-pbkdf[use global lock to serialize memory]' \
'--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' \
@@ -67,6 +69,19 @@ _arguments -s \
'--subsystem=[set subsystem label for the LUKS2 device]:subsystem' \
'--unbound[create unbound (no assigned data segment) LUKS2 keyslot]' \
'--json-file=[read or write token to json file]:json file:_files -g "*.json(-.)"' \
+ '--luks2-metadata-size=[specify LUKS2 header metadata area size]:size (bytes)' \
+ '--luks2-keyslots-size=[specify LUKS2 header keyslots area size]:size (bytes)' \
+ '--refresh[refresh (reactivate) device with new parameters]' \
+ '--keyslot-key-size=[specify size of the encryption key]:size (bits)' \
+ '--keyslot-cipher=[specify cipher used for LUKS2 keyslot encryption]:cipher' \
+ '--encrypt[Encrypt LUKS2 device (in-place encryption)]' \
+ '--decrypt[decrypt LUKS2 device (remove encryption)]' \
+ '--init-only[initialize LUKS2 reencryption in metadata only]' \
+ '--reduce-device-size=[reduce data device size (move data offset)]:size (bytes)' \
+ '--hotzone-size=[specify maximal reencryption hotzone size]:size (bytes)' \
+ '--resilience=[specify reencryption hotzone resilience type]:resilience type:(checksum journal none)' \
+ '--resilience-hash=[specify reencryption hotzone checksums hash]:string' \
+ '--active-name=[override device autodetection of dm device to be reencrypted]:string' \
"${ign}(- : *)--version[show version information]" \
"${ign}(- : *)"{-\?,--help}'[display help information]' \
"${ign}(- : *)--usage[display brief usage]" \
@@ -82,6 +97,7 @@ case $state in
'resize:resize an active mapping'
'benchmark:benchmark cipher'
'repair:try to repair on-disk metadata'
+ 'reencrypt:reencrypt LUKS2 device'
'erase:erase all keyslots'
'convert:convert LUKS from/to LUKS2 format'
'config:set permanent configuration options for LUKS2'
@@ -114,7 +130,7 @@ case $state in
benchmark) args=( '--cipher=:cipher' );;
luksKillSlot) args=( $device ':key slot number' );;
remove|status|resize|*lose|luksSuspend|luksResume) args=( $mapping );;
- erase|convert|config|repair|(luks(AddKey|Erase|RemoveKey|DelKey|UUID|Dump)|isLuks))
+ erase|convert|config|repair|reencrypt|(luks(AddKey|Erase|RemoveKey|DelKey|UUID|Dump)|isLuks))
args=( $device )
;;
luks(Format|AddKey|RemoveKey|ChangeKey|ConvertKey))
diff --git a/Completion/Linux/Command/_ethtool b/Completion/Linux/Command/_ethtool
index 33b7681dc..dccda4684 100644
--- a/Completion/Linux/Command/_ethtool
+++ b/Completion/Linux/Command/_ethtool
@@ -48,7 +48,8 @@ _arguments -C \
'--get-phy-tunable[get PHY tunable]' \
'--reset[reset hardware components]' \
'--show-fec[query device for forward error correction support]' \
- '--set-fec[configure forward error correction for device]' && return
+ '--set-fec[configure forward error correction for device]' \
+ {-Q,--per-queue}'[apply per-queue command]' && return
if [[ -n $state ]]; then
case $words[CURRENT-1] in
@@ -61,7 +62,7 @@ if [[ -n $state ]]; then
_wanted onoff expl 'enabled' compadd off on
fi
;;
- autoneg|adaptive-[rt]x|raw|hex|sg|tso|ufo|gso|lro|eee|tx-lpi|downshift)
+ autoneg|adaptive-[rt]x|raw|hex|sg|tso|ufo|gso|lro|eee|tx-lpi|downshift|fast-link-down)
_wanted onoff expl 'enabled' compadd off on
;;
rx-usecs|rx-frames|rx-usecs-irq|rx-frames-irq|tx-usecs|tx-frames) ;&
@@ -70,7 +71,7 @@ if [[ -n $state ]]; then
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) ;&
- other|combined|tx-timer|count)
+ other|combined|tx-timer|count|msecs)
_message -e numbers 'number'
;;
speed)
@@ -279,10 +280,10 @@ if [[ -n $state ]]; then
_wanted behaviours expl behaviour compadd -F line - eee advertise tx-lpi tx-timer
;;
--set-phy-tunable)
- _wanted options expl tunable compadd -F line - downshift count
+ _wanted options expl tunable compadd -F line - downshift count fast-link-down msecs
;;
--get-phy-tunable)
- _wanted options expl tunable compadd downshift
+ _wanted options expl tunable compadd downshift fast-link-down
;;
--reset)
_wanted components expl component compadd flags dedicated all \
@@ -295,6 +296,13 @@ if [[ -n $state ]]; then
_wanted encodings expl encoding compadd -F line auto off rs baser
fi
;;
+ -Q|--pre-queue)
+ if (( CURRENT == 4 )); then
+ _wanted options expl option compadd - queue_mask
+ elif (( CURRENT == 6)); then
+ _wanted options expl option compadd -c --show-coalescing -C --coalesce
+ fi
+ ;;
esac
;;
esac
diff --git a/Completion/Linux/Command/_lsblk b/Completion/Linux/Command/_lsblk
index a95ebe776..8a9bc18bf 100644
--- a/Completion/Linux/Command/_lsblk
+++ b/Completion/Linux/Command/_lsblk
@@ -1,11 +1,12 @@
#compdef lsblk
local sep ret=1
-local -a values dedup suf=( -qS , )
+local -a values dedup suf
local curcontext="$curcontext" state line expl
typeset -A opt_args
_arguments -C -s -S \
+ '(H -E --dedup)'{-E+,--dedup=}'[de-duplicate output by specified column]:column:->columns' \
'(H -a --all)'{-a,--all}'[print all devices]' \
'(H -b --bytes)'{-b,--bytes}'[print size in bytes rather than in human readable format]' \
'(H -d --nodeps)'{-d,--nodeps}"[don't print slaves or holders]" \
@@ -30,7 +31,7 @@ _arguments -C -s -S \
'(H)'{-i,--ascii}'[output ascii characters only]' \
'(H)'{-J,--json}'[use JSON output format]' \
'(H)'{-l,--list}'[use list format output]' \
- '(H)'{-t,--tree}'[use tree format output]' \
+ '(H)'{-T+,--tree=}'[use tree format output]:column:->columns' \
'(H)'{-P,--pairs}'[use key="value" output format]' \
'(H)'{-r,--raw}'[use raw output format]' \
+ 'H' \
@@ -44,6 +45,7 @@ case $state in
;|
*list)
dedup=( ${(Ms.,.)PREFIX##*,} ${(Ms.,.)SUFFIX%%,*} )
+ suf=( -qS , )
compset -S ',*' && suf=()
compset -P '*,'
;|
diff --git a/Completion/Linux/Command/_ss b/Completion/Linux/Command/_ss
index b1bfa207c..f19b94995 100644
--- a/Completion/Linux/Command/_ss
+++ b/Completion/Linux/Command/_ss
@@ -20,6 +20,7 @@ _arguments -C -s \
"($info -i --info)"{-i,--info}'[show internal TCP information]' \
"($info)--tipcinfo[show internal tipc socket information]" \
"($info -s --summary)"{-s,--summary}'[print summary statistics]' \
+ "($info)--tos[show tos and priority information]" \
"($info -b --bpf)"{-b,--bpf}'[show bpf filter socket information]' \
"($info -E --events)"{-E,--events}'[continually display sockets as they are destroyed]' \
"($info -Z --context)"{-Z,--context}'[display process SELinux security contexts]' \
diff --git a/Completion/Linux/Command/_strace b/Completion/Linux/Command/_strace
index 83ccc6afb..e6dc88659 100644
--- a/Completion/Linux/Command/_strace
+++ b/Completion/Linux/Command/_strace
@@ -19,6 +19,7 @@ _arguments -C -s \
'(-c)-T[show the time spent in system calls]' \
'(-xx)-x[print all non-ASCII strings in hexadecimal string format]' \
'(-x)-xx[print all strings in hexadecimal string format]' \
+ '-X+[set the format for printing of named constants and flags]:format:(raw abbrev verbose)' \
'(-c -yy)-y[print paths associated with file descriptor arguments]' \
'(-c -y)-yy[print protocol specific information associated with socket file descriptors]' \
'(-C -i -k -r -ff -t -tt -ttt -T -y -yy)-c[count time, calls, and errors for each system call and report a summary]' \
diff --git a/Completion/Linux/Command/_valgrind b/Completion/Linux/Command/_valgrind
index 21b7d88c7..4a710e7f7 100644
--- a/Completion/Linux/Command/_valgrind
+++ b/Completion/Linux/Command/_valgrind
@@ -39,6 +39,8 @@ common_report_errors=(
'--exit-on-first-error=-[exit on the first error]:enable:(yes no)' \
'--error-exitcode=-[exit code to return if errors found]:exit code' \
'--error-markers=-[add lines with begin/end markers before/after]:markers (begin,end)' \
+ '(--show-error-list)-s[show detected errors list and suppression counts at exit]' \
+ '--show-error-list=-[show detected errors list and suppression counts at exit]:enable [no]:(yes no)'
'--keep-debuginfo=-[keep symbols etc for unloaded code]:enable:(yes no)' \
'--show-below-main=-[continue stack traces below main()]:enable [no]:(yes no)' \
'--default-suppression=-[load default suppressions]:enable [yes]:(yes no)' \
@@ -84,6 +86,7 @@ args_addrcheck=(
args_drd=(
$common_own_malloc
$common_read_varinfo
+ $common_report_errors
'--check-stack-var=-[detect data races on stack variables]:enable [no]:(yes no)'
'--exclusive-threshold=-[print an error if any mutex or writer lock is held longer than specified time]:time (ms)'
'--first-race-only=-[report only the first detected data race]:enable [no]:(yes no)'
@@ -111,6 +114,7 @@ args_drd=(
args_memcheck=(
$args_addrcheck
$common_read_varinfo
+ $common_report_errors
)
args_cachegrind=(
@@ -125,6 +129,7 @@ args_cachegrind=(
args_helgrind=(
$common_own_malloc
$common_read_varinfo
+ $common_report_errors
'--free-is-write=-[treat heap frees as writes]:enable [no]:(yes no)'
'--track-lockorders=-[show lock ordering errors]:enable [yes]:(no yes)'
'--history-level=-[specify amount of history to show for data races]:level [full]:((
@@ -186,6 +191,7 @@ args_exp_dhat=(
args_exp_sgcheck=(
$common_partial
+ $common_report_errors
'--enable-sg-checks=-[enable stack & global array checking]:enable [yes]:(yes no)'
)
diff --git a/Completion/Unix/Command/_bash b/Completion/Unix/Command/_bash
index cc219f788..383b369cb 100644
--- a/Completion/Unix/Command/_bash
+++ b/Completion/Unix/Command/_bash
@@ -22,6 +22,7 @@ args=(
'--noprofile[do not load /etc/profile, ~/.bash_profile, etc.]'
'--norc[do not load ~/.bashrc]'
'--posix[enable POSIX mode]'
+ '--pretty-print[format a shell script]'
'(-r --restricted)--restricted[act as restricted shell]'
'(: -)--version[display version information]'
# This is ugly, but this way the + variants have accurate descriptions. Note
diff --git a/Completion/Unix/Command/_dhclient b/Completion/Unix/Command/_dhclient
index ee309e1fd..fe5347bbc 100644
--- a/Completion/Unix/Command/_dhclient
+++ b/Completion/Unix/Command/_dhclient
@@ -45,7 +45,7 @@ case $OSTYPE in
'-g[force giaddr field]:relay:_hosts'
'-i[use a DUID with DHCPv4 clients]'
'-I[use the standard DDNS scheme]'
- '--version[display version number]'
+ '(-)--version[display version number]'
'(-4)-S[use Information-request to get only stateless configuration]'
'(-4)*-T[ask for IPv6 temporary addresses]'
'(-4)-P[enable IPv6 prefix delegation]'
@@ -67,6 +67,10 @@ case $OSTYPE in
'--request-options[specify list of options the client is to request from the server]:options'
'--timeout[specify time after which dhclient will decide that no DHCP servers can be contacted]:timeout'
'--dad-wait-time[specify maximum time to wait for duplicate address detection]:time (seconds)'
+ '--prefix-len-hint[specify length to request when requesting new prefixes]:length'
+ '--decline-wait-time[specify time an IPv4 client should wait between declining an address and issuing a discover]:time (seconds)'
+ '--address-prefix-len[specify length of the prefix for IPv6 addresses]:length'
+ '(-)'{--help,-h}'[display usage information]'
)
;;
esac
diff --git a/Completion/Unix/Command/_dig b/Completion/Unix/Command/_dig
index d37f18643..d2ffb0a33 100644
--- a/Completion/Unix/Command/_dig
+++ b/Completion/Unix/Command/_dig
@@ -78,6 +78,7 @@ _arguments -s -C $args \
'*-6[use IPv6 only]' \
'*-t+[specify type]:type:_dns_types' \
'*-q+[specify host name to query]:host:_hosts' \
+ "-r[don't read ~/.digrc]" \
'*-x+[reverse lookup]:IP address' \
'*-k+[specify TSIG key file]:file:_files' \
'*-y+[specify TSIG key]:hmac\:name\:key' \
diff --git a/Completion/Unix/Command/_entr b/Completion/Unix/Command/_entr
index e1ba7cf2b..3e2261a18 100644
--- a/Completion/Unix/Command/_entr
+++ b/Completion/Unix/Command/_entr
@@ -4,11 +4,12 @@ local curcontext="$curcontext" state state_descr line ret=1
typeset -A opt_args
_arguments -s -S \
+ '(-r)-a[respond to all events rather than consolidating them to avoid looping]' \
'-c[execute clear before invoking utility]' \
'-d[track directories and exit if a new file is added]' \
"-n[non-interactive mode; don't access TTY]" \
'-p[postpone first execution of the utility]' \
- '-r[reload a persistent child process]' \
+ '(-a)-r[reload a persistent child process]' \
'(*)-s[evaluate the first argument using interpreter specified by $SHELL]' \
'(-): :->command' \
'*::arguments:_normal' && ret=0
diff --git a/Completion/Unix/Command/_env b/Completion/Unix/Command/_env
index 932a7fc89..27978d936 100644
--- a/Completion/Unix/Command/_env
+++ b/Completion/Unix/Command/_env
@@ -11,6 +11,10 @@ case $variant in
'(--ignore-environment -i --help --version)*'{-u+,--unset=}'[remove variable from the environment]:env var to remove:_parameters -g "*export*"'
'(-C --chdir)'{-C+,--chdir=}'[change working directory]:directory:_directories'
'(-S --split-string)'{-S+,--split-string=}'[perform word splitting]:string to split'
+ '--block-signal=[block delivery of signals to command]:signal:_sequence _signals'
+ '--default-signal=[reset handling of signals to the default]:signal:_sequence _signals'
+ '--ignore-signal=[set handling of signals to do nothing]:signal:_sequence _signals'
+ '--list-signal-handling[list non default signal handling to stderr]'
'(-v --debug)'{-v,--debug}'[print verbose information for each processing step]'
"${ign}(- *)--help[display help information]"
"${ign}(- *)--version[display version information]"
diff --git a/Completion/Unix/Command/_gem b/Completion/Unix/Command/_gem
index 512d2d193..b35a5c358 100644
--- a/Completion/Unix/Command/_gem
+++ b/Completion/Unix/Command/_gem
@@ -28,12 +28,12 @@ if [[ $state = command ]]; then
else
cmds=(
build cert check cleanup contents dependency environment fetch
- generate_index help install list lock mirror open outdated owner
+ generate_index help install info list lock mirror open outdated owner
pristine push query rdoc search server signin signout sources
specification stale uninstall unpack update which yank
)
cmds=( ${(M)cmds:#${words[1]}*} )
- if (( ${#cmds} == 1 )); then
+ if (( ${#cmds} == 1 )) || [[ $cmds[1] = install ]]; then
cmd="$cmds[1]"
curcontext="${curcontext%:*:*}:gem-${cmd}:"
fi
@@ -65,15 +65,19 @@ if [[ $state = command ]]; then
contents|pristine|rdoc)
args+=( '(*)--all[apply to all installed gems]' )
;|
- list|query) def[local]='!' ;|
+ info|list|query) def[local]='!' ;|
search) def[remote]='!' ;|
- list|query|search)
+ info|list|query|search)
args+=( ${(e)lropts}
'(-a --all)'{-a,--all}'[display all gem versions]'
'(-e --exact)'{-e,--exact}'[use exact string matching instead of regex]'
'(-I --no-installed -i --installed)'{-i,--installed}'[check if gem is installed]'
'(-I --no-installed -i --installed)'{-I,--no-installed}'[check if gem is not installed]'
'--no-versions[display only gem names]'
+ )
+ ;|
+ list|query|search)
+ args+=(
'(-d --details)'{-d,--details}'[display detailed gem information]'
'!(-d --details)--no-details'
)
@@ -114,11 +118,15 @@ if [[ $state = command ]]; then
'--suggestions[suggest alternates when gems are not found]'
)
;|
+ (un|)install|pristine|update)
+ args+=(
+ '(-n --bindir)'{-n,--bindir=}'[specify directory where binary files are located]:directory:_directories'
+ )
+ ;|
(un|)install|update)
args+=(
'--ignore-dependencies[ignore dependency requirements]'
'(-i --install-dir)'{-i,--install-dir=}'[specify gem repository directory to get installed gems]:directory:_directories'
- '(-n --bindir)'{-n,--bindir=}'[specify directory where binary files are located]:directory:_directories'
)
;|
owner|push)
@@ -130,13 +138,18 @@ if [[ $state = command ]]; then
owner|push|signin|yank)
args+=( '--host=[use another gemcutter-compatible host]:host:_urls' )
;|
+ owner|push|signin)
+ args+=( '--otp=[specify digit code for multifactor authentication]:code' )
+ ;|
install|pristine|update)
args+=( '(-E --env-shebang)'{-E,--env-shebang}'[rewrite executables with a shebang of /usr/bin/env]' )
;|
-
build)
args+=(
- '--force[skip validation of the spec]'
+ '(--strict)--force[skip validation of the spec]'
+ '(--force)--strict[consider warnings as errors when validating the spec]'
+ '(-o --output)'{-o+,--output=}'[output gem with the given filename]:file:_files'
+ '-C+[run as if specified directory was the current directory]:directory:_directories'
'1:gemspec file:_files -g "*.gemspec(-.)"'
)
;;
@@ -150,6 +163,7 @@ if [[ $state = command ]]; then
'(-K --private-key)'{-K,--private-key=}'[specify key for --sign or --build]:key'
'(-s --sign)'{-s,--sign=}'[sign specified certificate with the key from -K and the certificate from -C]:certificate'
'(-d --days)'{-d,--days=}'[specify days before certificate expires]:days'
+ '(-R --re-sign)'{-R,--re-sign}'[re-sign the certificate]'
)
;;
check)
@@ -161,7 +175,10 @@ if [[ $state = command ]]; then
)
;;
cleanup)
- args+=( '(-n -d --dryrun)'{-n,-d,--dryrun}"[don't uninstall gems]" )
+ args+=(
+ '(-n -d --dryrun)'{-n,-d,--dryrun}"[don't uninstall gems]"
+ "--user-install[cleanup in user's home directory instead of GEM_HOME]"
+ )
;;
contents)
args+=(
diff --git a/Completion/Unix/Command/_gnutls b/Completion/Unix/Command/_gnutls
index 6035c5f83..b0d33e2fa 100644
--- a/Completion/Unix/Command/_gnutls
+++ b/Completion/Unix/Command/_gnutls
@@ -60,6 +60,7 @@ case "$service" in
'--no-ca-verification[disable CA certificate verification]' '!--ca-verification'
'--ocsp[enable OCSP certificate verification]' '!--no-oscp'
'(-r --resume)'{-r,--resume}'[establish a session and resume]'
+ '--earlydata=[send early data on resumption from the specified file]:file:_files'
'(-e --rehandshake)'{-e,--rehandshake}'[connect, establish a session and rehandshake immediately]'
"--verify-hostname-str=[specify server's hostname to use for validation]:hostname"
'(-s --starttls)'{-s,--starttls}'[start TLS on EOF or SIGALRM]'
@@ -89,6 +90,7 @@ case "$service" in
'--inline-commands[inline commands of the form ^<cmd>^]'
'--inline-commands-prefix=[change delimiter used for inline commands]:delimiter [^]'
'--fips140-mode[report status of FIPS140-2 mode in gnutls library]'
+ '--logfile=[redirect informational messages to a specific file]:file:_files'
)
;;
@@ -97,6 +99,8 @@ case "$service" in
'--sni-hostname-fatal[send fatal alert on sni-hostname mismatch]'
'*--alpn=[specify ALPN protocol to be enabled by the server]:protocol'
'--alpn-fatal[send fatal alert on non-matching ALPN name]'
+ '--earlydata[accept early data]'
+ '--maxearlydata=[specify maximum early data size to accept]:size'
"--nocookie[don't require cookie on DTLS sessions]"
'(-g --generate)'{-g,--generate}'[generate Diffie-Hellman parameters]'
'(-q --quiet)'{-q,--quiet}'[suppress some messages]'
@@ -189,6 +193,8 @@ case "$service" in
'--stdout-info[print information to stdout instead of stderr]'
'--ask-pass[enable interaction for entering password when in batch mode]'
'--pkcs-cipher=[specify cipher to use for pkcs operations]:cipher:(3des 3des-pkcs12 aes-128 aes-192 aes-256 rc2-40 arcfour)'
+ '!(--no-text)--text'
+ "--no-text[don't output textual information before PEM-encoded certificates, private keys, etc]"
)
;;
diff --git a/Completion/Unix/Command/_links b/Completion/Unix/Command/_links
index 8bb9fee1c..3f55e9c8b 100644
--- a/Completion/Unix/Command/_links
+++ b/Completion/Unix/Command/_links
@@ -108,10 +108,10 @@ _arguments -C \
'-html-target-in-new-window[allow opening new windows from html]' \
'-html-margin[specify margin]:margin (spaces)' \
'-html-user-font-size[specify font size in graphics mode]:size' \
- '-html-t-text-color[specify text color in text mode]:color (0..15)' \
- '-html-t-link-color[specify link color in text mode]:color (0..15)' \
- '-html-t-background-color[specify background color in text mode]:color (0..15)' \
- '-html-t-ignore-document-color[ignore colors from HTML in text mode]:ignore:(0 1)' \
+ '-html-text-color[specify text color in text mode]:color (0..15)' \
+ '-html-link-color[specify link color in text mode]:color (0..15)' \
+ '-html-background-color[specify background color in text mode]:color (0..15)' \
+ '-html-ignore-document-color[ignore colors from HTML in text mode]:ignore:(0 1)' \
'-html-g-text-color[specify text color in graphics mode]:color (0xRRGGBB)' \
'-html-g-link-color[specify link color in graphics mode]:color (0xRRGGBB)' \
'-html-g-background-color[specify background color in graphics mode]:color (0xRRGGBB)' \
diff --git a/Completion/Unix/Command/_nm b/Completion/Unix/Command/_nm
index 4754a6623..423fd3223 100644
--- a/Completion/Unix/Command/_nm
+++ b/Completion/Unix/Command/_nm
@@ -59,6 +59,8 @@ if _pick_variant -r variant binutils=GNU elftoolchain=elftoolchain elfutils=elfu
binutils)
compset -P '@' && files='*:options file:_files'
args+=(
+ '!(--no-recurse-limit)--recurse-limit'
+ '--no-recurse-limit[disable demangling recursion limit]'
'(-f --format -P)-f+[specify output format]:format:(bsd sysv posix)'
'(-C --no-demangle)--demangle=-[decode symbol names]::style:(auto gnu lucid arm hp edg gnu-v3 java gnat rust dlang)'
'--plugin[load specified plugin]:plugin'
diff --git a/Completion/Unix/Command/_objdump b/Completion/Unix/Command/_objdump
index 07dbd31de..d502f2803 100644
--- a/Completion/Unix/Command/_objdump
+++ b/Completion/Unix/Command/_objdump
@@ -24,6 +24,7 @@ case $variant in
"*"{-P,--private=}"[Display object format specific contents]:option"
"(-h --section-headers --headers)"{-h,--section-headers,--headers}"[Display the contents of the section headers]"
"(-x --all-headers)"{-x,--all-headers}"[Display the contents of all headers]"
+ '--disassemble=[display assembler contents for specified symbol]:symbol'
"(-D --disassemble-all)"{-D,--disassemble-all}"[Display assembler contents of all sections]"
"(-S --source)"{-S,--source}"[Intermix source code with disassembly]"
"(-g --debugging)"{-g,--debugging}"[Display debug information in object file]"
@@ -55,6 +56,8 @@ case $variant in
"(-F --file-offsets)"{-F,--file-offsets}"[Include file offsets when displaying information]"
"(-C --demangle)-C[Decode mangled/processed symbol names]"
"(-C --demangle)--demangle=-[decode mangled/processed symbol names]::style:(auto gnu lucid arm hp edg gnu-v3 java gnat rust dlang)"
+ '!(--no-recurse-limit)--recurse-limit'
+ '--no-recurse-limit[disable demangling recursion limit]'
"(-w --wide)"{-w,--wide}"[Format output for more than 80 columns]"
"(-z --disassemble-zeroes)"{-z,--disassemble-zeroes}"[Do not skip blocks of zeroes when disassembling]"
diff --git a/Completion/Unix/Command/_ruby b/Completion/Unix/Command/_ruby
index d69c378fc..11df80f5d 100644
--- a/Completion/Unix/Command/_ruby
+++ b/Completion/Unix/Command/_ruby
@@ -36,15 +36,24 @@ opts=(
'-s[enable some switch parsing for switches after script name]'
'-S[look for the script using PATH environment variable]'
'-T-[turn on tainting checks]::taint level [1]:((0\:strings\ from\ streams/environment/ARGV\ are\ tainted 1\:no\ dangerous\ operation\ by\ tainted\ value 2\:process/file\ operations\ prohibited 3\:all\ generated\ objects\ are\ tainted 4\:no\ global\ \(non-tainted\)\ variable\ modification/no\ direct\ output))'
- '(-v --verbose)'{-v,--verbose}'[print version number, then turn on verbose mode]'
+ '(--verbose)-v[print version number, then turn on verbose mode]'
+ '(-v)--verbose[turn on verbose mode and disable script from stdin]'
'-x-[strip off text before #!ruby line and perhaps cd to directory]:directory:_files -/'
'(1 * -)--copyright[print the copyright]'
- --{en,dis}'able=[enable or disable features]:feature:(gems did_you_mean rubyopt frozen_string_literal all)'
+ --{en,dis}'able=[enable or disable features]:feature:(gems did_you_mean rubyopt frozen_string_literal jit all)'
\!--{en,dis}able-{gems,rubyopt,all}
'--dump=[dump debug information]:information:_sequence compadd - insns yydebug parsetree parsetree_with_comment'
--{external,internal}'-encoding=:charset:->charsets'
'!'{-y,--yydebug}
'!--dump=:target:(version copyright usage yydebug syntax parsetree parsetree_with_comment insns)'
+ '--jit[enable jit with default options]'
+ '--jit-warnings[enable printing JIT warnings]'
+ '--jit-debug[enable JIT debugging (very slow)]'
+ '--jit-wait[wait until JIT compilation is finished everytime (for testing)]'
+ '--jit-save-temps[save JIT temporary files]'
+ '--jit-verbose=-[print JIT logs of level num or less to stderr]:maximum log level [0]'
+ '--jit-max-cache=-[specify max number of methods to be JIT-ed in a cache]:number [1000]'
+ '--jit-min-calls=-[specify number of calls to trigger JIT]:calls [5]'
)
irb=(
@@ -70,7 +79,6 @@ irb=(
erb=(
"-P[don't evaluate lines which start with %]"
- '-S[specify safe level for running script]:level:(1 2 3 4)'
'-T[specify trim mode]:mode [0]:((0\:EOL\ remains 1\:EOL\ removed\ if\ line\ ends\ with\ %\> 2\:EOL\ removed\ if\ line\ starts\ with\ \<%\ and\ ends\ with\ %\> -\:EOL\ is\ removed\ if\ line\ ends\ with\ -%\>,\ leading\ whitespace\ removed\ after\ \<%-))'
'(-d --debug)'{-d,--debug}'[set debugging flags (set $DEBUG to true)]'
'-n[used with -x, prepends line number to output]'
diff --git a/Completion/Unix/Command/_sed b/Completion/Unix/Command/_sed
index f03278364..b08eaa281 100644
--- a/Completion/Unix/Command/_sed
+++ b/Completion/Unix/Command/_sed
@@ -66,6 +66,7 @@ elif _pick_variant -r variant gnu=GNU unix --version; then
aopts=( )
(( $#words > 2 )) && ign='!'
args+=(
+ '--debug[annotate program execution]'
'--follow-symlinks[follow symlinks when processing in place]'
'(-i --in-place -s --separate)'{-i-,--in-place=-}$inplace
'(-c --copy)'{-c,--copy}'[copy instead of rename when shuffling files in in-place mode]'
diff --git a/Completion/Unix/Command/_sqlite b/Completion/Unix/Command/_sqlite
index 4604fb40c..924b80926 100644
--- a/Completion/Unix/Command/_sqlite
+++ b/Completion/Unix/Command/_sqlite
@@ -49,6 +49,7 @@ options+=(
'(-*batch -*interactive)'$^dashes'-batch[force batch I/O]'
'(-*batch -*interactive)'$^dashes'-interactive[force interactive I/O]'
$^dashes'-lookaside[specify size and number of entries for lookaside memory]:size (bytes): :entries'
+ $^dashes'-memtrace[trace all memory allocations and deallocations'
$^dashes'-mmap[set default mmap size]:size'
$^dashes'-newline[set output row separator]:separator [\n]'
$^dashes'-pagecache[specify size and number of slots for page cache memory]:size (bytes): :slots'
@@ -69,6 +70,7 @@ if [[ -n $words[(r)-A*] ]]; then
+ '(commands)' \
'(-c --create)'{-c,--create}'[create a new archive]'
'(-u --update)'{-u,--update}'[update or add files to an existing archive]'
+ '(-i --insert)'{-i,--insert}'[like -u but always add even if mtime unchanged]'
'(-t --list)'{-t,--list}'[list contents of archive]'
'(-x --extract)'{-x,--extract}'[extract files from archive]'
)
diff --git a/Completion/Unix/Command/_ssh b/Completion/Unix/Command/_ssh
index 408f1d05d..f8f4e0091 100644
--- a/Completion/Unix/Command/_ssh
+++ b/Completion/Unix/Command/_ssh
@@ -97,7 +97,7 @@ _ssh () {
'-M+[specify maximum number of signatures]:number' \
'-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):' \
- "-T[test usability of identity files' private keys]" \
+ "-T[test usability of identity files' private keys]:*:public key file:_files -g '*.pub(-.)'" \
'-v[verbose mode]' \
'-q[be quiet after a successful operation]' \
'-X[unlock the agent]' \
diff --git a/Completion/Unix/Command/_tiff b/Completion/Unix/Command/_tiff
index 128aeb0c0..da55b541c 100644
--- a/Completion/Unix/Command/_tiff
+++ b/Completion/Unix/Command/_tiff
@@ -249,7 +249,7 @@ if [[ -n "$state" ]]; then
_message -e values "compression quality (0-100), or \`r' (output RGB)"
ret=0
;;
- lzw|lzma|zip)
+ lzw|lzma|zip|zstd|webp)
_values 'LZW and deflate option' \
'1[without differencing]' \
'2[with differencing]' && ret=0
@@ -260,7 +260,7 @@ if [[ -n "$state" ]]; then
while _tags; do
while _next_label values expl 'compression scheme'; do
compadd "$expl[@]" - none jbig g4 packbits sgilog && ret=0
- compadd "$expl[@]" -qS: - lzw zip lzma jpeg g3 && ret=0
+ compadd "$expl[@]" -qS: - lzw zip lzma zstd webp jpeg g3 && ret=0
done
(( ret )) || return 0
done
diff --git a/Completion/Unix/Command/_tree b/Completion/Unix/Command/_tree
index 4fd9aed44..595249126 100644
--- a/Completion/Unix/Command/_tree
+++ b/Completion/Unix/Command/_tree
@@ -49,6 +49,7 @@ _arguments -s -S \
'(-n -C -X)-H[turn on HTML output]:base HREF' \
'(-n -C -X)-T[title for HTML output]:title' \
'(-n -C -X)--nolinks[turn off hyperlinks in HTML output]' \
+ '--fromfile[read paths from specified files]' \
'(-)--version[version of tree]' \
'(-)--help[verbose usage listing]' \
'*:directory:_files -/'
diff --git a/Completion/Unix/Command/_wget b/Completion/Unix/Command/_wget
index 2a4e722d8..49c8e8b01 100644
--- a/Completion/Unix/Command/_wget
+++ b/Completion/Unix/Command/_wget
@@ -16,6 +16,7 @@ _arguments -C -s \
'*-n+[turn off flags]:flags:->noflags' \
'--report-speed=:type:(bits)' \
'(--input-file -i)'{--input-file=,-i+}'[specify input file]:file containing URLs:_files' \
+ '--input-metalink=[download files covered in local Metalink file]:file:_files' \
'(--force-html -F)'{--force-html,-F}'[treat input file as html]' \
'(--base -B)'{--base=,-B+}'[prepend URL to relative links]:base URL:_urls' \
'--config=[specify config file]:config file:_files' \
@@ -57,7 +58,11 @@ _arguments -C -s \
'--local-encoding=[specify local encoding for IRIs]:encoding' \
'--remote-encoding=[specify default remote encoding]:encoding' \
'--unlink[remove file before clobber]' \
- '--no-xattr[turn off storage of metadata in extended file attributes]' \
+ '--keep-badhash[Keep files with checksum mismatch (append .badhash)]' \
+ '--metalink-index=[metalink application/metalink4+xml metaurl ordinal]:number' \
+ '--metalink-over-http[use Metalink metadata from HTTP response headers]' \
+ '--preferred-location[preferred location for Metalink resources]' \
+ '--xattr[turn on storage of metadata in extended file attributes]' \
'(-nd --no-directories)'{-nd,--no-directories}"[don't create directories]" \
'(--force-directories -x)'{--force-directories,-x}'[force creation of directories]' \
'(-nH --no-host-directories)'{-nH,--no-host-directories}"[don't create host directories]" \
@@ -102,7 +107,7 @@ _arguments -C -s \
"--ca-directory=[specify dir where hash list of CA's are stored]:directory:_directories" \
'--crl-file=[specify file with bundle of CRLs]:file:_files' \
'--pinnedpubkey=:file:_files' \
- '--random-file[specify file with random data for seeding generator]:file:_files' \
+ '!--random-file=:file:_files' \
'--egd-file=[specify filename of EGD socket]:file:_files' \
'--ciphers=[set the priority string (GnuTLS) or cipher list string (OpenSSL) directly]:string' \
'--no-hsts[disable HSTS]' \
diff --git a/Completion/X/Command/_x_utils b/Completion/X/Command/_x_utils
index 13c5572af..4b98ec48e 100644
--- a/Completion/X/Command/_x_utils
+++ b/Completion/X/Command/_x_utils
@@ -150,9 +150,10 @@ xon)
;;
xsetroot)
_x_arguments \
- -{help,def,gray,grey,rv} \
+ -{help,version,def,default,gray,grey,rv,reverse} \
'-cursor:cursor file:_files -g \*.\(\#i\)\(xbm\|curs\(\|or\)\):mask file:_files -g \*.\(\#i\)\(xbm\|curs\(\|or\)\|mask\)\(-.\)' \
'-cursor_name:cursor name:_x_cursor' \
+ '-xcf:cursor file:_files:size' \
'-bitmap:bitmap file:_files -g \*.\(\#i\)xbm\(-.\)' \
'-mod:x grid distance (1-16): :y grid distance (1-16)' \
'-fg:foreground color:_x_color' \