const completionSpec = { name : "curl" , description : "Transfer a URL" , args : { name : "URL" , template : "history" } , options : [ { name : [ "-a" , "--append" ] , description : "Append to target file when uploading" , } , { name : [ "-E" , "--cert" ] , description : "Client certificate file and password" , args : { name : "certificate[:password]" , generators : { getQueryTerm : ":" , } , } , } , { name : [ "-K" , "--config" ] , description : "Read config from a file" , args : { name : "file" , template : "filepaths" } , } , { name : [ "-C" , "--continue-at" ] , description : "Resumed transfer offset" , args : { name : "offset" } , } , { name : [ "-b" , "--cookie" ] , description : "Send cookies from string/file" , args : { name : "data or filename" , template : "filepaths" } , } , { name : [ "-c" , "--cookie-jar" ] , description : "Write cookies to <filename> after operation" , args : { name : "filename" , template : "filepaths" } , } , { name : [ "-d" , "--data" ] , description : "HTTP POST data" , insertValue : "-d '{cursor}'" , args : { name : "data" } , isRepeatable : true , } , { name : [ "-q" , "--disable" ] , description : "Disable .curlrc" } , { name : [ "-D" , "--dump-header" ] , description : "Write the received headers to <filename>" , args : { name : "filename" , template : "filepaths" } , } , { name : [ "-f" , "--fail" ] , description : "Fail silently (no output at all) on HTTP errors" , } , { name : [ "-F" , "--form" ] , description : "Specify multipart MIME data" , args : { name : "content" } , isRepeatable : true , } , { name : [ "-P" , "--ftp-port" ] , description : "Use PORT instead of PASV" , args : { name : "address" } , } , { name : [ "-G" , "--get" ] , description : "Put the post data in the URL and use GET" , } , { name : [ "-g" , "--globoff" ] , description : "Disable URL sequences and ranges using {} and []" , } , { name : [ "-I" , "--head" ] , description : "Show document info only" } , { name : [ "-H" , "--header" ] , description : "Pass custom header(s) to server" , args : { name : "header/file" , suggestions : [ { name : "Content-Type: application/json" } , { name : "Content-Type: application/x-www-form-urlencoded" } , ] , } , } , { name : [ "-h" , "--help" ] , description : "This help text" } , { name : [ "-0" , "--http1.0" ] , description : "Use HTTP 1.0" } , { name : [ "-i" , "--include" ] , description : "Include protocol response headers in the output" , } , { name : [ "-k" , "--insecure" ] , description : "Allow insecure server connections when using SSL" , } , { name : [ "-4" , "--ipv4" ] , description : "Resolve names to IPv4 addresses" } , { name : [ "-6" , "--ipv6" ] , description : "Resolve names to IPv6 addresses" } , { name : [ "-j" , "--junk-session-cookies" ] , description : "Ignore session cookies read from file" , } , { name : [ "-l" , "--list-only" ] , description : "List only mode" } , { name : [ "-L" , "--location" ] , description : "Follow redirects" } , { name : [ "-M" , "--manual" ] , description : "Display the full manual" } , { name : [ "-m" , "--max-time" ] , description : "Maximum time allowed for the transfer" , args : { name : "seconds" } , } , { name : [ "-n" , "--netrc" ] , description : "Must read .netrc for user name and password" , } , { name : [ "-:" , "--next" ] , description : "Make next URL use its separate set of options" , } , { name : [ "-N" , "--no-buffer" ] , description : "Disable buffering of the output stream" , } , { name : [ "-o" , "--output" ] , description : "Write to file instead of stdout" , args : { name : "file" , template : "filepaths" } , } , { name : [ "-#" , "--progress-bar" ] , description : "Display transfer progress as a bar" , } , { name : [ "-x" , "--proxy" ] , description : "[protocol://]host[:port] Use this proxy" , } , { name : [ "-U" , "--proxy-user" ] , description : "Proxy user and password" , args : { name : "user:password" } , } , { name : [ "-p" , "--proxytunnel" ] , description : "Operate through an HTTP proxy tunnel (using CONNECT)" , } , { name : [ "-Q" , "--quote" ] , description : "Send command(s) to server before transfer" , } , { name : [ "-r" , "--range" ] , description : "Retrieve only the bytes within RANGE" , args : { name : "range" } , } , { name : [ "-e" , "--referer" ] , description : "Referrer URL" , args : { name : "URL" } , } , { name : [ "-J" , "--remote-header-name" ] , description : "Use the header-provided filename" , } , { name : [ "-O" , "--remote-name" ] , description : "Write output to a file named as the remote file" , } , { name : [ "-R" , "--remote-time" ] , description : "Set the remote file's time on the local output" , } , { name : [ "-X" , "--request" ] , description : "Specify request command to use" , args : { name : "command" , suggestions : [ { name : "POST" } , { name : "GET" } , { name : "PATCH" } , { name : "UPDATE" } , ] , } , } , { name : [ "-S" , "--show-error" ] , description : "Show error even when -s is used" , } , { name : [ "-s" , "--silent" ] , description : "Silent mode" } , { name : [ "-Y" , "--speed-limit" ] , description : "Stop transfers slower than this" , args : { name : "speed" } , } , { name : [ "-y" , "--speed-time" ] , description : "Trigger 'speed-limit' abort after this time" , args : { name : "seconds" } , } , { name : [ "-2" , "--sslv2" ] , description : "Use SSLv2" } , { name : [ "-3" , "--sslv3" ] , description : "Use SSLv3" } , { name : [ "-t" , "--telnet-option" ] , description : "Set telnet option" , args : { name : "val" } , } , { name : [ "-z" , "--time-cond" ] , description : "Transfer based on a time condition" , args : { name : "time" } , } , { name : [ "-1" , "--tlsv1" ] , description : "Use TLSv1.0 or greater" } , { name : [ "-T" , "--upload-file" ] , description : "Transfer local FILE to destination" , args : { name : "file" , template : "filepaths" } , } , { name : [ "-B" , "--use-ascii" ] , description : "Use ASCII/text transfer" } , { name : [ "-u" , "--user" ] , description : "Server user and password" , args : { name : "user:password" } , } , { name : [ "-A" , "--user-agent" ] , description : "Send User-Agent <name> to server" , args : { name : "name" } , } , { name : [ "-v" , "--verbose" ] , description : "Make the operation more talkative" , } , { name : [ "-V" , "--version" ] , description : "Show version number and quit" } , { name : [ "-w" , "--write-out" ] , description : "Use output FORMAT after completion" , args : { name : "format" } , } , { name : "--abstract-unix-socket" , description : "Connect via abstract Unix domain socket" , args : { name : "path" } , } , { name : "--alt-svc" , description : "Name> Enable alt-svc with this cache file" , args : { name : "file" , template : "filepaths" } , } , { name : "--anyauth" , description : "Pick any authentication method" } , { name : "--basic" , description : "Use HTTP Basic Authentication" } , { name : "--cacert" , description : "CA certificate to verify peer against" , args : { name : "file" , template : "filepaths" } , } , { name : "--capath" , description : "CA directory to verify peer against" , args : { name : "dir" , template : "folders" } , } , { name : "--cert-status" , description : "Verify the status of the server certificate" , } , { name : "--cert-type" , description : "Certificate file type" , args : { name : "type" , suggestions : [ { name : "DER" } , { name : "PEM" } , { name : "ENG" } ] , } , } , { name : "--ciphers" , description : "Of ciphers> SSL ciphers to use" , args : { name : "list" } , } , { name : "--compressed" , description : "Request compressed response" } , { name : "--compressed-ssh" , description : "Enable SSH compression" } , { name : "--connect-timeout" , description : "Maximum time allowed for connection" , args : { name : "seconds" } , } , { name : "--connect-to" , description : "Connect to host" , args : { name : "HOST1:PORT1:HOST2:PORT2" } , } , { name : "--create-dirs" , description : "Create necessary local directory hierarchy" , } , { name : "--crlf" , description : "Convert LF to CRLF in upload" } , { name : "--crlfile" , description : "Get a CRL list in PEM format from the given file" , args : { name : "file" , template : "filepaths" } , } , { name : "--data-ascii" , description : "HTTP POST ASCII data" , args : { name : "data" } , } , { name : "--data-binary" , description : "HTTP POST binary data" , args : { name : "data" } , } , { name : "--data-raw" , description : "HTTP POST data, '@' allowed" , args : { name : "data" } , } , { name : "--data-urlencode" , description : "HTTP POST data url encoded" , args : { name : "data" } , } , { name : "--delegation" , description : "GSS-API delegation permission" , args : { name : "LEVEL" } , } , { name : "--digest" , description : "Use HTTP Digest Authentication" } , { name : "--disable-eprt" , description : "Inhibit using EPRT or LPRT" } , { name : "--disable-epsv" , description : "Inhibit using EPSV" } , { name : "--disallow-username-in-url" , description : "Disallow username in url" , } , { name : "--dns-interface" , description : "Interface to use for DNS requests" , args : { name : "interface" } , } , { name : "--dns-ipv4-addr" , description : "IPv4 address to use for DNS requests" , args : { name : "address" } , } , { name : "--dns-ipv6-addr" , description : "IPv6 address to use for DNS requests" , args : { name : "address" } , } , { name : "--dns-servers" , description : "DNS server addrs to use" , args : { name : "addresses" } , } , { name : "--doh-url" , description : "Resolve host names over DOH" , args : { name : "URL" } , } , { name : "--egd-file" , description : "EGD socket path for random data" , args : { name : "file" , template : "filepaths" } , } , { name : "--engine" , description : "Crypto engine to use" , args : { name : "name" } , } , { name : "--expect100-timeout" , description : "How long to wait for 100-continue" , args : { name : "seconds" } , } , { name : "--fail-early" , description : "Fail on first transfer error, do not continue" , } , { name : "--false-start" , description : "Enable TLS False Start" } , { name : "--form-string" , description : "Specify multipart MIME data" , args : { name : "string" } , } , { name : "--ftp-account" , description : "Account data string" , args : { name : "data" } , } , { name : "--ftp-alternative-to-user" , description : "String to replace USER [name]" , args : { name : "command" } , } , { name : "--ftp-create-dirs" , description : "Create the remote dirs if not present" , } , { name : "--ftp-method" , description : "Control CWD usage" , args : { name : "method" } , } , { name : "--ftp-pasv" , description : "Use PASV/EPSV instead of PORT" } , { name : "--ftp-pret" , description : "Send PRET before PASV" } , { name : "--ftp-skip-pasv-ip" , description : "Skip the IP address for PASV" } , { name : "--ftp-ssl-ccc" , description : "Send CCC after authenticating" } , { name : "--ftp-ssl-ccc-mode" , description : "Set CCC mode" , args : { name : "mode" , suggestions : [ { name : "active" } , { name : "passive" } ] , } , } , { name : "--ftp-ssl-control" , description : "Require SSL/TLS for FTP login, clear for transfer" , } , { name : "--happy-eyeballs-timeout-ms" , description : "How long to wait in milliseconds for IPv6 before trying IPv4" , args : { name : "milliseconds" } , } , { name : "--haproxy-protocol" , description : "Send HAProxy PROXY protocol v1 header" , } , { name : "--hostpubmd5" , description : "Acceptable MD5 hash of the host public key" , args : { name : "md5" } , } , { name : "--http0.9" , description : "Allow HTTP 0.9 responses" } , { name : "--http1.1" , description : "Use HTTP 1.1" } , { name : "--http2" , description : "Use HTTP 2" } , { name : "--http2-prior-knowledge" , description : "Use HTTP 2 without HTTP/1.1 Upgrade" , } , { name : "--ignore-content-length" , description : "Ignore the size of the remote resource" , } , { name : "--interface" , description : "Use network INTERFACE (or address)" , args : { name : "name" } , } , { name : "--keepalive-time" , description : "Interval time for keepalive probes" , args : { name : "seconds" } , } , { name : "--key" , description : "Private key file name" , args : { name : "key" } , } , { name : "--key-type" , description : "Private key file type" , args : { name : "type" , suggestions : [ { name : "DER" } , { name : "PEM" } , { name : "ENG" } ] , } , } , { name : "--krb" , description : "Enable Kerberos with security <level>" , args : { name : "level" } , } , { name : "--libcurl" , description : "Dump libcurl equivalent code of this command line" , args : { name : "file" , template : "filepaths" } , } , { name : "--limit-rate" , description : "Limit transfer speed to RATE" , args : { name : "speed" } , } , { name : "--local-port" , description : "Force use of RANGE for local port numbers" , args : { name : "num/range" } , } , { name : "--location-trusted" , description : "Like --location, and send auth to other hosts" , } , { name : "--login-options" , description : "Server login options" , args : { name : "options" } , } , { name : "--mail-auth" , description : "Originator address of the original email" , args : { name : "address" } , } , { name : "--mail-from" , description : "Mail from this address" , args : { name : "address" } , } , { name : "--mail-rcpt" , description : "Mail to this address" , args : { name : "address" } , } , { name : "--max-filesize" , description : "Maximum file size to download" , args : { name : "bytes" } , } , { name : "--max-redirs" , description : "Maximum number of redirects allowed" , args : { name : "num" } , } , { name : "--metalink" , description : "Process given URLs as metalink XML file" , } , { name : "--negotiate" , description : "Use HTTP Negotiate (SPNEGO) authentication" , } , { name : "--netrc-file" , description : "Specify FILE for netrc" , args : { name : "filename" , template : "filepaths" } , } , { name : "--netrc-optional" , description : "Use either .netrc or URL" } , { name : "--no-alpn" , description : "Disable the ALPN TLS extension" } , { name : "--no-keepalive" , description : "Disable TCP keepalive on the connection" , } , { name : "--no-npn" , description : "Disable the NPN TLS extension" } , { name : "--no-sessionid" , description : "Disable SSL session-ID reusing" } , { name : "--noproxy" , description : "List of hosts which do not use proxy" , args : { name : "no-proxy-list" } , } , { name : "--ntlm" , description : "Use HTTP NTLM authentication" } , { name : "--ntlm-wb" , description : "Use HTTP NTLM authentication with winbind" , } , { name : "--oauth2-bearer" , description : "OAuth 2 Bearer Token" , args : { name : "token" } , } , { name : "--pass" , description : "Pass phrase for the private key" , args : { name : "phrase" } , } , { name : "--path-as-is" , description : "Do not squash .. sequences in URL path" , } , { name : "--pinnedpubkey" , description : "FILE/HASHES Public key to verify peer against" , args : { name : "hashes" } , } , { name : "--post301" , description : "Do not switch to GET after following a 301" , } , { name : "--post302" , description : "Do not switch to GET after following a 302" , } , { name : "--post303" , description : "Do not switch to GET after following a 303" , } , { name : "--preproxy" , description : "[protocol://]host[:port] Use this proxy first" , } , { name : "--proto" , description : "Enable/disable PROTOCOLS" , args : { name : "protocols" } , } , { name : "--proto-default" , description : "Use PROTOCOL for any URL missing a scheme" , args : { name : "protocol" } , } , { name : "--proto-redir" , description : "Enable/disable PROTOCOLS on redirect" , args : { name : "protocols" } , } , { name : "--proxy-anyauth" , description : "Pick any proxy authentication method" , } , { name : "--proxy-basic" , description : "Use Basic authentication on the proxy" , } , { name : "--proxy-cacert" , description : "CA certificate to verify peer against for proxy" , args : { name : "file" , template : "filepaths" } , } , { name : "--proxy-capath" , description : "CA directory to verify peer against for proxy" , args : { name : "dir" , template : "folders" } , } , { name : "--proxy-cert" , description : "Set client certificate for proxy" , args : { name : "cert[:passwd]" } , } , { name : "--proxy-cert-type" , description : "Client certificate type for HTTPS proxy" , args : { name : "type" } , } , { name : "--proxy-ciphers" , description : "SSL ciphers to use for proxy" , args : { name : "list" } , } , { name : "--proxy-crlfile" , description : "Set a CRL list for proxy" , args : { name : "file" , template : "filepaths" } , } , { name : "--proxy-digest" , description : "Use Digest authentication on the proxy" , } , { name : "--proxy-header" , description : "Pass custom header(s) to proxy" , args : { name : "header/file" , suggestions : [ { name : "Content-Type: application/json" } , { name : "Content-Type: application/x-www-form-urlencoded" } , ] , } , } , { name : "--proxy-insecure" , description : "Do HTTPS proxy connections without verifying the proxy" , } , { name : "--proxy-key" , description : "Private key for HTTPS proxy" , args : { name : "key" } , } , { name : "--proxy-key-type" , description : "Private key file type for proxy" , args : { name : "type" } , } , { name : "--proxy-negotiate" , description : "Use HTTP Negotiate (SPNEGO) authentication on the proxy" , } , { name : "--proxy-ntlm" , description : "Use NTLM authentication on the proxy" , } , { name : "--proxy-pass" , description : "Pass phrase for the private key for HTTPS proxy" , args : { name : "phrase" } , } , { name : "--proxy-pinnedpubkey" , description : "FILE/HASHES public key to verify proxy with" , args : { name : "hashes" } , } , { name : "--proxy-service-name" , description : "SPNEGO proxy service name" , args : { name : "name" } , } , { name : "--proxy-ssl-allow-beast" , description : "Allow security flaw for interop for HTTPS proxy" , } , { name : "--proxy-tls13-ciphers" , description : "List> TLS 1.3 proxy cipher suites" , args : { name : "ciphersuit" } , } , { name : "--proxy-tlsauthtype" , description : "TLS authentication type for HTTPS proxy" , args : { name : "type" } , } , { name : "--proxy-tlspassword" , description : "TLS password for HTTPS proxy" , args : { name : "string" } , } , { name : "--proxy-tlsuser" , description : "TLS username for HTTPS proxy" , args : { name : "name" } , } , { name : "--proxy-tlsv1" , description : "Use TLSv1 for HTTPS proxy" } , { name : "--proxy1.0" , description : "Use HTTP/1.0 proxy on given port" , args : { name : "host[:port]" } , } , { name : "--pubkey" , description : "SSH Public key file name" , args : { name : "key" , template : "filepaths" } , } , { name : "--random-file" , description : "File for reading random data from" , args : { name : "file" , template : "filepaths" } , } , { name : "--raw" , description : 'Do HTTP "raw"; no transfer decoding' } , { name : "--remote-name-all" , description : "Use the remote file name for all URLs" , } , { name : "--request-target" , description : "Specify the target for this request" , } , { name : "--resolve" , description : "Resolve the host+port to this address" , args : { name : "host:port:address[,address]..." } , } , { name : "--retry" , description : "Retry request if transient problems occur" , args : { name : "num" } , } , { name : "--retry-connrefused" , description : "Retry on connection refused (use with --retry)" , } , { name : "--retry-delay" , description : "Wait time between retries" , args : { name : "seconds" } , } , { name : "--retry-max-time" , description : "Retry only within this period" , args : { name : "seconds" } , } , { name : "--sasl-ir" , description : "Enable initial response in SASL authentication" , } , { name : "--service-name" , description : "SPNEGO service name" , args : { name : "name" } , } , { name : "--socks4" , description : "SOCKS4 proxy on given host + port" , args : { name : "host[:port]" } , } , { name : "--socks4a" , description : "SOCKS4a proxy on given host + port" , args : { name : "host[:port]" } , } , { name : "--socks5" , description : "SOCKS5 proxy on given host + port" , args : { name : "host[:port]" } , } , { name : "--socks5-basic" , description : "Enable username/password auth for SOCKS5 proxies" , } , { name : "--socks5-gssapi" , description : "Enable GSS-API auth for SOCKS5 proxies" , } , { name : "--socks5-gssapi-nec" , description : "Compatibility with NEC SOCKS5 server" , } , { name : "--socks5-gssapi-service" , description : "SOCKS5 proxy service name for GSS-API" , args : { name : "name" } , } , { name : "--socks5-hostname" , description : "SOCKS5 proxy, pass host name to proxy" , args : { name : "host[:port]" } , } , { name : "--ssl" , description : "Try SSL/TLS" } , { name : "--ssl-allow-beast" , description : "Allow security flaw to improve interop" , } , { name : "--ssl-no-revoke" , description : "Disable cert revocation checks (Schannel)" , } , { name : "--ssl-reqd" , description : "Require SSL/TLS" } , { name : "--stderr" , description : "Where to redirect stderr" } , { name : "--styled-output" , description : "Enable styled output for HTTP headers" , } , { name : "--suppress-connect-headers" , description : "Suppress proxy CONNECT response headers" , } , { name : "--tcp-fastopen" , description : "Use TCP Fast Open" } , { name : "--tcp-nodelay" , description : "Use the TCP_NODELAY option" } , { name : "--tftp-blksize" , description : "Set TFTP BLKSIZE option" , args : { name : "value" } , } , { name : "--tftp-no-options" , description : "Do not send any TFTP options" } , { name : "--tls-max" , description : "Set maximum allowed TLS version" , args : { name : "VERSION" } , } , { name : "--tls13-ciphers" , description : "Of TLS 1.3 ciphersuites> TLS 1.3 cipher suites to use" , args : { name : "list" } , } , { name : "--tlsauthtype" , description : "TLS authentication type" , args : { name : "type" } , } , { name : "--tlspassword" , description : "TLS password" } , { name : "--tlsuser" , description : "TLS user name" , args : { name : "name" } } , { name : "--tlsv1.0" , description : "Use TLSv1.0 or greater" } , { name : "--tlsv1.1" , description : "Use TLSv1.1 or greater" } , { name : "--tlsv1.2" , description : "Use TLSv1.2 or greater" } , { name : "--tlsv1.3" , description : "Use TLSv1.3 or greater" } , { name : "--tr-encoding" , description : "Request compressed transfer encoding" , } , { name : "--trace" , description : "Write a debug trace to FILE" , args : { name : "file" , template : "filepaths" } , } , { name : "--trace-ascii" , description : "Like --trace, but without hex output" , args : { name : "file" , template : "filepaths" } , } , { name : "--trace-time" , description : "Add time stamps to trace/verbose output" , } , { name : "--unix-socket" , description : "Connect through this Unix domain socket" , args : { name : "path" } , } , { name : "--url" , description : "URL to work with" , args : { name : "url" } } , { name : "--xattr" , description : "Store metadata in extended file attributes" , } , ] , } ; export default completionSpec ;