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

PATCH: completion options update



This is the latest installment of the usual completion options update
based on -h output comparisons.

Relevant versions are:
ethtool 4.15
ss 180129
TH arping 2.15
mosh 1.3.2
mpc 0.29
notmuch 0.26
GNU objdump/readelf/strip 2.30
prove 3.42
rsync 3.1.3
ruby 2.5
vim  8.0 + latest patches
evince 3.28.0

Oliver

diff --git a/Completion/Linux/Command/_ethtool b/Completion/Linux/Command/_ethtool
index 7c62fd7f7..52b8f0451 100644
--- a/Completion/Linux/Command/_ethtool
+++ b/Completion/Linux/Command/_ethtool
@@ -45,7 +45,10 @@ _arguments -C \
   '--show-eee[show EEE settings]' \
   '--set-eee[set EEE settings]' \
   '--set-phy-tunable[set PHY tunable]' \
-  '--get-phy-tunable[get PHY tunable]' && return
+  '--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
 
 if [[ -n $state ]]; then
   case $words[CURRENT-1] in
@@ -132,6 +135,12 @@ if [[ -n $state ]]; then
   hfunc)
     _message -e functions expl 'hash function'
   ;;
+  flags)
+    _message -e masks expl mask
+  ;;
+  encoding)
+    _wanted encodings expl encoding compadd auto off rs baser
+  ;;
   *)
     case $words[2] in
     -A|--pause)
@@ -143,7 +152,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 dmac
+        stats-block-usecs pkt-rate-{low,high} sample-interval
     ;;
     -G|--set-ring)
       _values -S ' ' -w 'ring parameter' \
@@ -268,6 +277,13 @@ if [[ -n $state ]]; then
     --get-phy-tunable)
       _wanted options expl tunable compadd downshift
     ;;
+    --reset)
+      _wanted components expl component compadd flags dedicated all \
+          {mgmt,irq,dma,filter,offload,mac,phy,ram,ap}{,-shared}
+    ;;
+    --set-fec)
+      _wanted options expl tunable compadd -F line - encoding
+    ;;
     esac
   ;;
   esac
diff --git a/Completion/Linux/Command/_ss b/Completion/Linux/Command/_ss
index e5289b0a7..afe00b6a3 100644
--- a/Completion/Linux/Command/_ss
+++ b/Completion/Linux/Command/_ss
@@ -33,10 +33,11 @@ _arguments -C -s \
   "($info -d --dccp)"{-d,--dccp}'[display DCCP sockets]' \
   "($info -w --raw)"{-w,--raw}'[display RAW sockets]' \
   "($info -x --unix)"{-x,--unix}'[display Unix domain sockets]' \
-  "($info -f --family)"{-f,--family}'[display sockets of specified type]:family:(unix inet inet6 link netlink unix)' \
+  "($info)--vsock[display only vsock sockets]' \
+  "($info -f --family)"{-f,--family}'[display sockets of specified type]:family:(unix inet inet6 link netlink unix vsock)' \
   "($info -K --kill)"{-K,--kill}'[forcibly close sockets, display what was closed]' \
   "($info -H --no-header)"{-H,--no-header}'[suppress header line]' \
-  "($info -A --query --socket)"{-A,--query,--socket}'[specify socket tables to show]: :_values -s , socket\ table all inet tcp udp raw unix packet netlink unix_dgram unix_stream unix_seqpacket packet_raw packet_dgram' \
+  "($info -A --query --socket)"{-A,--query,--socket}'[specify socket tables to show]: :_values -s , socket\ table all inet tcp udp raw unix packet netlink unix_dgram unix_stream unix_seqpacket packet_raw packet_dgram vsock_stream vsock_dgram' \
   "($info -D)"{-D,--diag=}'[dump raw info to file]:file:_files' \
   "($info -F)"{-F,--filter=}'[read filter information from a file]:file:_files' \
   "($info)*: :->filter" && ret=0
