Zsh Mailing List Archive
Messages sorted by: Reverse Date, Date, Thread, Author

PATCH: updates to options in completions



This updates option completion for some assorted commands based on my
usual semi-automated diffs of -h/--help output. Relevant versions are
as follows:

lsblk 2.30
ss 170501
strace 4.17
diffstat 1.61 (this one was rather outdated before)
dig 9.11.1-P2
dmidecode 3.1
gsettings 2.52.3
irssi 1.0.2
openssh 7.5p1
xclip 0.13

Oliver

diff --git a/Completion/Linux/Command/_lsblk b/Completion/Linux/Command/_lsblk
index e1863cd06..c8fbb27c7 100644
--- a/Completion/Linux/Command/_lsblk
+++ b/Completion/Linux/Command/_lsblk
@@ -18,6 +18,7 @@ _arguments -C -s -S \
   '*:device:_files -g "*(-%b)" -P / -W /' \
   + fields \
   '(H -D --discard -o --output -O --output-all)'{-D,--discard}'[output discard capabilities]' \
+  '(H -z --zoned -o --output -O --output-all)'{-z,--zoned}'[output zone model]' \
   '(H -f --fs -o --output -O --output-all)'{-f,--fs}'[output info about filesystems]' \
   '(H -m --perms -o --output -O --output-all)'{-m,--perms}'[output info about permissions]' \
   '(H -S --scsi -o --output -O --output-all)'{-S,--scsi}'[output info about SCSI devices]' \
diff --git a/Completion/Linux/Command/_ss b/Completion/Linux/Command/_ss
index 90d83a4c4..e5289b0a7 100644
--- a/Completion/Linux/Command/_ss
+++ b/Completion/Linux/Command/_ss
@@ -28,6 +28,7 @@ _arguments -C -s \
   "($info -4 --ipv4 -6 --ipv6)"{-6,--ipv6}'[display only IP version 6 sockets]' \
   "($info -0 --packet)"{-0,--packet}'[display PACKET sockets]' \
   "($info -t --tcp)"{-t,--tcp}'[display TCP sockets]' \
+  "($info -S --sctp)"{-S,--sctp}'[display SCTP sockets]' \
   "($info -u --udp)"{-u,--udp}'[display UDP sockets]' \
   "($info -d --dccp)"{-d,--dccp}'[display DCCP sockets]' \
   "($info -w --raw)"{-w,--raw}'[display RAW sockets]' \
diff --git a/Completion/Linux/Command/_strace b/Completion/Linux/Command/_strace
index cbf95d6c4..cff9a49c6 100644
--- a/Completion/Linux/Command/_strace
+++ b/Completion/Linux/Command/_strace
@@ -53,7 +53,8 @@ case $state in
       'raw[print raw, undecoded arguments for the specified set of system calls]:system call:_sequence _sys_calls -a -n' \
       'signal[trace only the specified subset of signals]:signal:_sequence _signals -s -M "B\:!="' \
       'read[perform a full hex and ASCII dump of all the data read from listed file descriptors]:file descriptor:_sequence _file_descriptors' \
-      'write[perform a full hex and ASCII dump of all the data written to listed file descriptors]:file descriptor:_sequence _file_descriptors' && ret=0
+      'write[perform a full hex and ASCII dump of all the data written to listed file descriptors]:file descriptor:_sequence _file_descriptors' \
+      'fault[perform syscall fault injection]:system call:_sys_calls -a -n' && ret=0
     if [[ $words[CURRENT] != *=* || $state = syscalls ]]; then
       local dedup sets suf="-qS,"
       compset -P '!'
diff --git a/Completion/Unix/Command/_diffstat b/Completion/Unix/Command/_diffstat
index 9b4b2da6e..c9f8e3049 100644
--- a/Completion/Unix/Command/_diffstat
+++ b/Completion/Unix/Command/_diffstat
@@ -1,19 +1,32 @@
 #compdef diffstat
 
