* Refactor tests to use a text-based standard output. (#1318)
* Implement new style `--help` (#1316)
* Implement man page generation (#1317)
* Implement rich progress bars. (#1324)
* Man page deployment & isolation. (#1325)
* Remove all unsorted usages in the CLI docs
* Implement isolated mode for man page generation
* Add a CI job for autogenerated files
* Distribute man pages through PyPI
* Pin the date for man pages. (#1326)
* Hide suppressed arguments from --help/man pages (#1329)
* Change download spinner to line (#1328)
* Regenerate autogenerated files when pushed against to master. (#1339)
* Highlight options (#1340)
* Additional man page enhancements (#1341)
* Group options by the parent category & highlight -o/--o
* Display (and underline) the METAVAR on man pages.
* Make help message processing more robust (#1342)
* Inherit `help` from `short_help`
* Don't mirror short_help directly.
* Fixup the serialization
* Use `pager` and `man` on `--manual` when applicable (#1343)
* Run `man $program` on --manual
* Page the output of `--manual` for systems that lack man pages
* Improvements over progress bars (separate bar, status line, etc.) (#1346)
* Redesign the --help layout.
* Make our usage of rich compatible with 9.10.0
* Add `HTTPIE_NO_MAN_PAGES`
* Make tests also patch os.get_terminal_size
* Generate CLI spec from HTTPie & Man Page Hook (#1354)
* Generate CLI spec from HTTPie & add man page hook
* Use the full command space for the option headers
* change behavior of '--quiet' to silence errors and warnings when passed twice together with '--check-status'
* Apply suggestions from code review
Co-authored-by: Jakub Roztocil <jakub@roztocil.co>
* remove header, trailing comma, rename constant and variable
* fix flags for tests
* [skip ci] Update ticket number
Co-authored-by: Dave <d.kreeft@outlook.com>
Co-authored-by: Jakub Roztocil <jakub@roztocil.co>
Co-authored-by: Mickaël Schoentgen <contact@tiger-222.fr>
* Fix encoding error with non-prettified encoded responses
Removed `--format-option response.as` an promote `--response-as`: using
the format option would be misleading as it is now also used by non-prettified
responses.
* Encoding refactoring
* split --response-as into --response-mime and --response-charset
* add support for Content-Type charset for requests printed to terminal
* add support charset detection for requests printed to terminal without a Content-Type charset
* etc.
* `test_unicode.py` → `test_encoding.py`
* Drop sequence length check
* Clean-up tests
* [skip ci] Tweaks
* Use the compatible release clause for `charset_normalizer` requirement
Cf. https://www.python.org/dev/peps/pep-0440/#version-specifiers
* Clean-up
* Partially revert d52a4833e4
* Changelog
* Tweak tests
* [skip ci] Better test name
* Cleanup tests and add request body charset detection
* More test suite cleanups
* Cleanup
* Fix code style in test
* Improve detect_encoding() docstring
* Uniformize pytest.mark.parametrize() calls
* [skip ci] Comment out TODOs (will be tackled in a specific PR)
Co-authored-by: Jakub Roztocil <jakub@roztocil.co>
* Allow to override the response `Content-Type` from options
* Apply suggestions from code review
Co-authored-by: Jakub Roztocil <jakub@roztocil.co>
* Rename the option from `--response.content-type` to `--response-as`
* Update CHANGELOG.md
Co-authored-by: Jakub Roztocil <jakub@roztocil.co>
* Add --raw to allow specifying the raw request body without extra processing
As an alternative to `stdin`.
Co-authored-by: Elena Lape <elapinskaite@gmail.com>
Co-authored-by: Jakub Roztocil <jakub@roztocil.co>
* Update README.rst
Co-authored-by: Jakub Roztocil <jakub@roztocil.co>
* Update README.rst
Co-authored-by: Jakub Roztocil <jakub@roztocil.co>
* Fix default HTTP method on empty data
Co-authored-by: Elena Lape <elapinskaite@gmail.com>
Co-authored-by: Jakub Roztocil <jakub@roztocil.co>
Some JSON based formats like JSON Home Documents[1] don't
use a '+json' suffix, but simply contain json in their
MIME type. Also, some servers might use (outdated)
types like 'application/x-json'.
The JSON formatter can already handle those cases,
but the highlighter was ignoring them.
This commit will let the highlighter choose the JSON
lexer if no other lexer could be found and the MIME subtype
contains 'json'
[1] http://tools.ietf.org/html/draft-nottingham-json-home-03