Tree-sitter is currently used for syntax highlighting in supported editors.
We use a non-hermetic tree-sitter invocation, so it must be installed locally. To install tree-sitter, run:
npm install -g tree-sitter-cli
To build and test changes to the grammar using Bazel, provide specific flags to
allow the build to access the system tree-sitter binary and environment.
bazel test //utils/tree_sitter:string_tests \
--strategy=Genrule=local \
--action_env=PATH \
--action_env=HOME
--strategy=Genrule=local: Disables sandboxing for the genrule that runs
tree-sitter generate, allowing it to find the system-installed binary.--action_env=PATH: Passes your current PATH to the build actions,
ensuring tree-sitter can be found. If tree-sitter is not in your default
PATH, you can specify it explicitly, for example:
--action_env=PATH=/path/to/tree-sitter/bin:$PATH.--action_env=HOME: Passes your HOME environment variable, which
tree-sitter may need to locate its configuration or cache../helix.shTODO