From 09c6acf7b23f6ea6af6c5ac9cce18aa1afc49aa7 Mon Sep 17 00:00:00 2001 From: Oliver Kiddle Date: Thu, 9 May 2019 00:17:04 +0200 Subject: 44279: completion updates for Dragonfly 5.4, FreeBSD 12 and OpenBSD 6.5 --- ChangeLog | 16 +++++++++++++++- Completion/BSD/Command/_cu | 11 ++++------- Completion/BSD/Command/_gstat | 1 + Completion/BSD/Command/_procstat | 2 ++ Completion/BSD/Command/_signify | 27 ++++++++++++++------------- Completion/BSD/Command/_sockstat | 8 ++++++++ Completion/BSD/Command/_vmctl | 14 ++++++++++---- Completion/Unix/Command/_arp | 2 -- Completion/Unix/Command/_arping | 1 + Completion/Unix/Command/_cp | 2 +- Completion/Unix/Command/_date | 9 ++++----- Completion/Unix/Command/_gcore | 1 - Completion/Unix/Command/_install | 8 +++++--- Completion/Unix/Command/_ls | 8 ++++++-- Completion/Unix/Command/_netstat | 1 + Completion/Unix/Command/_ping | 11 +++++------ Completion/Unix/Command/_script | 6 +----- Completion/Unix/Command/_tcpdump | 1 + Completion/Unix/Command/_top | 2 +- Completion/Unix/Command/_vmstat | 30 +++++++++++++++++++++++------- Completion/Unix/Command/_zpool | 10 +++++++++- 21 files changed, 112 insertions(+), 59 deletions(-) diff --git a/ChangeLog b/ChangeLog index e8c69c055..6bbcd81ec 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,17 @@ +2019-05-08 Oliver Kiddle + + * 44279: Completion/BSD/Command/_cu, Completion/BSD/Command/_gstat, + Completion/BSD/Command/_procstat, Completion/BSD/Command/_signify, + Completion/BSD/Command/_sockstat, Completion/BSD/Command/_vmctl, + Completion/Unix/Command/_arp, Completion/Unix/Command/_arping, + Completion/Unix/Command/_cp, Completion/Unix/Command/_date, + Completion/Unix/Command/_gcore, Completion/Unix/Command/_install, + Completion/Unix/Command/_ls, Completion/Unix/Command/_netstat, + Completion/Unix/Command/_ping, Completion/Unix/Command/_script, + Completion/Unix/Command/_tcpdump, Completion/Unix/Command/_top, + Completion/Unix/Command/_vmstat, Completion/Unix/Command/_zpool: + completion updates for Dragonfly 5.4, FreeBSD 12 and OpenBSD 6.5 + 2019-05-08 dana * Oliver Kiddle: unposted: Test/Y01completion.ztst: Add compset tests @@ -21,7 +35,7 @@ Completion/Zsh/Type/_file_descriptors, Doc/Zsh/compsys.yo, Doc/Zsh/compwid.yo, NEWS, Src/Zle/comp.h, Src/Zle/compcore.c, Src/Zle/complete.c: - allow finer control of completion match soring with + allow finer control of completion match sorting with arguments to compadd's -o option * Gautam Iyer: gitlab !6: Completion/Unix/Command/_rclone: diff --git a/Completion/BSD/Command/_cu b/Completion/BSD/Command/_cu index df38d6ed7..5876820e5 100644 --- a/Completion/BSD/Command/_cu +++ b/Completion/BSD/Command/_cu @@ -10,6 +10,7 @@ case $variant in args+=( "-d[don't block waiting for a carrier to be detected]" '-r[start cu in restricted mode - prevent local operations]' + '-E+[specify escape character]:escape character [~]' ) ;; taylor|(net|free)bsd*) @@ -18,7 +19,7 @@ case $variant in '(-e -P --parity)-o[use odd parity]' ) ;| - (net|free)bsd*) + dragonfly*|(net|free)bsd*) args+=( '-t[connect via a hard-wired connection to a host on a dial-up line]' ) ;| taylor|netbsd*) @@ -53,12 +54,8 @@ case $variant in '(-e -o --parity)-P+[set parity]:parity [none]:(even odd none)' ) ;; - freebsd*) - args=( -A "-*" $args - '-a[set the acu port]:acu' - '-h[echo characters locally]' - ) - ;; + dragonfly*|freebsd*) args+=( '-a[set the acu port]:acu' ) ;| + freebsd*) args=( -A "-*" $args '-h[echo characters locally]' ) ;; esac _arguments -s $args \ diff --git a/Completion/BSD/Command/_gstat b/Completion/BSD/Command/_gstat index c60e54422..238defce4 100644 --- a/Completion/BSD/Command/_gstat +++ b/Completion/BSD/Command/_gstat @@ -5,6 +5,7 @@ _arguments -s : \ '(-B)-b[batch mode]' \ '(-b)-B[endless batch mode]' \ '-c[enable the display geom(4) consumers]' \ + '(-b -B)-C[CSV output mode]' \ '-d[enable the display delete operations]' \ '-f+[filter by regex]:regex' \ '-o[enable the display for other operations]' \ diff --git a/Completion/BSD/Command/_procstat b/Completion/BSD/Command/_procstat index e16057635..a1708f6ac 100644 --- a/Completion/BSD/Command/_procstat +++ b/Completion/BSD/Command/_procstat @@ -6,8 +6,10 @@ _arguments -s -A "-*" -S \ '-e[show environment variables]' \ '-f[show file descriptor information]' \ '-i[show signal pending and disposition]' \ + '-j[show signal pending and blocked information for process threads]' \ '-k[show stacks of kernel threads]' \ '-l[show resource limits]' \ + "-L[show LWP info for the process pertaining to it's signal driven exit]" \ '-r[show resource usage]' \ '-s[show security credential information]' \ '-S[show cpuset information]' \ diff --git a/Completion/BSD/Command/_signify b/Completion/BSD/Command/_signify index 26571aa2a..6a786e2e1 100644 --- a/Completion/BSD/Command/_signify +++ b/Completion/BSD/Command/_signify @@ -3,29 +3,30 @@ _arguments -s -S -A "-*" : \ - checksum \ '-C[verify a signed checksum list and the checksum for each file]' \ - '-p[public key]:public key:_files' \ + '-p+[public key]:public key:_files' \ '-q[quiet mode]' \ - '-x[signature file]:signature file:_files' \ + '-x+[specify signature file]:signature file:_files' \ '*:file:_files' \ - generate \ '-G[generate a new key pair]' \ - '-c[specify comment]:comment:' \ - '-n[do not ask for passphrase]' \ - '-p[public key]:public key:_files' \ - '-s[secret key]:secret key:_files' \ + '-c+[specify comment]:comment' \ + "-n[don't ask for passphrase]" \ + '-p+[specify public key file]:public key:_files' \ + '-s+[specify secret key file]:secret key:_files' \ - sign \ '-S[sign a message and create a signature]' \ '-e[embed the message after the signature]' \ - '-m[file containing message]:message file:_files' \ - '-s[secret key]:secret key:_files' \ - '-x[signature file]:signature file:_files' \ + '-n[store a zero time stamp in the gzip(1) header (with -z)]' \ + '-m+[specify file containing message to sign]:message file:_files' \ + '-s+[specify secret key file]:secret key:_files' \ + '-x+[specify signature file]:signature file:_files' \ '-z[embed signature in gzip header]' \ - verify \ '-V[verify the message and signature match]' \ '-e[extract the message from the signature]' \ - '-m[file containing message to verify or destination to extract]:message file:_files' \ - '-p[public key]:public key:_files' \ + '-m+[specify file containing message to verify or destination to extract]:message file:_files' \ + '-p+[specify public key file]:public key:_files' \ '-q[quiet mode]' \ - '-t[restrict verification to specified key type]:key type:((base\:"base sets" fw\:firmware pkg\:packages syspatch\:syspatches))' \ - '-x[signature file]:signature file:_files' \ + '-t+[restrict verification to specified key type]:key type:((base\:"base sets" fw\:firmware pkg\:packages syspatch\:syspatches))' \ + '-x+[specify signature file]:signature file:_files' \ '-z[verify signature in gzip header]' diff --git a/Completion/BSD/Command/_sockstat b/Completion/BSD/Command/_sockstat index 913f3eb05..1d7973db7 100644 --- a/Completion/BSD/Command/_sockstat +++ b/Completion/BSD/Command/_sockstat @@ -13,6 +13,14 @@ case $OSTYPE in '-u[show AF_LOCAL (UNIX) sockets]' ) ;| + freebsd<12->.*) + args+=( + '-S[display the protocol stack if applicable]' + '-U[display the remote UDP encapsulation port number if applicable]' + '-v[verbose mode]' + '-w[use wider field size for displaying addresses]' + ) + ;| freebsd*) for proto in ${${(M)${(f)"$(*' '-/[preserve extended attributes and extended system attributes]' \ '(darwin|dragonfly|freebsd)*' "(-f -i)-n[don't overwrite existing file]" \ 'netbsd*' "-N[don't copy file flags]" \ - '(darwin|dragonfly|freebsd|netbsd)*' '-a[archive mode, same as -RpP]' \ + '(darwin|dragonfly|freebsd|netbsd|openbsd)*' '-a[archive mode, same as -RpP]' \ '(dragonfly|freebsd)*' '-l[link files instead of copying]' \ '(darwin|dragonfly|*bsd)*' '-v[show file names as they are copied]' \ 'darwin*' "-X[don't copy extended attributes or resource forks]" \ diff --git a/Completion/Unix/Command/_date b/Completion/Unix/Command/_date index a3e933710..91bd3b5f1 100644 --- a/Completion/Unix/Command/_date +++ b/Completion/Unix/Command/_date @@ -31,7 +31,7 @@ else freebsd*|dragonfly*|darwin*|netbsd*|openbsd*) opts+=( -A '-*' ) args+=( - '-j[do not try to set date]' + "-j[don't try to set date]" '2:format or date:->fmt_date' ) ;| @@ -41,6 +41,7 @@ else freebsd*|dragonfly*|darwin*|openbsd*) args+=( '-d+:daylight saving time value' + '-f+[use specified format for input]:parsing format:_date_formats:new date' '-t+:minutes west of GMT' ) ;| @@ -57,13 +58,11 @@ else ) args+=( '-r+[reference time: file modification or literal time]:reference: _alternative $alts' + '(-R)-I-[display in ISO 8601 format]::precision:(date hours minutes seconds)' ) ;| freebsd*|dragonfly*|darwin*) - args+=( - '-f+[use specified format for input]:parsing format:_date_formats:new date:' - '*-v+[adjust and print (but not set) date]:[+-]value[ymwdHMS]:' - ) + args+=( "*-v+[adjust and print (but don't set) date]:[+-]value[ymwdHMS]" ) ;; freebsd*|dragonfly*) args+=( '-R[display in RFC2822 format]' ) diff --git a/Completion/Unix/Command/_gcore b/Completion/Unix/Command/_gcore index 4933ffee6..72d11864b 100644 --- a/Completion/Unix/Command/_gcore +++ b/Completion/Unix/Command/_gcore @@ -37,7 +37,6 @@ case $OSTYPE in _arguments -s \ '-c+[write core file to specified file]:file:_files' \ '-f[dump all available segments]' \ - '-s[stop process while gathering image]' \ '::executable:' \ ':pid:_pids' ;; diff --git a/Completion/Unix/Command/_install b/Completion/Unix/Command/_install index 80a1b0c00..60b0f6153 100644 --- a/Completion/Unix/Command/_install +++ b/Completion/Unix/Command/_install @@ -64,14 +64,16 @@ else [[ $OSTYPE == (darwin|dragonfly)* ]] && args+=( '-M[disable use of mmap(2)]' ) + [[ $OSTYPE == (dragonfly|freebsd|netbsd)* ]] && args+=( + '(-C -c --compare)-l+[link files (rather than copy) using specified method]: :->linkflags' + '+N+[use user/group database files from specified directory]: :_directories' + '-U[indicate that install is unprivileged]' + ) [[ $OSTYPE == (freebsd|netbsd)* ]] && args+=( '-D+[specify destination directory used for metadata log]: :_directories' '-h+[store digest in metadata log using specified method]: :->digests' - '(-C -c --compare)-l+[link files (rather than copy) using specified method]: :->linkflags' '-M+[log mtree(8) metadata for installed files to specified file]:metadata log file:_files' - '+N+[use user/group database files from specified directory]: :_directories' '-T+[specify mtree(8) tags to store in metadata log]:mtree(8) tags' - '-U[indicate that install is unprivileged]' ) [[ $OSTYPE == netbsd* ]] || args+=( '-S[use temporary files to perform safe copy]' diff --git a/Completion/Unix/Command/_ls b/Completion/Unix/Command/_ls index cedea1de9..1fd9383f5 100644 --- a/Completion/Unix/Command/_ls +++ b/Completion/Unix/Command/_ls @@ -81,10 +81,14 @@ if ! _pick_variant gnu=gnu unix --help; then if [[ $OSTYPE = (dragonfly*|freebsd*) ]]; then arguments+=( '(-A)-I[prevent -A from being automatically set for the super-user]' + '(-1 -C -m -x)-D+[specify format for date]:format: _date_formats' ) fi if [[ $OSTYPE = dragonfly* ]]; then - arguments+=( '-y[display FSMID in long listing]' ) + arguments+=( + '-_[use GMT based date and time output with nanotime timestamp]' + '-y[display FSMID in long listing]' + ) fi if [[ $OSTYPE = (freebsd*|darwin*) ]]; then arguments+=( '(-c -u)-U[file creation time]' ) @@ -92,9 +96,9 @@ if ! _pick_variant gnu=gnu unix --help; then if [[ $OSTYPE = freebsd* ]]; then arguments+=( '-,[print file sizes grouped and separated by thousands]' - '-D+[specify format for date]:format: _date_formats' '-y[with -t, sort filenames in the same order as the time]' '-Z[display MAC label]' + '--color=-[control use of color]:color:(never always auto)' ) fi if [[ $OSTYPE = darwin* ]]; then diff --git a/Completion/Unix/Command/_netstat b/Completion/Unix/Command/_netstat index c03aae9a2..7342a8a22 100644 --- a/Completion/Unix/Command/_netstat +++ b/Completion/Unix/Command/_netstat @@ -269,6 +269,7 @@ case $OSTYPE in ) interfaces+=( '-c+[show specified number of updates, then exit]:count' + '-e[show only the number of errors on the interface]' '-q[only show interfaces that have seen packets]' '-t[show current value of the watchdog timer function]' ) diff --git a/Completion/Unix/Command/_ping b/Completion/Unix/Command/_ping index 78fd33d92..3cb6e1008 100644 --- a/Completion/Unix/Command/_ping +++ b/Completion/Unix/Command/_ping @@ -11,6 +11,7 @@ case ${variant}:${${service#ping}:-4} in args+=( '-d[set SO_DEBUG on the socket]' '-n[show network addresses as numbers]' + '-M+[define mtu discovery]:mtu discovery:(do dont want)' '-v[verbose output]' ) ;| @@ -104,9 +105,11 @@ case ${variant}:${${service#ping}:-4} in '-z+[specify type of service]:type of service' ) ;| + (freebsd|openbsd|darwin)*:6) + args+=( '-D[disable IPv6 fragmentation]' ) + ;| (freebsd|darwin)*:6) args+=( - '-D[disable IPv6 fragmentation]' '-R[audible bell for no packet]' '-r[audible bell for each packet]' ) @@ -149,16 +152,12 @@ case ${variant}:${${service#ping}:-4} in '--apple-time[prints the time a packet was received]' ) ;; - openbsd*:4) - args+=( - '-T+[change TOS value]:TOS value:(critical inetcontrol lowdelay netcontrol throughput reliability ef af cs)' - ) - ;| openbsd*) args+=( '-H[try reverse-lookups of addresses]' '-E[audible bell for no packet]' '-e[audible bell for each packet]' + '-T+[change TOS value]:TOS value:(critical inetcontrol lowdelay netcontrol throughput reliability ef af cs)' '-V+[specify routing table to be used]:routing table' ) ;; diff --git a/Completion/Unix/Command/_script b/Completion/Unix/Command/_script index 436c9661b..ac3bf3973 100644 --- a/Completion/Unix/Command/_script +++ b/Completion/Unix/Command/_script @@ -34,10 +34,6 @@ case $OSTYPE in darwin*|dragonfly*|netbsd*|freebsd*) args=( '-q[be quiet: suppress display of starting and ending lines]' - ) - ;| - darwin*|netbsd*|freebsd*) - args+=( '(-a -r -k)-d[suppress sleeps when playing back a session]' '(-a -r -k -t)-p[play back a recorded session]' '(-d -p)-r[record a session with input, output and timing data]' @@ -58,13 +54,13 @@ case $OSTYPE in ;| darwin*|dragonfly*|freebsd*) args+=( + '-F[send output to specified named pipe]:fifo:_files -g "*(p)"' '-t+[specify interval of data flushing]:interval (seconds)' '-k[log keys sent to the program as well as output]' '*:::arguments: _normal' ) ;| darwin*|freebsd*) - args+=( '-F[send output to specified named pipe]:fifo:_files -g "*(p)"' ) ;| *) args+=( diff --git a/Completion/Unix/Command/_tcpdump b/Completion/Unix/Command/_tcpdump index 4b9950fa5..9aad84d7b 100644 --- a/Completion/Unix/Command/_tcpdump +++ b/Completion/Unix/Command/_tcpdump @@ -134,6 +134,7 @@ if [[ $OSTYPE = openbsd* ]]; then - capture ${(R)args:#(|\*)(|\(*\))--*} # removes any long-options '(-n)-a[attempt to convert network and broadcast addresses to names]' + '-B+[specify drop action to be used when filter expression matches a packet]:drop action:(pass capture drop)' '-D[select packet flowing in specified direction]:direction:(in out)' '-I[print the interface on each dump line]' '-o[print a guess of the possible operating system(s)]' diff --git a/Completion/Unix/Command/_top b/Completion/Unix/Command/_top index 4064c408d..652432166 100644 --- a/Completion/Unix/Command/_top +++ b/Completion/Unix/Command/_top @@ -65,6 +65,7 @@ case $OSTYPE in '-i[interactive mode]' '-n[non-interactive mode (identical to batch mode)]' '-o+[sort process display by the specified field]:field:( $fields )' + '-p+[filter by the specified pid]: :_pids' '-q[renice top to -20]' '-S[show system processes]' '-s+[specify delay interval]:seconds:' @@ -92,7 +93,6 @@ case $OSTYPE in '-1[combine CPU statistic into one line]' '-C[show command arguments as well as process name]' '-g+[filter processes by the specified string]:string' - '-p+[filter by the specified pid]: :_pids' '-U+[filter processes by the specified user]: :_users -M "L\:|-="' );; darwin*) diff --git a/Completion/Unix/Command/_vmstat b/Completion/Unix/Command/_vmstat index 7d3008592..bc13a5505 100644 --- a/Completion/Unix/Command/_vmstat +++ b/Completion/Unix/Command/_vmstat @@ -21,10 +21,9 @@ case $OSTYPE in '(- :)'{-D,--disk-sum}'[summarize disk statistics]' ) ;; - *bsd*) + *bsd*|dragonfly*) specs=( '-c+[specify number of times to refresh the display]:count' - '-f[report on the number fork syscalls since boot and pages of virtual memory for each]' '-i[report the number of interrupts taken by devices since boot]' '-M+[specify core file to extract values associated with the name list from]:core:_files' '-N+[specify file to extract the name list from]:system:_files' @@ -32,18 +31,27 @@ case $OSTYPE in '*:disk:_files' ) ;| + *bsd*) + specs=( + '-f[report on the number fork syscalls since boot and pages of virtual memory for each]' + ) + ;| + freebsd*|dragonfly*) + specs+=( + '-m[report on the usage of kernel dynamic memory allocated using malloc(9) by type]' + '-n+[change the maximum number of disks to display]:number of disks to display [2]' + '*-p+[specify which types of devices to display]: :->devices' + '-s[display the contents of the SUM structure]' + '-z[report on memory used by the kernel zone allocator, uma(9), by zone]' + ) + ;| freebsd*) specs+=( '-a[include statistics about all interrupts]' '-h[human readable memory columns output]' '-H[scriptable memory columns output]' - '-m[report on the usage of kernel dynamic memory allocated using malloc(9) by type]' - '-n+[change the maximum number of disks to display]:number of disks to display' '-o[list virtual memory objects]' '-P[report per-cpu system/user/idle cpu statistics]' - '-p+[specify which types of devices to display]: :->devices' - '-s[display the contents of the SUM structure]' - '-z[report on memory used by the kernel zone allocator, uma(9), by zone]' ) ;| (net|open)bsd*) @@ -73,6 +81,14 @@ case $OSTYPE in '-W[print more information about kernel memory pools]' ) ;; + dragonfly*) + specs+=( + '-b[use brief format for formatted numbers]' + '-o[report usage of kernel object cache]' + '-u[output unformatted numeric values]' + '-v[include IRQ numbers and IRQ target CPU numbers before device names (with -i)]' + ) + ;; freebsd*|solaris*) specs+=( '::disk:_files -W /dev -g "*(-%b)"' diff --git a/Completion/Unix/Command/_zpool b/Completion/Unix/Command/_zpool index 4d4793eea..d9c2caa52 100644 --- a/Completion/Unix/Command/_zpool +++ b/Completion/Unix/Command/_zpool @@ -14,7 +14,7 @@ _zpool() { ) if [[ $implementation = openzfs ]] && [[ $OSTYPE != solaris* ]]; then - subcmds+=(labelclear) + subcmds+=( labelclear initialize ) fi versions=( @@ -158,6 +158,14 @@ _zpool() { '::pool name:_zfs_pool' ;; + (initialize) + _arguments -A "-*" \ + '(-c --cancel)'{-c,--cancel}'[cancel initializing on specified devices]' \ + '(-s --suspend)'{-s,--suspend}'[suspend initializing on specified devices]' \ + ':pool name:_zfs_pool' \ + '*:device:_files' + ;; + (iostat) _arguments -A "-*" \ '-l[Display configuration in /dev/chassis location form]' \ -- cgit 1.4.1