-_arguments \
+_arguments -s -S \
+  '-b[ignore lines indicating binary file differences]' \
   '-c[prefix each line with hash mark]' \
-  '-e:error file:_files' \
-  '-f:histogram format:((0\:concise 1\:normal 2\:dots 3\:dots+normal 4\:value 5\:value+normal 6\:value+dots 7\:value+dots+normal))' \
-  '-h[help]' \
+  '-C[use color highlighting of histogram]' \
+  '-d[print debug information]' \
+  '-D[specify location of patched files for unchanged count]:location:_directories' \
+  '-e[redirect standard error to specified file]:error file:_files' \
+  '-E[trim escape sequences, e.g. from colordiff]' \
+  '-f[specify histogram format]:format:((0\:concise 1\:normal 2\:dots 3\:dots+normal 4\:value 5\:value+normal 6\:value+dots 7\:value+dots+normal))' \
+  '(- *)-h[display help information]' \
   '-k[suppress merging of filenames in report]' \
+  '-K[resolve ambiguity of "only" filenames]' \
   '-l[list only the filenames]' \
-  '-n:minimum width for filenames:' \
-  '-o:output file:_files' \
-  '-p:number of path components:' \
-  '-f:rounding code:((0\:none 1\:round 2\:round+adjustment))' \
-  '-t[overrides histogram, generates csv output]' \
+  '-m[merge insert/delete data in chunks as modified-lines]' \
+  '-n[specify minimum width for filenames]:width [auto]' \
+  '-N[specify maximum width for filenames]:width [auto]' \
+  '-o[redirect standard output to specified file]:output file:_files' \
+  '-p[specify number of path separators to strip]:path components [common]' \
+  '-q[suppress "0 files changed" message for empty diffs]' \
+  '-r[specify rounding for histogram]:rounding:((0\:none 1\:simple 2\:simple+adjustment))' \
+  '(-t)-s[show only the summary line]' \
+  '-S[specify location of original files for unchanged count]:location:_directories' \
+  '-R[assume patch was created with old and new files swapped]' \
+  '(-T -s)-t[overrides histogram, generates csv output]' \
+  '(-t)-T[print amounts (like -t) in addition to histogram]' \
   '-u[suppress sorting of filenames in report]' \
   '-v[show progress]' \
-  '-V[print version number]' \
-  '-w:maximum width of histogram:' \
-  '*:file specifications:_files'
+  '(- *)-V[print version number]' \
+  '-w[specify maximumn width of output]:maximum width [80]' \
+  '*:patch file:_files'
diff --git a/Completion/Unix/Command/_dig b/Completion/Unix/Command/_dig
index 2b851c91f..a4e175808 100644
--- a/Completion/Unix/Command/_dig
+++ b/Completion/Unix/Command/_dig
@@ -15,15 +15,33 @@ local -a alts args
   '*+'{no,}'tcp[use TCP instead of UDP for queries]'
   '*+'{no,}'ignore[ignore truncation in UDP responses]'
   '*+domain=[set search list to single domain]:domain:_hosts'
+  '*+dscp=[set DSCP code point for query]:code point (0..63)'
   '*+'{no,}'search[use search list defined in resolv.conf]'
   '*+'{no,}'showsearch[show intermediate results in domain search]'
+  '*+split[split hex/base64 fields into chunks]:width (characters) [56]'
   '*+'{no,}'aaonly[set aa flag in the query]'
+  '*+'{no,}'additional[print additional section of a reply]'
   '*+'{no,}'adflag[set the AD (authentic data) bit in the query]'
+  '*+'{no,}'badcookie[retry BADCOOKIE responses]'
   '*+'{no,}'cdflag[set the CD (checking disabled) bit in the query]'