@@ -78,7 +79,7 @@ if [[ -n $state ]]; then
   state|exclude)
     _wanted states expl state compadd -M 'm:{a-zA-Z_}={A-Za-z-}' \
       ESTABLISHED SYN-SENT SYN-RECV FIN-WAIT-1 FIN-WAIT-2 TIME-WAIT \
-      CLOSED CLOSE-WAIT LAST-ACK LISTEN CLOSING \
+      CLOSED CLOSE-WAIT LAST-ACK LISTENING CLOSING \
       all connected synchronized bucket big && ret=0
   ;;
   *)
diff --git a/Completion/Unix/Command/_arping b/Completion/Unix/Command/_arping
index bd9bc8ccc..66ce7bc18 100644
--- a/Completion/Unix/Command/_arping
+++ b/Completion/Unix/Command/_arping
@@ -29,6 +29,7 @@ _arguments -s -S  -A "-*" \
   '-D[display answers as exclamation marks and missing packets as dots]' \
   '-e[like -a but beep when there is no reply]' \
   "-F[don't try to be smart about the interface name]" \
+  '-g+[specify group to setgid() to]:group [nobody]:_groups' \
   '-m+[specify type of timestamp for incoming packets]:timestamp type' \
   '(:)-B[255.255.255.255]' \
   '-0[source 0.0.0.0]' \
@@ -36,6 +37,7 @@ _arguments -s -S  -A "-*" \
   '-S+[set source IP]:source IP address:_hosts' \
   '-T+[target IP]:target IP address:_hosts' \
   '-p[turn on promiscuous mode]' \
+  '-Q+[specify 802.1p priority to set]:priority [0]' \
   '-s[set source MAC address]:source MAC address' \
   '-t[set target MAC address]:target MAC address' \
   '-c[send this many requests]:count' \
@@ -45,7 +47,8 @@ _arguments -s -S  -A "-*" \
   '-P[send ARP replies instead of requests]' \
   '-u[show index=received/sent instead of just index=received when pinging MACs]' \
   '-U[send unsolicited ARP]' \
-  '-w+[specify time to wait between pings (ms)]:time (ms)' \
+  '-V+[specify VLAN tag to set]:vlan' \
+  '-w+[specify time to wait between pings (microseconds)]:time (microseconds)' \
   '-W+[specify time to wait between pings (seconds)]:time (seconds)' \
   '(-B):address:_hosts'
  
diff --git a/Completion/Unix/Command/_mosh b/Completion/Unix/Command/_mosh
index aa97587bb..7d1250320 100644
--- a/Completion/Unix/Command/_mosh
+++ b/Completion/Unix/Command/_mosh
@@ -12,8 +12,15 @@ _arguments -C \
   '(-a -n)--predict=[control speculative local echo]:mode:(adaptive always never)' \
   '(--predict -n)-a[synonym for --predict=always]' \
   '(--predict -a)-n[synonym for --predict=never]' \
+  '(--family -6)-4[use IPv4 only]' \
+  '(--family -4)-6[use IPv6 only]' \
+  '(-4 -6)--family=[specify address family]:family [prefer-inet]:(inet inet6 auto all prefer-inet prefer-inet6)' \
+  '--bind-server=[ask the server to reply from an IP address]:{ssh|any|IP}' \
   '--server[specify command to run server helper]:remote file:_files' \
   '--client[specify command to run client helper]:_command_names -e' \
+  "--no-ssh-pty[don't allocate a pseudo tty on ssh connection]" \
+  '--local[run mosh-server locally without using ssh]' \
+  '--experimental-remote-ip=[select method for discovering remote IP address to use for mosh]:method:(local remote proxy)' \
   '1:remote host name:->userhost' \
   '*:::args:_normal' && ret=0
 
