diff --git a/extras/httpie-completion.fish b/extras/httpie-completion.fish index a4f04dc7..5bb32c76 100644 --- a/extras/httpie-completion.fish +++ b/extras/httpie-completion.fish @@ -1,60 +1,137 @@ -function __fish_httpie_auth_types - echo "basic"\t"Basic HTTP auth" - echo "digest"\t"Digest HTTP auth" -end - function __fish_httpie_styles - echo "autumn" - echo "borland" - echo "bw" - echo "colorful" - echo "default" - echo "emacs" - echo "friendly" - echo "fruity" - echo "igor" - echo "manni" - echo "monokai" - echo "murphy" - echo "native" - echo "paraiso-dark" - echo "paraiso-light" - echo "pastie" - echo "perldoc" - echo "rrt" - echo "solarized" - echo "tango" - echo "trac" - echo "vim" - echo "vs" - echo "xcode" + echo " +abap +algol +algol_nu +arduino +auto +autumn +borland +bw +colorful +default +emacs +friendly +fruity +gruvbox-dark +gruvbox-light +igor +inkpot +lovelace +manni +material +monokai +murphy +native +paraiso-dark +paraiso-light +pastie +perldoc +rainbow_dash +rrt +sas +solarized +solarized-dark +solarized-light +stata +stata-dark +stata-light +tango +trac +vim +vs +xcode +zenburn" end -complete -x -c http -s s -l style -d 'Output coloring style (default is "monokai")' -A -a '(__fish_httpie_styles)' -complete -c http -s f -l form -d 'Data items from the command line are serialized as form fields' -complete -c http -s j -l json -d '(default) Data items from the command line are serialized as a JSON object' -complete -x -c http -l pretty -d 'Controls output processing' -a "all colors format none" -A -complete -x -c http -s p -l print -d 'String specifying what the output should contain' -complete -c http -s v -l verbose -d 'Print the whole request as well as the response' -complete -c http -s h -l headers -d 'Print only the response headers' -complete -c http -s b -l body -d 'Print only the response body' -complete -c http -s S -l stream -d 'Always stream the output by line' -complete -c http -s o -l output -d 'Save output to FILE' -complete -c http -s d -l download -d 'Do not print the response body to stdout' -complete -c http -s c -l continue -d 'Resume an interrupted download' -complete -x -c http -l session -d 'Create, or reuse and update a session' -complete -x -c http -s a -l auth -d 'If only the username is provided (-a username), HTTPie will prompt for the password' -complete -x -c http -l auth-type -d 'The authentication mechanism to be used' -a '(__fish_httpie_auth_types)' -A -complete -x -c http -l proxy -d 'String mapping protocol to the URL of the proxy' -complete -c http -l follow -d 'Allow full redirects' -complete -x -c http -l verify -d 'SSL cert verification' -complete -c http -l cert -d 'SSL cert' -complete -c http -l cert-key -d 'Private SSL cert key' -complete -x -c http -l timeout -d 'Connection timeout in seconds' -complete -c http -l check-status -d 'Error with non-200 HTTP status code' -complete -c http -l ignore-stdin -d 'Do not attempt to read stdin' -complete -c http -l help -d 'Show help' -complete -c http -l version -d 'Show version' -complete -c http -l traceback -d 'Prints exception traceback should one occur' -complete -c http -l debug -d 'Show debugging information' -complete -c http -l raw -d 'Pass raw request data without extra processing' +function __fish_httpie_auth_types + echo -e "basic\tBasic HTTP auth" + echo -e "digest\tDigest HTTP auth" +end + +function __fish_http_verify_options + echo -e "yes\tEnable cert verification" + echo -e "no\tDisable cert verification" +end + +# Predefined Content Types + +complete -c http -s j -l json -d 'Data items are serialized as a JSON object' +complete -c http -s f -l form -d 'Data items are serialized as form fields' +complete -c http -l multipart -d 'Always sends a multipart/form-data request' +complete -c http -l boundary -x -d 'Custom boundary string for multipart/form-data requests' +complete -c http -l raw -x -d 'Pass raw request data without extra processing' + + +# Content Processing Options + +complete -c http -s x -l compress -d 'Content compressed with Deflate algorithm' + + +# Output Processing + +complete -c http -l pretty -xa "all colors format none" -d 'Controls output processing' +complete -c http -s s -l style -xa "(__fish_httpie_styles)" -d 'Output coloring style' +complete -c http -l unsorted -d 'Disables all sorting while formatting output' +complete -c http -l sorted -d 'Re-enables all sorting options while formatting output' +complete -c http -l format-options -x -d 'Controls output formatting' + + +# Output Options + +complete -c http -s p -l print -x -d 'String specifying what the output should contain' +complete -c http -s h -l headers -d 'Print only the response headers' +complete -c http -s b -l body -d 'Print only the response body' +complete -c http -s v -l verbose -d 'Print the whole request as well as the response' +complete -c http -l all -d 'Show any intermediary requests/responses' +complete -c http -s P -l history-print -x -d 'The same as --print but applies only to intermediary requests/responses' +complete -c http -s S -l stream -d 'Always stream the response body by line' +complete -c http -s o -l output -F -d 'Save output to FILE' +complete -c http -s d -l download -d 'Download a file' +complete -c http -s c -l continue -d 'Resume an interrupted download' +complete -c http -s q -l quiet -d 'Do not print to stdout or stderr' + + +# Sessions + +complete -c http -l session -F -d 'Create, or reuse and update a session' +complete -c http -l session-read-only -F -d 'Create or read a session without updating it' + + +# Authentication + +complete -c http -s a -l auth -x -d 'Username and password for authentication' +complete -c http -s A -l auth-type -xa "(__fish_httpie_auth_types)" -d 'The authentication mechanism to be used' +complete -c http -l ignore-netrc -d 'Ignore credentials from .netrc' + + +# Network + +complete -c http -l offline -d 'Build the request and print it but don\'t actually send it' +complete -c http -l proxy -x -d 'String mapping protocol to the URL of the proxy' +complete -c http -s F -l follow -d 'Follow 30x Location redirects' +complete -c http -l max-redirects -x -d 'Set maximum number of redirects' +complete -c http -l max-headers -x -d 'Maximum number of response headers to be read before giving up' +complete -c http -l timeout -x -d 'Connection timeout in seconds' +complete -c http -l check-status -d 'Error with non-200 HTTP status code' +complete -c http -l path-as-is -d 'Bypass dot segment URL squashing' +complete -c http -l chunked -d '' + + +# SSL + +complete -c http -l verify -xa "(__fish_http_verify_options)" -d 'Enable/disable cert verification' +complete -c http -l ssl -x -d 'Desired protocol version to use' +complete -c http -l ciphers -x -d 'String in the OpenSSL cipher list format' +complete -c http -l cert -F -d 'Client side SSL certificate' +complete -c http -l cert-key -F -d 'Private key to use with SSL' + + +# Troubleshooting + +complete -c http -s I -l ignore-stdin -d 'Do not attempt to read stdin' +complete -c http -l help -d 'Show help' +complete -c http -l version -d 'Show version' +complete -c http -l traceback -d 'Prints exception traceback should one occur' +complete -c http -l default-scheme -x -d 'The default scheme to use' +complete -c http -l debug -d 'Show debugging output'