From d48eb56aeaa18a121b73079ff51e3ff7a0ed3abe Mon Sep 17 00:00:00 2001 From: Fabian Homborg Date: Sat, 16 Feb 2019 17:00:18 +0100 Subject: [PATCH] Improve curl completions Just a bunch of rewriting descriptions and some arguments. Most arguments here are uncompleteable, and most of these options will never be used. [ci skip] --- share/completions/curl.fish | 107 ++++++++++++++++++------------------ 1 file changed, 53 insertions(+), 54 deletions(-) diff --git a/share/completions/curl.fish b/share/completions/curl.fish index b8767ec97..5f10e9c04 100644 --- a/share/completions/curl.fish +++ b/share/completions/curl.fish @@ -40,17 +40,17 @@ complete -c curl -l disallow-username-in-url -d '(HTTP) Exit if passed a url con complete -c curl -l dns-interface -d '(DNS) Send outgoing DNS requests through ' complete -c curl -l dns-ipv4-addr -d '(DNS) Bind to when making IPv4 DNS requests' complete -c curl -l dns-ipv6-addr -d '(DNS) Bind to when making IPv6 DNS requests' -complete -c curl -l dns-servers -d 'Set the list of DNS servers to be used instead of the system default' -complete -c curl -l doh-url -d '(all) Specifies which DNS-over-HTTPS (DOH) server to use to resolve hostnames' +complete -c curl -l dns-servers -d 'Set the list of DNS servers to use' +complete -c curl -l doh-url -d '(all) Specify which DNS-over-HTTPS (DOH) server to use to resolve hostnames' complete -c curl -s D -l dump-header -d '(HTTP FTP) Write the received protocol headers to the specified file' complete -c curl -l egd-file -d '(TLS) Specify the path name to the Entropy Gathering Daemon socket' complete -c curl -l engine -d '(TLS) Select the OpenSSL crypto engine to use for cipher operations' complete -c curl -l expect100-timeout -d '(HTTP) Maximum time in seconds to wait for a 100-continue' complete -c curl -l fail-early -d 'Fail and exit on the first detected transfer error' complete -c curl -s f -l fail -d '(HTTP) Fail silently (no output at all) on server errors' -complete -c curl -l false-start -d '(TLS) Tells curl to use false start during the TLS handshake' -complete -c curl -l form-string -d '(HTTP SMTP IMAP) Similar to -F, --form except that the value string for the n…' -complete -c curl -s F -l form -d '(HTTP SMTP IMAP) For HTTP protocol family, this lets curl emulate a filled-in…' +complete -c curl -l false-start -d '(TLS) Use false start during the TLS handshake' +complete -c curl -l form-string -d '(HTTP SMTP IMAP) Like --form except using value string literally' +complete -c curl -s F -l form -d '(HTTP SMTP IMAP) Emulate pressing submit on filled-in form' complete -c curl -l ftp-account -d '(FTP) Data for the ACCT command' complete -c curl -l ftp-alternative-to-user -d '(FTP) If USER and PASS commands fail, send this command' complete -c curl -l ftp-create-dirs -d '(FTP SFTP) Create missing dirs with ftp' @@ -58,39 +58,39 @@ complete -c curl -l ftp-method -d '(FTP) Control what method curl should use to complete -c curl -l ftp-pasv -d '(FTP) Use passive mode for the data connection' complete -c curl -s P -l ftp-port -d '(FTP) Reverses the default initiator/listener roles when connecting with FTP' complete -c curl -l ftp-pret -d '(FTP) Tell curl to send a PRET command before PASV (and EPSV)' -complete -c curl -l ftp-skip-pasv-ip -d '(FTP) Tell curl to not use the IP address the server suggests in its response…' +complete -c curl -l ftp-skip-pasv-ip -d '(FTP) Use same IP instead of IP the server suggests in response to PASV' complete -c curl -l ftp-ssl-ccc-mode -d '(FTP) Sets the CCC mode' -complete -c curl -l ftp-ssl-ccc -d '(FTP) Use CCC (Clear Command Channel) Shuts down the SSL/TLS layer after auth…' +complete -c curl -l ftp-ssl-ccc -d '(FTP) Use CCC (Clear Command Channel) Shuts down the SSL/TLS layer after auth' complete -c curl -l ftp-ssl-control -d '(FTP) Require SSL/TLS for the FTP login, clear for transfer' -complete -c curl -s G -l get -d 'When used, this option will make all data specified with -d, --data, --data-b…' +complete -c curl -s G -l get -d 'Use GET instead of POST' complete -c curl -s g -l globoff -d 'This option switches off the "URL globbing parser"' -complete -c curl -l happy-eyeballs-timeout-ms -d 'Happy eyeballs is an algorithm that attempts to connect to both IPv4 and IPv6…' -complete -c curl -l haproxy-protocol -d '(HTTP) Send a HAProxy PROXY protocol v1 header at the beginning of the connec…' -complete -c curl -s I -l head -d '(HTTP FTP FILE) Fetch the headers only! HTTP-servers feature the command HEAD…' +complete -c curl -l happy-eyeballs-timeout-ms -d 'Attempt to connect to both IPv4 and IPv6 in parallel' +complete -c curl -l haproxy-protocol -d '(HTTP) Send a HAProxy PROXY protocol v1 header at the beginning of the connection' +complete -c curl -s I -l head -d '(HTTP FTP FILE) Fetch the headers only' complete -c curl -s H -l header -d '(HTTP) Extra header to include in the request when sending HTTP to a server' complete -c curl -s h -l help -d 'Usage help' complete -c curl -l hostpubmd5 -d '(SFTP SCP) Pass a string containing 32 hexadecimal digits' complete -c curl -l 'http0.9' -d '(HTTP) Tells curl to be fine with HTTP version 0. 9 response. HTTP/0' -complete -c curl -s 0 -l 'http1.0' -d '(HTTP) Tells curl to use HTTP version 1' -complete -c curl -l 'http1.1' -d '(HTTP) Tells curl to use HTTP version 1. 1' -complete -c curl -l http2-prior-knowledge -d '(HTTP) Tells curl to issue its non-TLS HTTP requests using HTTP/2 without HTT…' -complete -c curl -l http2 -d '(HTTP) Tells curl to use HTTP version 2. See also --no-alpn' -complete -c curl -l ignore-content-length -d '(FTP HTTP) For HTTP, Ignore the Content-Length header' +complete -c curl -s 0 -l 'http1.0' -d '(HTTP) Use HTTP version 1' +complete -c curl -l 'http1.1' -d '(HTTP) Use HTTP version 1.1' +complete -c curl -l http2-prior-knowledge -d '(HTTP) Use HTTP/2 immediately (without trying HTTP1)' +complete -c curl -l http2 -d '(HTTP) Use HTTP version 2' +complete -c curl -l ignore-content-length -d '(FTP HTTP) Ignore the Content-Length header' complete -c curl -s i -l include -d 'Include the HTTP response headers in the output' -complete -c curl -s k -l insecure -d '(TLS) By default, every SSL connection curl makes is verified to be secure' +complete -c curl -s k -l insecure -d '(TLS) Allow insecure connections' complete -c curl -l interface -d 'Perform an operation using a specified interface' -complete -c curl -s 4 -l ipv4 -d 'This option tells curl to resolve names to IPv4 addresses only, and not for e…' -complete -c curl -s 6 -l ipv6 -d 'This option tells curl to resolve names to IPv6 addresses only, and not for e…' -complete -c curl -s j -l junk-session-cookies -d '(HTTP) When curl is told to read cookies from a given file, this option will …' -complete -c curl -l keepalive-time -d 'This option sets the time a connection needs to remain idle before sending ke…' -complete -c curl -l key-type -d '(TLS) Private key file type' +complete -c curl -s 4 -l ipv4 -d 'Use IPv4 only' +complete -c curl -s 6 -l ipv6 -d 'Use IPv6 only' +complete -c curl -s j -l junk-session-cookies -d '(HTTP) Discard all session cookies' +complete -c curl -l keepalive-time -d 'Specify idle time before keepalive is sent' +complete -c curl -l key-type -d '(TLS) Private key file type' -xa 'DER PEM ENG' complete -c curl -l key -d '(TLS SSH) Private key file name' complete -c curl -l krb -d '(FTP) Enable Kerberos authentication and use' -complete -c curl -l libcurl -d 'Append this option to any ordinary curl command line, and you will get a libc…' -complete -c curl -l limit-rate -d 'Specify the maximum transfer rate you want curl to use - for both downloads a…' -complete -c curl -s l -l list-only -d '(FTP POP3) (FTP) When listing an FTP directory, this switch forces a name-onl…' -complete -c curl -l local-port -d 'Set a preferred single number or range (FROM-TO) of local port numbers to use…' -complete -c curl -l location-trusted -d '(HTTP) Like -L, --location, but will allow sending the name + password to all…' +complete -c curl -l libcurl -d 'Write C-code equivalent to the invocation to the given file' +complete -c curl -l limit-rate -d 'Limit bandwidth (Examples: 200K, 3m and 1G)' +complete -c curl -s l -l list-only -d '(FTP POP3) (FTP) Use name-only view when listing' +complete -c curl -l local-port -d 'Set a preferred single number or range (FROM-TO) of local ports to use' +complete -c curl -l location-trusted -d '(HTTP) Like -L, --location, but allow sending the name + password' complete -c curl -s L -l location -d '(HTTP) Follow redirects' complete -c curl -l login-options -d '(IMAP POP3 SMTP) Specify the login options' complete -c curl -l mail-auth -d '(SMTP) Specify a single address' @@ -100,36 +100,35 @@ complete -c curl -s M -l manual -d 'Manual. Display the huge help text' complete -c curl -l max-filesize -d 'Specify the maximum size (in bytes) of a file to download' complete -c curl -l max-redirs -d '(HTTP) Set maximum number of redirection-followings allowed' complete -c curl -s m -l max-time -d 'Maximum time in seconds that you allow the whole operation to take' -complete -c curl -l metalink -d 'This option can tell curl to parse and process a given URI as Metalink file (…' +complete -c curl -l metalink -d 'Process URI as Metalink file' complete -c curl -l negotiate -d '(HTTP) Enables Negotiate (SPNEGO) authentication' -complete -c curl -l netrc-file -d 'This option is similar to -n, --netrc, except that you provide the path (abso…' -complete -c curl -l netrc-optional -d 'Very similar to -n, --netrc, but this option makes the ' -complete -c curl -s n -l netrc -d 'Makes curl scan the ' -complete -c curl -l next -d 'Tells curl to use a separate operation for the following URL and associated o…' +complete -c curl -l netrc-file -d 'Use this netrc file' +complete -c curl -l netrc-optional -d 'Make netrc optional' +complete -c curl -s n -l netrc -d 'Use ~/.netrc' +complete -c curl -l next -d 'Use a separate operation for the following URL' complete -c curl -l no-alpn -d '(HTTPS) Disable the ALPN TLS extension' -complete -c curl -s N -l no-buffer -d 'Disables the buffering of the output stream' -complete -c curl -l no-keepalive -d 'Disables the use of keepalive messages on the TCP connection' -complete -c curl -l no-npn -d '(HTTPS) Disable the NPN TLS extension' -complete -c curl -l no-sessionid -d '(TLS) Disable curl\'s use of SSL session-ID caching' -complete -c curl -l noproxy -d 'Comma-separated list of hosts which do not use a proxy, if one is specified' -complete -c curl -l ntlm-wb -d '(HTTP) Enables NTLM much in the style --ntlm does, but hand over the authenti…' -complete -c curl -l ntlm -d '(HTTP) Enables NTLM authentication' +complete -c curl -s N -l no-buffer -d 'Disable the buffering of the output stream' +complete -c curl -l no-keepalive -d 'Disable use of keepalive messages on the TCP connection' +complete -c curl -l no-npn -d '(HTTPS) Disable NPN TLS extension' +complete -c curl -l no-sessionid -d '(TLS) Disable use of SSL session-ID caching' +complete -c curl -l noproxy -d 'Comma-separated list of hosts which do not use a proxy' +complete -c curl -l ntlm-wb -d '(HTTP) Enable NTLM, but hand over auth to separate ntlmauth binary' +complete -c curl -l ntlm -d '(HTTP) Enable NTLM authentication' complete -c curl -l oauth2-bearer -d '(IMAP POP3 SMTP) Specify the Bearer Token for OAUTH 2' complete -c curl -s o -l output -d 'Write output to instead of stdout' -complete -c curl -l pass -d '(SSH TLS) Passphrase for the private key If this option is used several time…' -complete -c curl -l path-as-is -d 'Tell curl to not handle sequences of /. / or /. / in the given URL path' -complete -c curl -l pinnedpubkey -d '(TLS) Tells curl to use the specified public key file (or hashes) to verify t…' -complete -c curl -l post301 -d '(HTTP) Tells curl to respect RFC 7231/6. 4' -complete -c curl -l post302 -d '(HTTP) Tells curl to respect RFC 7231/6. 4' -complete -c curl -l post303 -d '(HTTP) Tells curl to violate RFC 7231/6. 4' -complete -c curl -l preproxy -d 'Use the specified SOCKS proxy before connecting to an HTTP or HTTPS -x, --pro…' -complete -c curl -s '#' -l progress-bar -d 'Make curl display transfer progress as a simple progress bar instead of the s…' -complete -c curl -l proto-default -d 'Tells curl to use protocol for any URL missing a scheme name' -complete -c curl -l proto-redir -d 'Tells curl to limit what protocols it may use on redirect' -complete -c curl -l proto -d 'Tells curl to limit what protocols it may use in the transfer' -complete -c curl -o ftps -d 'uses the default protocols, but disables ftps' -complete -c curl -o all -d 'only enables http and https' -complete -c curl -l proxy-anyauth -d 'Tells curl to pick a suitable authentication method when communicating with t…' +complete -c curl -l pass -d '(SSH TLS) Passphrase for the private key' +complete -c curl -l path-as-is -d 'Do not handle sequences of /../ or /./ in the given URL path' +complete -c curl -l pinnedpubkey -d '(TLS) Use the specified public key file (or hashes)' +complete -c curl -l post301 -d '(HTTP) Respect RFC 7231/6.4' +complete -c curl -l post302 -d '(HTTP) Respect RFC 7231/6.4' +complete -c curl -l post303 -d '(HTTP) Violate RFC 7231/6.4' +complete -c curl -l preproxy -d 'Use the specified SOCKS proxy before connecting to HTTP(S) proxy' +complete -c curl -s '#' -l progress-bar -d 'Display progress as a simple progress bar' +complete -c curl -l proto-default -d 'Use this protocol for any URL missing a scheme name' +complete -c curl -l proto-redir -d 'Limit what protocols it may use on redirect' +# TODO: args +complete -c curl -l proto -d 'Limit what protocols it may use in the transfer' +complete -c curl -l proxy-anyauth -d 'Like --anyauth but for the proxy' complete -c curl -l proxy-basic -d 'Tells curl to use HTTP Basic authentication when communicating with the given…' complete -c curl -l proxy-cacert -d 'Same as --cacert but used in HTTPS proxy context' complete -c curl -l proxy-capath -d 'Same as --capath but used in HTTPS proxy context' @@ -155,7 +154,7 @@ complete -c curl -l proxy-tlsuser -d 'Same as --tlsuser but used in HTTPS proxy complete -c curl -l proxy-tlsv1 -d 'Same as -1, --tlsv1 but used in HTTPS proxy context. Added in 7. 52. 0' complete -c curl -s U -l proxy-user -d 'Specify the user name and password to use for proxy authentication' complete -c curl -s x -l proxy -d 'Use the specified proxy' -complete -c curl -l 'proxy1.0' -d 'Use the specified HTTP 1. 0 proxy' +complete -c curl -l 'proxy1.0' -d 'Use the specified HTTP 1.0 proxy' complete -c curl -s p -l proxytunnel -d 'When an HTTP proxy is used -x, --proxy, this option will cause non-HTTP proto…' complete -c curl -l pubkey -d '(SFTP SCP) Public key file name' complete -c curl -s Q -l quote -d '(FTP SFTP) Send an arbitrary command to the remote FTP or SFTP server'