diff options
author | Oliver Kiddle <opk@zsh.org> | 2025-01-27 23:10:16 +0100 |
---|---|---|
committer | Oliver Kiddle <opk@zsh.org> | 2025-01-27 23:34:59 +0100 |
commit | 4e4274eda6012aead1f236502b163ba063bc465a (patch) | |
tree | 6635dd84f2aff322e452a91dc8f5d67a8a2e434e /Completion/Unix/Command | |
parent | f3b865b9155269ba0dee7ced93b061e78df507c1 (diff) | |
download | zsh-4e4274eda6012aead1f236502b163ba063bc465a.tar.gz zsh-4e4274eda6012aead1f236502b163ba063bc465a.zip |
53328: completion options update
Diffstat (limited to 'Completion/Unix/Command')
-rw-r--r-- | Completion/Unix/Command/_abcde | 2 | ||||
-rw-r--r-- | Completion/Unix/Command/_dig | 47 | ||||
-rw-r--r-- | Completion/Unix/Command/_flac | 17 | ||||
-rw-r--r-- | Completion/Unix/Command/_gnutls | 5 | ||||
-rw-r--r-- | Completion/Unix/Command/_jq | 27 | ||||
-rw-r--r-- | Completion/Unix/Command/_pv | 11 | ||||
-rw-r--r-- | Completion/Unix/Command/_sqlite | 2 | ||||
-rw-r--r-- | Completion/Unix/Command/_ssh | 12 |
8 files changed, 81 insertions, 42 deletions
diff --git a/Completion/Unix/Command/_abcde b/Completion/Unix/Command/_abcde index 3f748d373..6b09d87b5 100644 --- a/Completion/Unix/Command/_abcde +++ b/Completion/Unix/Command/_abcde @@ -21,7 +21,7 @@ _arguments -s -S -A "-*" \ '-m[create DOS-style playlists, modifying the resulting one by adding CRLF line endings those to work]' \ "-n[don't query CDDB database]" \ '-N[non interactive mode]' \ - '-o+[select output type]:output type [vorbis]:(vorbis ogg mp3 flac spx mpc m4a wav wv ape opus mka aiff)' \ + '-o+[select output type]:output type [vorbis]:_sequence compadd - vorbis ogg mp3 flac spx mpc m4a wav wv ape opus mka aiff' \ "-p[pads track numbers with 0's]" \ '-P[use Unix PIPES to read and encode in one step]' \ '-Q+[specify CD lookup methods]:lookup method [musicbrainz]:_sequence compadd - musicbrainz cddb cdtext' \ diff --git a/Completion/Unix/Command/_dig b/Completion/Unix/Command/_dig index c09bebbe5..440c5de90 100644 --- a/Completion/Unix/Command/_dig +++ b/Completion/Unix/Command/_dig @@ -5,8 +5,8 @@ local -a alts args [[ -prefix + ]] && 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=:code point (0..63)' + '*+domain=-[set search list to single domain]:domain:_hosts' + '!*+dscp=-:code point (0..63)' '*+'{no,}'search[use search list defined in resolv.conf]' '!*+'{no,}defname '*+'{no,}'showsearch[show intermediate results in domain search]' @@ -20,27 +20,26 @@ local -a alts args '*+'{no,}'cookie[add a COOKIE option to the request]' '*+'{no,}'crypto[display cryptographic fields in DNSSEC records]' '*+'{no,}'dns64prefix[get the DNS64 prefixes from ipv4only.arpa]' - '*+edns=[specify EDNS version for query]:version (0-255)' + '*+edns=-[specify EDNS version for query]:version (0-255)' '*+noedns[clear EDNS version to be sent]' - '*+ednsflags=[set EDNS flags bits]:flags' + '*+ednsflags=-[set EDNS flags bits]:flags' '*+'{no,}'ednsnegotiation[set EDNS version negotiation]' - '*+ednsopt=[specify EDNS option]:code point' + '*+ednsopt=-[specify EDNS option]:code point' '*+noedns[clear EDNS options to be sent]' '*+'{no,}'expandaaaa[expand AAAA records]' '*+'{no,}'expire[send an EDNS Expire option]' '*+'{no,}'header-only[send query without a question section]' - '*+'{no,}'https=[DNS-over-HTTPS POST mode]::endpoint [/dns-query]' - '!*+'{no,}'https-post=::endpoint [/dns-query]' - '*+'{no,}'https-get=[DNS-over-HTTPS GET mode]::endpoint [/dns-query]' - '*+'{no,}'http-plain=[DNS-over-HTTP POST mode]::endpoint [/dns-query]' - '*+'{no,}'http-plain-get=[DNS-over-HTTP GET mode]::endpoint [/dns-query]' - '*+'{no,}'idnin[set processing of IDN domain names on input]' - '*+'{no,}'idnout[set conversion of IDN puny code on output]' + '*+'{no,}'https=-[DNS-over-HTTPS POST mode]::endpoint [/dns-query]' + '!*+'{no,}'https-post=-::endpoint [/dns-query]' + '*+'{no,}'https-get=-[DNS-over-HTTPS GET mode]::endpoint [/dns-query]' + '*+'{no,}'http-plain=-[DNS-over-HTTP POST mode]::endpoint [/dns-query]' + '*+'{no,}'http-plain-get=-[DNS-over-HTTP GET mode]::endpoint [/dns-query]' + '*+'{no,}'idn[convert international domain names]' '*+'{no,}'keepalive[request EDNS TCP keepalive]' '*+'{no,}'keepopen[keep TCP socket open between queries]' '*+'{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)' + '*+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]' @@ -50,7 +49,9 @@ local -a alts args '*+'{no,}'comments[print comment lines in output]' '*+'{no,}'stats[print statistics]' '*+padding[set padding block size]:size [0]' - '*+qid=[specify query ID]:query ID' + '*+'{no,}'proxy=-[add PROXYv2 headers to queries]:src_addr[#src_port]-dst_addr[#dst_port]' + '*+'{no,}'proxy-plain=-[add PROXYv2 headers to queries ahead of any encryption]:src_addr[#src_port]-dst_addr[#dst_port]' + '*+qid=-[specify query ID]:query ID' '*+'{no,}'qr[print query as it was sent]' '*+'{no,}'question[print question section of a query]' '*+'{no,}'raflag[set RA flag in the query]' @@ -59,17 +60,17 @@ local -a alts args '*+'{no,}'all[set all print/display flags]' '*+'{no,}'subnet[send EDNS client subnet option]:addr/prefix-length' '*+'{no,}'tcflag[set TC flag in the query]' - '*+timeout=[set query timeout]:timeout (seconds) [5]' + '*+timeout=-[set query timeout]:timeout (seconds) [5]' '*+'{no,}'tls[DNS-over-TLS mode]' - '*+'{no,}"tls-ca=[enable remote server's TLS certificate validation]:file:_files" - '*+'{no,}"tls-hostname=[explicitly set the expected TLS hostname]:hostname" - '*+'{no,}'tls-certfile=[load client TLS certificate chain from file]:file:_files' - '*+'{no,}'tls-keyfile=[load client TLS private key from file]:file:_files' - '*+tries=[specify number of UDP query attempts]:tries' - '*+retry=[specify number of UDP query retries]:retries' + '*+'{no,}"tls-ca=-[enable remote server's TLS certificate validation]:file:_files" + '*+'{no,}"tls-hostname=-[explicitly set the expected TLS hostname]:hostname" + '*+'{no,}'tls-certfile=-[load client TLS certificate chain from file]:file:_files' + '*+'{no,}'tls-keyfile=-[load client TLS private key from file]:file:_files' + '*+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)' + '*+ndots=-[specify number of dots to be considered absolute]:dots' + '*+bufsize=-[specify UDP buffer size]:size (bytes)' '*+'{no,}'multiline[verbose multi-line output]' '*+'{no,}'onesoa[AXFR prints only one soa record]' '*+'{no,}"fail[don't try next server on SERVFAIL]" diff --git a/Completion/Unix/Command/_flac b/Completion/Unix/Command/_flac index 1773061ee..0197aaf92 100644 --- a/Completion/Unix/Command/_flac +++ b/Completion/Unix/Command/_flac @@ -14,9 +14,11 @@ shortops=( --show-total-samples --show-vendor-tag '--show-tag=:FLAC tag' + '--show-all-tags' '--remove-tag=:FLAC tag' '--remove-first-tag=:FLAC tag' --remove-all-tags + '--remove-all-tags-except=:tag' '*--set-tag=:FLAC tag and value: ' '*--set-tag-from-file=:tag' '--import-tags-from=:flat file:_files' @@ -60,7 +62,7 @@ case $service in '(H)--until=[stop at specified sample for each input]:stop (+-mm:ss.ss)' \ '(H)--ogg[use ogg as a transport layer]' \ '(H)--serial-number=[serial number to use for the FLAC stream]:serial number' \ - '(H --force-aiff-format --force-rf64-format --force-wave64-format)--format-raw-format' \ + '(H --force-aiff-format --force-rf64-format --force-wave64-format --force-legacy-wave-format --force-extensible-wave-format --force-aiff-c-none-format --force-aiff-c-sowt-format)--force-raw-format' \ '*:file:_files -F line -g "(#i)*.(${${opt_args[(i)decode-*]:+flac|oga}:-wav|aif|aiff|raw|rf64|w64})(-.)"' \ - 'H' \ '(-)'{-v,--version}'[display version information]' \ @@ -100,9 +102,13 @@ case $service in '(-F --decode-through-errors)'{-F,--decode-through-errors}'[continue decoding through stream errors]' \ '--apply-replaygain-which-is-not-lossless=:specification' \ '--cue=[set the beginning and ending cuepoints to decode]:cue point' \ - '(--force-raw-format --force-rf64-format --force-wave64-format)--force-aiff-format' \ - '(--force-raw-format --force-aiff-format --force-wave64-format)--force-rf64-format' \ - '(--force-raw-format --force-aiff-format --force-rf64-format)--force-wave64-format' \ + '(--force-raw-format --force-rf64-format --force-wave64-format --force-legacy-wave-format --force-extensible-wave-format --force-aiff-c-none-format --force-aiff-c-sowt-format)--force-aiff-format' \ + '(--force-raw-format --force-aiff-format --force-wave64-format --force-legacy-wave-format --force-extensible-wave-format --force-aiff-c-none-format --force-aiff-c-sowt-format)--force-rf64-format' \ + '(--force-raw-format --force-aiff-format --force-rf64-format --force-legacy-wave-format --force-extensible-wave-format --force-aiff-c-none-format --force-aiff-c-sowt-format)--force-wave64-format' \ + '(--force-raw-format --force-aiff-format --force-rf64-format --force-wave64-format --force-extensible-wave-format --force-aiff-c-none-format --force-aiff-c-sowt-format)--force-legacy-wave-format' \ + '(--force-raw-format --force-aiff-format --force-rf64-format --force-wave64-format --force-legacy-wave-format --force-aiff-c-none-format --force-aiff-c-sowt-format)--force-extensible-wave-format' \ + '(--force-raw-format --force-aiff-format --force-rf64-format --force-wave64-format --force-legacy-wave-format --force-extensible-wave-format --force-aiff-c-sowt-format)--force-aiff-c-none-format' \ + '(--force-raw-format --force-aiff-format --force-rf64-format --force-wave64-format --force-legacy-wave-format --force-extensible-wave-format --force-aiff-c-none-format)--force-aiff-c-sowt-format' ;; metaflac) _arguments -S $shared \ @@ -112,10 +118,11 @@ case $service in "*:FLAC file:_files -g \*.flac\(-.\)" \ - 'short' $shortops \ - 'list' $common --list \ + '--data-format=:format:(binary binary-headerless text)' \ '--application-data-format=:format:(text hexdump)' \ - 'remove' $common --remove \ - '(ops)' \ '(-)--help' '(-)--version' \ - --remove-all --merge-padding --sort-padding + --append --remove-all --merge-padding --sort-padding ;; esac diff --git a/Completion/Unix/Command/_gnutls b/Completion/Unix/Command/_gnutls index 9b8bcf6ea..4c1698857 100644 --- a/Completion/Unix/Command/_gnutls +++ b/Completion/Unix/Command/_gnutls @@ -24,6 +24,7 @@ case "$service" in gnutls-cli*) args+=( '(--app-proto --starttls-proto)'{--app-proto,--starttls-proto}"=[specify application protocol to use to obtain the server's certificate]:protocol:(https ftp smtp imap ldap xmpp lmtp pop3 nntp sieve postgres)" + '(-s --starttls)--starttls-name=[specify hostname presented to the application protocol for STARTTLS]:hostname' ':hostname:_hosts' ) ;| @@ -99,7 +100,7 @@ case "$service" in '--post-handshake-auth[enable post-handshake authentication under TLS1.3]' '--inline-commands[inline commands of the form ^<cmd>^]' '--inline-commands-prefix=[change delimiter used for inline commands]:delimiter [^]' - '--fips140-mode[report status of FIPS140-3 mode in gnutls library]' + '--fips140-mode[report status of FIPS140-2 mode in gnutls library]' '--list-config[report configuration of the library]' '--logfile=[redirect informational messages to a specific file]:file:_files' '--waitresumption[block waiting for the resumption data under TLS1.3]' @@ -202,9 +203,11 @@ case "$service" in '--seed=[when generating a private key use the given seed]:seed (hex-encoded)' '--pubkey-info[print information on a public key]' '--to-p12[generate a PKCS #12 structure]' + '--pbmac1[use PBMAC1 in a PKCS #12 structure]' '(-8 --pkcs8)'{-8,--pkcs8}'[use PKCS #8 format for private keys]' '--hash=[specify hash algorithm for signing]:algorithm:(MD5 SHA1 RMD160)' '--salt-size=[specify the RSA-PSS key default salt size]:size' + '--label=[specify the RSA-OAEP label, encoded in hexadecimal]:label' {--inder,--inraw}'[use DER format for input certificates and private keys]' {--outder,--outraw}'[use DER format for output certificates and private keys]' '--template=[specify template file to use for non-interactive operation]:file:_files' diff --git a/Completion/Unix/Command/_jq b/Completion/Unix/Command/_jq index b8e41dd66..e8e6b0913 100644 --- a/Completion/Unix/Command/_jq +++ b/Completion/Unix/Command/_jq @@ -1,6 +1,7 @@ #compdef jq -# last updated for jq-1.5-1-a5b5cbe (debian package 1.5+dfsg-1.3) +local ign +(( $#words > 2 )) && ign='!' # Note: # Arguments to options must be in separate words. Thus, @@ -8,23 +9,27 @@ # is correct like that, without the usual {-f+,--from-file=} suffixes. # _arguments -S -s : \ - "--version[output jq's version number]" \ + "${ign}(- 1 *)"{-V,--version}'[display version information]' \ + "${ign}(- 1 *)"{-h,--help}'[display help information]' \ + "${ign}(- 1 *)--build-configuration[display jq's build configuration]" \ "--seq[use application/json-seq ASCII RS/LF scheme in input and output]" \ - "--stream[parse input streamily (changes output)]" \ - '(-s --slurp)'{-s,--slurp}'[join input JSON objects to array before filtering]' \ - '(-R --raw-input)'{-R,--raw-input}'[consider each input line as a JSON strings]' \ - '(-n --null-input)'{-n,--null-input}'[input is ignored]' \ + "(--stream-errors -n --null-input)--stream[parse the input value in streaming fashion]" \ + '(--stream -n --null-input)--stream-errors[parse the input value in streaming fashion with errors as an array]' \ + '(-s --slurp -n --null-input)'{-s,--slurp}'[read all inputs into an array and use it as single input value]' \ + '(-R --raw-input -n --null-input)'{-R,--raw-input}'[read each line as string instead of JSON]' \ + '(-n --null-input --stream --stream-errors -s --slurp -R --raw-input)'{-n,--null-input}'[use `null` as the single input value]' \ '(-c --compact-output)'{-c,--compact-output}"[don't pretty-print]" \ '(--indent)--tab[indent output using TAB characters]' \ - '(--tab)--indent[indent output using given number of spaces]:number of spaces (integer):(2 4 8)' \ + '(--tab)--indent[indent output using given number of spaces]:number of spaces (integer):(-1 0 1 2 3 4 5 6 7)' \ '(-C --color-output -M --monochrome-output)'{-C,--color-output}'[output in color]' \ '(-C --color-output -M --monochrome-output)'{-M,--monochrome-output}'[output without color]' \ - '(-a --ascii-output)'{-a,--ascii-output}'[restrict output to ASCII]' \ + '(-a --ascii-output)'{-a,--ascii-output}'[restrict output to ASCII using escape sequences]' \ '--unbuffered[flush output after each JSON object]' \ '(-S --sort-keys)'{-S,--sort-keys}'[output object keys in sorted order]' \ - '(-r --raw-output -j --join-output)'{-r,--raw-output}"[don't JSON-quote output if it's a string]" \ - '(-r --raw-output -j --join-output)'{-j,--join-output}"[like -r, without newlines between outputs]" \ - '(-f --from-file)'{-f,--from-file}'[read filter from file]:_files' \ + '(-r --raw-output -j --join-output --raw-output0)'{-r,--raw-output}"[don't JSON-quote output if it's a string]" \ + '(-r --raw-output -j --join-output)--raw-output0[like -r, with NUL after each output]' \ + '(-r --raw-output --raw-output0 -j --join-output)'{-j,--join-output}"[like -r, without newlines between outputs]" \ + '(-f --from-file)'{-f,--from-file}'[read filter from file]: :_files' \ '-L+[prepend a directory to the module search path]:_directories' \ '(-e --exit-status)'{-e,--exit-status}'[report "false" and "null" results via exit code]' \ '*--arg[pre-set a variable to a string]:variable name: :value (string)' \ diff --git a/Completion/Unix/Command/_pv b/Completion/Unix/Command/_pv index b21625650..0e1f148d5 100644 --- a/Completion/Unix/Command/_pv +++ b/Completion/Unix/Command/_pv @@ -20,6 +20,7 @@ _arguments -s -S $args \ '(-m --average-rate-window)'{-m+,--average-rate-window=}'[compute average rate over period]:duration (seconds) [30]' \ '(-b --bytes -8 --bits -F --format)'{-b,--bytes}'[show number of bytes transferred]' \ '(-8 --bits -b --bytes -F --format)'{-8,--bits}'[show number of bits transferred]' \ + '(-k --si)'{-k,--si}'[treat suffixes as multiples of 1000 rather than 1024]' \ '(-T --buffer-percent -F --format)'{-T,--buffer-percent}'[show percentage of transfer buffer in use]' \ '(-A --last-written -F --format)'{-A+,--last-written=}'[show number of bytes last written]:number (bytes)' \ '(-F --format -p --progress -t --timer -e --eta -I --fineta -r --rate -a --average-rate -b --bytes -T --buffer-percent -A --last-written -F --format)'{-F+,--format=}'[set output format]:format:->formats' \ @@ -28,19 +29,29 @@ _arguments -s -S $args \ '(-W --wait)'{-W,--wait}'[display nothing until first byte transferred]' \ '(-D --delay-start -R --remote)'{-D+,--delay-start=}'[display nothing until delay has passed]:delay (seconds)' \ '(-s --size)'{-s+,--size=}'[set estimated data size]: :_numbers -u bytes size K M G T' \ + '(-g --gauge)'{-g,--gauge}'[if size unknown, show rate vs max rate]' \ '(-l --line-mode -R --remote)'{-l,--line-mode}'[count lines instead of bytes]' \ '(-0 --null -l --line-mode)'{-0,--null}'[lines are null-terminated]' \ '(-i --interval)'{-i+,--interval=}'[update every after specified interval]:interval (seconds) [1]' \ + '(-m --average-rate-window)'{-m,--average-rate-window}'[compute average rate over past period]:period (seconds) [30]' \ '(-w --width)'{-w+,--width}'[assume terminal is specified characters wide]:width' \ '(-H --height)'{-H+,--height=}'[assume terminal is specified rows high]:height' \ '(-N --name)'{-N+,--name=}'[prefix visual information with given name]:name' \ + '(-x --extra-display)'{-x+,--extra-display=}'[also send progress to destination]:destination:_sequence - compadd windowtitle processtitle' \ + '(-v --stats)'{-v,--stats}'[output transfer statistics at the end]' \ '(-f --force -R --remote)'{-f,--force}'[output even if standard error is not a terminal]' \ '(-c --cursor -R --remote)'{-c,--cursor}'[use cursor positioning escape sequences]' \ + '(-o --output)'{-o+,--output=}'[write output to file instead of stdout]:file:_files' \ '(-L --rate-limit)'{-L+,--rate-limit=}'[limit transfer rate]: :_numbers -u "bytes per second" rate K M G T' \ '(-B --buffer-size)'{-B+,--buffer-size=}'[use a buffer size of given size]: :_numbers -u bytes size K M G T' \ '(-C --no-splice)'{-C,--no-splice}'[never use splice(), always use read/write]' \ '(-R --remote)*'{-E,--skip-errors}"[skip read errors in input${Edesc}]" \ + '(-Z --error-skip-block)'{-Z+,--error-skip-block=}'[skip whole blocks on errors]: :_numbers -u bytes "block size" K M G T' \ '(-S --stop-at-size -R --remote)'{-S,--stop-at-size}'[stop after --size bytes have been transferred]' \ + '(-Y --sync)'{-Y,--sync}'[flush cache to disk after every write]' \ + '(-K --direct-io)'{-K,--direct-io}'[use direct I/O to bypass cache]' \ + '(-X --discard)'{-X,--discard}'[discard input instead of writing to output]' \ + '(-U --store-and-forward)'{-U+,--store-and-forward=}'[write all input to file before writing to output]:file:_files' \ '(-R --remote -c --cursor -l --line-mode -f --force -D --delay-start -E --skip-errors -S --stop-at-size)'{-R+,--remote=}'[update settings of specified process]:process:_pids -m pv' \ '(-P --pidfile)'{-P+,--pidfile=}'[save process id in a file]:file:_files' \ "${ign}(- *)"{-h,--help}'[display usage information]' \ diff --git a/Completion/Unix/Command/_sqlite b/Completion/Unix/Command/_sqlite index 6f0b1de94..a83624083 100644 --- a/Completion/Unix/Command/_sqlite +++ b/Completion/Unix/Command/_sqlite @@ -56,6 +56,7 @@ options+=( $^dashes'-newline[set output row separator]:separator [\n]' $^dashes'-nofollow[refuse to open symbolic links to database files]' $^dashes'-nonce[set the safe-mode escape nonce]:string' + $^dashes'-no-rowid-in-view[disable rowid-in-view using sqlite3_config()]' $^dashes'-pagecache[specify size and number of slots for page cache memory]:size (bytes): :slots' $^dashes'-pcachetrace[trace all page cache operations]' $^dashes'-readonly[open the database read-only]' @@ -63,6 +64,7 @@ options+=( $^dashes'-stats[print memory stats before each finalize]' $^dashes'-unsafe-testing[allow unsafe commands and modes for testing]' $^dashes'-vfs[use specified default VFS]:vfs:(unix-dotfile unix-excl unix-none unix-namedsem)' + $^dashes'-vfstrace[enable tracing of all VFS calls]' $^dashes'-zip[open the file as a ZIP Archive]' ) diff --git a/Completion/Unix/Command/_ssh b/Completion/Unix/Command/_ssh index 5e6e60573..d8c27c65f 100644 --- a/Completion/Unix/Command/_ssh +++ b/Completion/Unix/Command/_ssh @@ -62,7 +62,7 @@ _ssh () { '(-v)*-q[quiet operation]' \ '*-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]:query option:((cipher\:"supported symmetric ciphers" cipher-auth\:"supported symmetric ciphers that support authenticated encryption" compression mac\:"supported message integrity codes" kex\:"key exchange algorithms" kex-gss\:"GSSAPI key exchange algorithms" key\:"key types" key-cert\:"certificate key types" key-plain\:"non-certificate key types" key-sig\:"all key types and signature algorithms" protocol-version\:"supported SSH protocol versions" sig\:"supported signature algorithms" help\:"show supported queries" HostbasedAcceptedAlgorithms HostKeyAlgorithms KexAlgorithms MACs PubkeyAcceptedAlgorithms))' \ + '(- 1 *)-Q+[query parameters]:query option:((cipher\:"supported symmetric ciphers" cipher-auth\:"supported symmetric ciphers that support authenticated encryption" compression mac\:"supported message integrity codes" kex\:"key exchange algorithms" kex-gss\:"GSSAPI key exchange algorithms" key\:"key types" key-cert\:"certificate key types" key-plain\:"non-certificate key types" key-sig\:"all key types and signature algorithms" protocol-version\:"supported SSH protocol versions" sig\:"supported signature algorithms" help\:"show supported queries" HostbasedAcceptedAlgorithms HostKeyAlgorithms KexAlgorithms MACs PubkeyAcceptedAlgorithms))' \ '-s[invoke subsystem]' \ '(-t)-T[disable pseudo-tty allocation]' \ "(-T)*-t[force pseudo-tty allocation${tdesc}]" \ @@ -280,6 +280,7 @@ _ssh () { '-O+[specify a key/value option]: : _values option "hashalg[select a hash algorithm to use with -D]\:algorithm [both]\:(sha1 sha256)"' \ '-p+[specify port on remote host]:port number on remote host' \ + "-q[don't print server host name and banners in comments]" \ '-T+[specify timeout]: :_numbers -u seconds -d 5 timeout \:s\:seconds m\:minutes h\:hours d\:days w\:weeks' \ '-t+[specify key types to fetch from scanned hosts]:key type:_sequence compadd - rsa dsa ecdsa ed25519' \ '-v[verbose mode]' @@ -300,9 +301,13 @@ _ssh () { _arguments \ '-i+[select identity file]:SSH identity file:_files -g "*(-.^AR)"' \ '-f[copy keys without trying to check if they are already installed]' \ + '-F+[specify alternate config file]:config file:_files' \ '-n[dry run - no keys are actually copied]' \ '*-o+[specify ssh options]:option string:->option' \ '-p+[specify port on remote host]:port number on remote host' \ + '-s[upload public keys with sftp]' \ + '-t+[specify path on target system]:path [.ssh/authorized_keys]' \ + '-x[debug script by turning on command tracing]' \ '(- 1)'{-h,-\?}'[display usage information]' \ ':remote host name:->userhost' && ret=0 ;; @@ -359,6 +364,10 @@ _ssh () { (#i)canonicalizepermittedcnames=*) _message -e 'CNAME rule list (source_domain_list:target_domain_list, each pattern list comma separated)' && ret=0 ;; + (#i)channeltimeout=*) + _values 'channel type' \ + {agent-connection,direct-tcpip,forwarded-tcpip,session,tun-connection,x11-connection}:interval:'_numbers -u seconds timeout :s:seconds m:minutes h:hours d:days w:weeks' && ret=0 + ;; (#i)ciphers=*) state=ciphers ;; @@ -584,6 +593,7 @@ _ssh () { CanonicalizePermittedCNAMEs \ CASignatureAlgorithms \ CertificateFile \ + ChannelTimeout \ CheckHostIP \ Ciphers \ ClearAllForwardings \ |