# curl(1) completion -*- shell-script -*- _curl() { local cur prev words cword _init_completion || return case $prev in --ciphers | --connect-timeout | --continue-at | --form | --form-string | \ --ftp-account | --ftp-alternative-to-user | --ftp-port | --header | --help | \ --hostpubmd5 | --keepalive-time | --krb | --limit-rate | --local-port | \ --mail-from | --mail-rcpt | --max-filesize | --max-redirs | --max-time | --pass | \ --proto | --proto-redir | --proxy-user | --proxy1.0 | --quote | --range | \ --request | --retry | --retry-delay | --retry-max-time | \ --socks5-gssapi-service | --telnet-option | --tftp-blksize | --time-cond | \ --url | --user | --user-agent | --version | --write-out | --resolve | --tlsuser | \ --tlspassword | -!(-*)[CFPHhmQrXtzuAVw]) return ;; --config | --cookie | --cookie-jar | --dump-header | --egd-file | \ --key | --libcurl | --output | --random-file | --upload-file | --trace | \ --trace-ascii | --netrc-file | -!(-*)[KbcDoT]) _filedir return ;; --cacert | --cert | -!(-*)E) _filedir '@(c?(e)rt|cer|pem|der)' return ;; --capath) _filedir -d return ;; --cert-type | --key-type) COMPREPLY=($(compgen -W 'DER PEM ENG' -- "$cur")) return ;; --crlfile) _filedir crl return ;; --data | --data-ascii | --data-binary | --data-urlencode | -!(-*)d) if [[ $cur == \@* ]]; then cur=${cur:1} _filedir if [[ ${#COMPREPLY[@]} -eq 1 && -d ${COMPREPLY[0]} ]]; then COMPREPLY[0]+=/ compopt -o nospace fi COMPREPLY=("${COMPREPLY[@]/#/@}") fi return ;; --delegation) COMPREPLY=($(compgen -W 'none policy always' -- "$cur")) return ;; --engine) COMPREPLY=($(compgen -W 'list' -- "$cur")) return ;; --ftp-method) COMPREPLY=($(compgen -W 'multicwd nocwd singlecwd' -- "$cur")) return ;; --ftp-ssl-ccc-mode) COMPREPLY=($(compgen -W 'active passive' -- "$cur")) return ;; --interface) _available_interfaces -a return ;; --proxy | --socks4 | --socks4a | --socks5 | --socks5-hostname | -!(-*)x) _known_hosts_real -- "$cur" return ;; --pubkey) _xfunc ssh _ssh_identityfile pub return ;; --stderr) COMPREPLY=($(compgen -W '-' -- "$cur")) _filedir return ;; --tlsauthtype) COMPREPLY=($(compgen -W 'SRP' -- "$cur")) return ;; esac if [[ $cur == -* ]]; then COMPREPLY=($(compgen -W '$(_parse_help "$1")' -- "$cur")) fi } && complete -F _curl curl # ex: filetype=sh