3Thank you for considering to contribute to `bat`!
7## Add an entry to the changelog
9If your contribution changes the behavior of `bat` (as opposed to a typo-fix
10in the documentation), please update the [`CHANGELOG.md`](CHANGELOG.md) file
11and describe your changes. This makes the release process much easier and
12therefore helps to get your changes into a new `bat` release faster.
14The top of the `CHANGELOG` contains a *"unreleased"* section with a few
15subsections (Features, Bugfixes, …). Please add your entry to the subsection
16that best describes your change.
18Entries follow this format:
20- Short description of what has been changed, see #123 (@user)
22Here, `#123` is the number of the original issue and/or your pull request.
23Please replace `@user` by your GitHub username.
28Please check out the [Development](https://github.com/sharkdp/bat#development)
32## Adding a new feature
34Please consider opening a
35[feature request ticket](https://github.com/sharkdp/bat/issues/new?assignees=&labels=feature-request&template=feature_request.md)
36first in order to give us a chance to discuss the feature first.
39## Adding new syntaxes/languages or themes
41Before you make a pull request that adds a new syntax or theme, please read
42the [Customization](https://github.com/sharkdp/bat#customization) section
45If you really think that a particular syntax or theme should be added for all
46users, please read the corresponding
47[documentation](https://github.com/sharkdp/bat/blob/master/doc/assets.md)
53You are strongly encouraged to add regression tests. Regression tests are great,
54not least because they:
56* ensure that your contribution will never completely stop working,
58* makes code review easier, because it becomes very clear what the code is
61For functional changes, you most likely want to add a test to
62[`tests/integration_tests.rs`](https://github.com/sharkdp/bat/blob/master/tests/integration_tests.rs).
63Look at existing tests to know how to write a new test. In short, you will
64invoke the `bat` binary with a certain set of arguments, and then assert on
67To learn how to write regression tests for theme and syntax changes, read the
69tests](https://github.com/sharkdp/bat/blob/master/doc/assets.md#syntax-tests)
70section in `assets.md`.
keysesc to close
- j k
- move down, up
- enter
- open
- esc
- back, or up a level
- 1 2 3 4
- readme, files, commits, refs
- /
- filter
- y
- copy the clone command
- c
- compare the chosen commit with another (or shift-click both)
- ?
- show or hide this list