-  '*+'{no,}'cl[display the CLASS whening printing the record]'
-  '*+'{no,}'ttlid[display the TTL whening printing the record]'
+  '*+'{no,}'class[display the CLASS whening printing the record]'
+  '*+'{no,}'cookie[add a COOKIE option to the request]'
+  '*+'{no,}'crypto[display cryptographic fields in DNSSEC records]'
+  '*+edns=[specify EDNS version for query]:version (0-255)'
+  '*+noedns[clear EDNS version to be sent]'
+  '*+ednsflags=[set EDNS flags bits]:flags'
+  '*+'{no,}'ednsnegotiation[set EDNS version negotiation]'
+  '*+ednsopt=[specify EDNS option]:code point'
+  '*+noedns[clear EDNS options to be sent]'
+  '*+'{no,}'expire[send an EDNS Expire option]'
+  '*+'{no,}'header-only[send query without a question section]'
+  '*+'{no,}'idnout[set conversion of IDN puny code on output]'
+  '*+'{no,}'keepopen[keep TCP socket open between queries]'
+  '*+'{no,}'mapped[allow mapped IPv4 over IPv6 to be used]'
   '*+'{no,}'recurse[set the RD (recursion desired) bit in the query]'
   '*+'{no,}'nssearch[search all authoritative nameservers]'
+  '*+opcode[set DNS message opcode of the request]:opcode [QUERY]:(QUERY IQUERY STATUS NOTIFY UPDATE)'
+  '*+noopcode[clear DNS message opcode]'
   '*+'{no,}'trace[trace delegation down from root]'
   '*+'{no,}'cmd[print initial comment in output]'
   '*+'{no,}'short[print terse output]'
@@ -34,15 +52,14 @@ local -a alts args
   '*+'{no,}'question[print question section of a query]'
   '*+'{no,}'answer[print answer section of a reply]'
   '*+'{no,}'authority[print authority section of a reply]'
-  '*+'{no,}'additional[print additional section of a reply]'
   '*+'{no,}'all[set all print/display flags]'
-  '*+time=[set query timeout]:timeout (seconds)'
+  '*+'{no,}'subnet[send EDNS client subnet option]:addr/prefix-length'
+  '*+timeout=[set query timeout]:timeout (seconds) [5]'
   '*+tries=[specify number of UDP query attempts]:tries'
   '*+retry=[specify number of UDP query retries]:retries'
+  '*+'{no,}'rrcomments[set display of per-record comments]'
   '*+ndots=[specify number of dots to be considered absolute]:dots'
   '*+bufsize=[specify UDP buffer size]:size (bytes)'
-  '*+edns=[specify EDNS version for query]:version (0-255)'
-  '*+noedns[clean EDNS version]'
   '*+'{no,}'multiline[verbose multi-line output]'
   '*+'{no,}'onesoa[AXFR prints only one soa record]'
   '*+'{no,}"fail[don't try next server on SERVFAIL]"
@@ -52,6 +69,10 @@ local -a alts args
   '*+trusted-key=[specify file conrtaing trusted kets]:file:_files'
   '*+'{no,}'topdown[do DNSSEC validation in top down mode]'
   '*+'{no,}'nsid[include EDNS name server ID request in query]'
+  '*+'{no,}'ttlid[display the TTL whening printing the record]'
+  '*+'{no,}'ttlunits[display the TTL in human-readable units]'
+  '*+'{no,}'unknownformat[print RDATA in RFC 3597 "unknown" format]'
+  '*+'{no,}'zflag[set Z flag in query]'
 )
 _arguments -s -C $args \
   '(- *)-h[display help information]' \
diff --git a/Completion/Unix/Command/_dmidecode b/Completion/Unix/Command/_dmidecode
index b48608dae..eb273586f 100644
--- a/Completion/Unix/Command/_dmidecode
+++ b/Completion/Unix/Command/_dmidecode
@@ -10,4 +10,5 @@ _arguments -s \
   '--dump-bin=[dump DMI data to a binary file]:file:_files' \
   '(-d --dev-mem)--from-dump=[read DMI data from a binary file]:file:_files' \
   "--no-sysfs[don't attempt to read DMI data from sysfs files]" \