diff --git a/Completion/Unix/Command/_mpc b/Completion/Unix/Command/_mpc
index fee5e06f4..45d93550d 100644
--- a/Completion/Unix/Command/_mpc
+++ b/Completion/Unix/Command/_mpc
@@ -53,6 +53,7 @@ _mpc_command() {
     play:"start playing"
     playlist:"print the current playlist"
     prev:"play the previous song in the current playlist"
+    prio:"change song priorities in the queue"
     random:"toggle random mode, or specify state"
     repeat:"toggle repeat mode, or specify state"
     single:"toggle single mode, or specify state"
diff --git a/Completion/Unix/Command/_notmuch b/Completion/Unix/Command/_notmuch
index d6cc58deb..6174d2c00 100644
--- a/Completion/Unix/Command/_notmuch
+++ b/Completion/Unix/Command/_notmuch
@@ -6,12 +6,16 @@ _notmuch_commands()
   notmuch_commands=(
     'setup:interactively set up notmuch for first use'
     'new:find and import any new message to the database'
+    'insert:add a new message into the maildir and notmuch database'
     'search:search for messages matching the search terms, display matching threads as results'
+    'address:get addresses from messages matching the given search terms'
     'reply:constructs a reply template for a set of messages'
     'show:show all messages matching the search terms'
     'tag:add or remove tags for all messages matching the search terms'
     'dump:creates a plain-text dump of the tags of each message'
     'restore:restores the tags from the given file'
+    'compact:compact the notmuch database'
+    'reindex:re-index all messages matching the search terms'
     'help:show details on a command'
     'compact:compact the notmuch database'
     'config:access the notmuch configuration file'
@@ -30,7 +34,9 @@ _notmuch_help_topics()
 {
   local -a notmuch_help_topics
   notmuch_help_topics=(
-    'search-terms:show common search-terms syntax'
+    'search-terms:common search-term syntax'
+    'hooks:hooks that will be run before or after certain commands'
+    'properties:message property conventions and documentation'
   )
   _describe -t notmuch-help-topics 'topic' notmuch_help_topics
 }
diff --git a/Completion/Unix/Command/_objdump b/Completion/Unix/Command/_objdump
index 8b0653267..ee2f3ea6f 100644
--- a/Completion/Unix/Command/_objdump
+++ b/Completion/Unix/Command/_objdump
@@ -1,6 +1,6 @@
 #compdef objdump eu-objdump llvm-objdump
 
-local opts args files variant curcontext=$context state state_descr line
+local opts args files variant curcontext=$context state state_descr line ret=1
 typeset -A opt_args
 
 files='*:object file:_object_files'
@@ -148,23 +148,23 @@ case $variant in
   ;;
 esac
 
-_arguments $opts -C : "$args[@]" $files && return 0
+_arguments $opts -C : "$args[@]" $files && ret=0
 
 case "$state" in
   short_dwarf_names)
-    _values -s "" "dwarf section" "l[rawline]" "L[decodedline]" "i[info]" "a[abbrev]" "p[pubnames]" "r[aranges]" "m[macro]" "f[frames]" "F[frames-interp]" "s[str]" "o[loc]" "R[Ranges]" "t[pubtypes]"
+    _values -s "" "dwarf section" "l[rawline]" "L[decodedline]" "i[info]" "a[abbrev]" "p[pubnames]" "r[aranges]" "m[macro]" "f[frames]" "F[frames-interp]" "s[str]" "o[loc]" "R[Ranges]" "t[pubtypes]" "U[trace_info]" "u[trace_abbrev]" "g[gdb_index]" "T[trace_aranges]" "A[addr]" "c[cu_index]" "k[links]" "K[follow-links]" && ret=0
   ;;
   dwarf_names)
-    _values -s , "dwarf section" rawline decodedline info abbrev pubnames aranges macro frames frames-interp str loc Ranges pubtypes gdb_index trace_info trace_abbrev trace_aranges addr cu_index
+    _values -s , "dwarf section" rawline decodedline info abbrev pubnames aranges macro frames frames-interp str loc Ranges pubtypes gdb_index trace_info trace_abbrev trace_aranges addr cu_index links follow-links && ret=0
   ;;
   bfdname)
-    _values "object format" "${(z)${(@M)${(f)$(_call_program targets objdump --help)}##* supported targets:*}##*: }"
+    _values "object format" "${(z)${(@M)${(f)$(_call_program targets objdump --help)}##* supported targets:*}##*: }" && ret=0
   ;;
   machine)
