Contributors are very welcome! No contribution is too small and all contributions are valued.
Some suggestions to get started:
- You can look at the good first issue label on the issue tracker.
- Help with packaging on various distributions needed!
- To use print debugging to the Helix log file, you must:
- Print using
log::info!, warn!, or error!. (log::info!("helix!"))
- Pass the appropriate verbosity level option for the desired log level. (
hx -v <file> for info, more vs for higher severity inclusive)
- If your preferred language is missing, integrating a tree-sitter grammar for
it and defining syntax highlight queries for it is straight forward and
doesn't require much knowledge of the internals.
We provide an architecture.md that should give you
a good overview of the internals.
Some parts of the book are autogenerated from the code itself,
like the list of :commands and supported languages. To generate these
files, run
inside the project. We use xtask as an ad-hoc task runner and
thus do not require any dependencies other than cargo (You don't have
to cargo install anything either).
Integration tests for helix-term can be run with cargo integration-test. Code
contributors are strongly encouraged to write integration tests for their code.
Existing tests can be used as examples. Helpers can be found in
helpers.rs