- Rust stable toolchain
cargo build
cargo build --releasecargo test --all-targetsIntegration tests use fixture files under tests/fixtures/ (one sample source file per supported language). When adding a new language, add a corresponding tests/fixtures/sample.<ext> that covers the symbol kinds your queries target.
cargo fmt --check
cargo clippy --all-targets --all-features -- -D warningsFormat your code before submitting:
cargo fmt- Add the
tree-sitter-<lang>crate toCargo.toml. - Create
src/lang/<lang>.rsimplementing the language support module. - Register the language in
src/core/language.rs. - Add query files under
queries/<lang>/symbols.scmandqueries/<lang>/references.scm.
- Keep PRs focused — one feature or fix per PR.
- CI must pass (fmt, clippy, tests on Linux / macOS / Windows) before merge.
By contributing, you agree your changes will be licensed under MIT.