-    _values "machine architecture" "${(@)${(z)${(@M)${(f)$(_call_program targets objdump --help)}##* supported architectures:*}##*: }//:/\\:}"
+    _values "machine architecture" "${(@)${(z)${(@M)${(f)$(_call_program targets objdump --help)}##* supported architectures:*}##*: }//:/\\:}" && ret=0
   ;;
   disassembler_options)
-    _values -s , "disassembler options" "${(@)${(@)${(@M)${(f)${(ps.-M switch.)$(_call_program targets objdump --help)}[2]}:#  [^ ]*}#  }%% *}"
+    _values -s , "disassembler options" "${(@)${(@)${(@M)${(f)${(ps.-M switch.)$(_call_program targets objdump --help)}[2]}:#  [^ ]*}#  }%% *}" && ret=0
   ;;
   llvm_targets)
     _values "target architecture" "${(z)${(@)${(f)$(_call_program targets
@@ -172,4 +172,4 @@ case "$state" in
   ;;
 esac
 
- 
+return ret
diff --git a/Completion/Unix/Command/_prove b/Completion/Unix/Command/_prove
index 17b48a54d..27a73fba2 100644
--- a/Completion/Unix/Command/_prove
+++ b/Completion/Unix/Command/_prove
@@ -46,6 +46,7 @@ _arguments \
   {-a,--archive}'[store output in archive file]:file:_files' \
   {-j,--jobs}'[run N jobs in parallel]:jobs:' \
   '*--state=[control persistent state]: :_values -s , state last failed passed all hot todo slow fast new old fresh save' \
+  '--statefile=[specify file to use instead of .prove]:state file:_files' \
   '--rc=[custom rcfile]:file:_files' \
   '*--rules=[limit tests run (or not) in parallel]:rules' \
   '*:file or directory:_files'