+  '--oem-string=[only display the value of the specified OEM string]:OEM string number' \
   '(-)'{-V,--version}'[display version information]'
diff --git a/Completion/Unix/Command/_gsettings b/Completion/Unix/Command/_gsettings
index 72f015729..890b56403 100644
--- a/Completion/Unix/Command/_gsettings
+++ b/Completion/Unix/Command/_gsettings
@@ -13,7 +13,7 @@ if [[ $state = subargs ]]; then
   curcontext="${curcontext%:*}-$words[1]:"
   case $words[1] in
     help) state=subcmds;;
-    get|range|reset|writable|monitor)
+    describe|get|range|reset|writable|monitor)
       _arguments ':schema:->schemata' ':key:->keys'
     ;;
     set)
diff --git a/Completion/Unix/Command/_irssi b/Completion/Unix/Command/_irssi
index fd64b5efc..ee1e1ef43 100644
--- a/Completion/Unix/Command/_irssi
+++ b/Completion/Unix/Command/_irssi
@@ -30,7 +30,6 @@ _arguments -s \
   '--noconnect[disable autoconnect]' \
   '(-n --nick)'{-n,--nick=}'[set nick name]:nick:_irssi_nick' \
   '(-h --hostname)'{-h,--hostname=}'[specify hostname]:hostname:_hosts' \
-  '(-d --dummy)'{-d,--dummy}'[use the dummy terminal mode]' \
   '(-)'{-v,--version}'[display version information]' \
   '(-)'{-\?,--help}'[display help information]' \
   '(-)--usage[display usage]'
diff --git a/Completion/Unix/Command/_ssh b/Completion/Unix/Command/_ssh
index 28d2c38e7..984c96e93 100644
--- a/Completion/Unix/Command/_ssh
+++ b/Completion/Unix/Command/_ssh
@@ -51,7 +51,7 @@ _ssh () {
       '(-1)-m+[specify mac algorithms]:mac spec:->macs' \
       '(-1)-N[do not execute a remote command (protocol version 2 only)]' \
       '-n[redirect stdin from /dev/null]' \
-      '-O: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"))' \
+      '-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]' \
       '-p+[specify port on remote host]:port number on remote host' \
       '(-v)*-q[quiet operation]' \
@@ -150,7 +150,7 @@ _ssh () {
       "$p1($cmn)-E[specify hash algorithm for displayed fingerprints]:hash algorithim:(md5 sha256)" \
       - create \
       '(-P -m)-q[silence ssh-keygen]' \
-      "(-P -m)-t[specify the type of the key to create]:key type:(rsa1 rsa dsa ecdsa ed25519)" \
+      "(-P -m)-t[specify the type of the key to create]:key type:(rsa dsa ecdsa ed25519)" \
       - dns \
       "($cmn)-r[print DNS resource record]:hostname:_hosts" \
       "$p1($cmn)-g[use generic DNS format]" \
diff --git a/Completion/X/Command/_xclip b/Completion/X/Command/_xclip
index ff131f3b1..0f689a705 100644
--- a/Completion/X/Command/_xclip
+++ b/Completion/X/Command/_xclip
@@ -10,6 +10,7 @@ _arguments \
   '(-)'{-h,-help}'[display usage information]' \
   '(-selection)-selection[selection to access]:selection:(primary secondary clipboard buffer-cut)' \
   "-noutf8[operate in legacy, non-Unicode, mode]" \
+  '(-r -rmlastnl)ipq{-r,-rmlastnl}'[remove the last newline character if present]' \
   '(-)-version[display version information]' \
   '(-quiet -verbose)-silent[errors only, run in background]' \
   "(-silent -verbose)-quiet[run in foreground, show what's happening]" \



Messages sorted by: Reverse Date, Date, Thread, Author