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!
, orerror!
. (log::info!("helix!")
) - Pass the appropriate verbosity level option for the desired log level. (
hx -v <file>
for info, morev
s for higher severity inclusive)
- Print using
- 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
cargo xtask docgen
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][../helix-term/tests/test/helpers.rs].