diff --git a/Completion/Unix/Command/_readelf b/Completion/Unix/Command/_readelf
index 46da00cc4..282431462 100644
--- a/Completion/Unix/Command/_readelf
+++ b/Completion/Unix/Command/_readelf
@@ -19,8 +19,8 @@ args=(
   '(-c --archive-index)'{-c,--archive-index}'[show symbol/file index in an archive]'
   \*{-x,--hex-dump=}"[dump contents of specified section as bytes]:section:($sections)"
   \*{-p,--string-dump=}"[dump contents of specified section as strings]:section:($sections)"
-  '-w+[show the contents of DWARF2 debug sections]::debug section:(l L i a p r m f F s o R t)'
-  '--debug-dump=[show the contents of DWARF2 debug sections]::section:(rawline decodedline info abbrev pubnames aranges macro frames frames-interp str loc Ranges pubtypes gdb_index trace_info trace_abbrev trace_aranges)'
+  '-w+[show the contents of DWARF2 debug sections]::debug section:(l L i a p r m f F s o R t U u T g A c k K)'
+  '--debug-dump=[show the contents of DWARF2 debug sections]::section:(rawline decodedline info abbrev pubnames aranges macro frames frames-interp str loc Ranges pubtypes gdb_index trace_info trace_abbrev trace_aranges addr cu_index links follow-links)'
   '(-I --histogram)'{-I,--histogram}'[show histogram of bucket list lengths]'
   '(-W --wide)'{-W,--wide}'[allow output width to exceed 80 characters]'
   '(- *)'{-H,--help}'[display help information]'
diff --git a/Completion/Unix/Command/_rsync b/Completion/Unix/Command/_rsync
index f79ec1dfe..c1404c908 100644
--- a/Completion/Unix/Command/_rsync
+++ b/Completion/Unix/Command/_rsync
@@ -149,6 +149,7 @@ _rsync() {
     '(--devices --specials)-D[same as --devices --specials]' \
     '(-D)--devices[preserve devices]' \
     '--no-devices[turn off --devices]' \
+    '--copy-devices[copy device contents as regular file]' \
     '(-D)--specials[preserve special files]' \
     '--no-specials[turn off --specials]' \
     '--no-D[turn off --devices and --specials]' \
@@ -161,7 +162,8 @@ _rsync() {
     '(-n --dry-run)'{-n,--dry-run}'[show what would have been transferred]' \
     '(-W --whole-file)'{-W,--whole-file}'[copy files whole (without delta-transfer algorithm)]' \
     {--no-W,--no-whole-file}'[turn off --whole-file]' \
-    '(-x --one-file-system)'{-x,--one-file-system}'[do not cross filesystem boundaries]' \
+    '--checksum-choice=[choose the checksum algorithms]:algorithm:_sequence -n 2 compadd - auto md4 md5 none' \
+    '(-x --one-file-system)'{-x,--one-file-system}"[don't cross filesystem boundaries]" \
     '(-B --block-size)'{-B,--block-size=}'[force a fixed checksum block-size]:block size' \
     '(-e --rsh)'{-e+,--rsh=}'[specify the remote shell to use]:remote-shell command:(rsh ssh)' \
     '--rsync-path=[specify path to rsync on the remote machine]:remote command' \
@@ -190,9 +192,9 @@ _rsync() {
     '--numeric-ids[do not map uid/gid values by user/group name]' \
     '--timeout=[set I/O timeout in seconds for lulls in a transfer]:seconds' \
     '--contimeout=[set connect timeout in seconds for daemon connections]:seconds' \
-    '(-I --ignore-times)'{-I,--ignore-times}'[do not skip files that match in size and mod-time]' \
+    '(-I --ignore-times)'{-I,--ignore-times}"[don't skip files that match in size and mod-time]" \
     '--size-only[skip files that match in size]' \
-    '--modify-window=[compare mod-times with reduced accuracy]:seconds' \
+    '(-@ --modify-window)'{-@+,--modify-window=}'[compare mod-times with reduced accuracy]:seconds' \
     '(-y --fuzzy)'{-y,--fuzzy}'[find similar file for basis if no destination file]' \
     '(--copy-dest --link-dest)*--compare-dest=[also compare destination files relative to specified directory]:directory:_directories' \
     '(--compare-dest --link-dest)*--copy-dest=[like --compare-dest, but also includes copies of unchanged files]:directory:_directories' \
@@ -240,6 +242,7 @@ _rsync() {
     '--preallocate[preallocate the full length of new files]' \
     '--iconv=[request charset conversion of filenames]:number' \
     '--checksum-seed=:number' \
+    "--noatime[don't alter atime when opening source files]" \
     '--read-batch=[read a batched update from the specified file]:file:_files'
 }
 
diff --git a/Completion/Unix/Command/_ruby b/Completion/Unix/Command/_ruby
index 7f7af8776..d69c378fc 100644
--- a/Completion/Unix/Command/_ruby
+++ b/Completion/Unix/Command/_ruby
@@ -1,4 +1,4 @@
-#compdef ruby irb erb -P (ruby|[ei]rb)[0-9.]# -value-,RUBY(LIB|OPT|PATH),-default-
+#compdef ruby irb erb ruby-mri -P (ruby|[ei]rb)[0-9.]# -value-,RUBY(LIB|OPT|PATH),-default-
 
 local curcontext="$curcontext" state line expl desc RUBY ret=1
 typeset -A opt_args
@@ -41,6 +41,7 @@ opts=(
   '(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-{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)'
diff --git a/Completion/Unix/Command/_strip b/Completion/Unix/Command/_strip
index 0703c50e4..630140c64 100644
--- a/Completion/Unix/Command/_strip
+++ b/Completion/Unix/Command/_strip
@@ -19,18 +19,22 @@ if _pick_variant gnu=GNU solaris --version; then
     '(-)--help[display usage information]'
     '(-)--info[display list of architectures and object formats]'
     '(-I --input-target)'{-I+,--input-target=}'[object code format of input]:bfd name:->bfdnames'
-    '(-O --output-target)'{-I+,--output-target=}'[object code format of output]:bfd name:->bfdnames'
+    '(-O --output-target)'{-O+,--output-target=}'[object code format of output]:bfd name:->bfdnames'
+    '(-D --enable-deterministic-archives -U --disable-deterministic-archives)'{-U,--disable-deterministic-archives}'[disable -D behavior]'
+    '(-D --enable-deterministic-archives -U --disable-deterministic-archives)'{-D,--enable-deterministic-archives}'[produce deterministic output when stripping archives (zero file metadata)]'
     '*'{-R+,--remove-section=}'[remove given sections]:section name'
     '--remove-relocations=[remove relocations from specified section]:section'
     '(-s --strip-all)'{-s,--strip-all}'[remove all symbols]'
     '(-g -S -d --strip-debug)'{-g,-S,-d,--strip-debug}'[remove debugging symbols]'
+    '--strip-dwo[remove all DWARF .dwo sections]'
     '--strip-unneeded[remove symbols not needed for relocation processing]'
+    '!(--no-merge-notes)'{-M,--merge-notes}
     "--no-merge-notes[don't attempt to remove redundant notes]"
     '*'{-K+,--keep-symbol=}'[keep given symbol]:symbol name'
     '*'{-N+,--strip-symbol=}'[strip given symbol]:symbol name'
     '(*)-o+[output file]:output file:_files'
     '(-p --preserve-dates)'{-p,--preserve-dates}'[preserve access and modification dates]'
-    '(-w --wildcard)'{-w,--wildcard}'[permit wilcards in symbol names]'
+    '(-w --wildcard)'{-w,--wildcard}'[permit wildcards in symbol names]'
     '(-x --discard-all)'{-x,--discard-all}'[remove non-global symbols]'
     '(-X --discard-locals)'{-X,--discard-locals}'[remove compiler-generated local symbols]'
     '--keep-file-symbols[retain symbols specifying source file names]'
diff --git a/Completion/Unix/Command/_vim b/Completion/Unix/Command/_vim
index c2612ebc2..042974338 100644
--- a/Completion/Unix/Command/_vim
+++ b/Completion/Unix/Command/_vim
@@ -40,6 +40,7 @@ arguments=(
   '(-A -H   )-F[start in Farsi mode]'
   '-T[set terminal type]:::_terminals'
   '--not-a-term[skip warning for input/output not being a terminal]'
+  '--ttyfail[exit if input or output is not a terminal]'
   '-u[use given vimrc file instead of default .vimrc]::rc file:_files'
   "--noplugin[don't load plugin scripts]"
   '-o-[number of windows to open (default: one for each file)]::window count: '
@@ -70,6 +71,7 @@ arguments=(
   '--startuptime[write startup timing messages to given file]:log file:_files'
   '--socketid[run GVIM in another window]'
   '-i[use specified viminfo file]:viminfo file [~/.viminfo]:_files'
+  '--clean[defaults, no plugins, no viminfo]'
   '(- *)'{-h,--help}'[print help and exit]'
   '(- *)--version[print version information and exit]'
   '(* -q)-t[edit file where tag is defined]:tag:_complete_tag'
diff --git a/Completion/X/Command/_evince b/Completion/X/Command/_evince
index 48d5a9aeb..21b493360 100644
--- a/Completion/X/Command/_evince
+++ b/Completion/X/Command/_evince
@@ -5,12 +5,8 @@ _arguments -s -S \
   '--version[display version information]' \
   {-h,--help}'[display help information]' \
   '--help-all[display help on all options]' \
-  '--help-sm-client[display help on session management options]' \
   '--help-gtk[display help on GTK+ options]' \
   - normal \
-  '--sm-client-disable[disable connection to session manager]' \
-  '--sm-client-state-file=[specify file containing saved configuration]:file:_files' \
-  '--sm-client-id=[specify session management ID]:id' \
   '--class=[specify program class as used by the window manager]:class' \
   '--name=[program name as used by the window manager]:name:_x_name' \
   '--gdk-debug=[specify GDK debugging flags to set]:flag' \



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