mirror of
https://github.com/helix-editor/tree-house.git
synced 2025-10-06 00:12:46 +02:00
130363bb88274225564de04fa84da58ab088673e
This fixes a case that pops up with some specific CSS highlights which causes the `active_highlights` stack to become out of order. The odd highlight is this: "#" @punctuation ((color_value) "#") @string.special (color_value) @string.special The `#` node is fought over by the first two patterns. Requiring that the pattern matches `#` in the second pattern causes tree-sitter to finish its capture after the first pattern, so we capture the child node `{Node # 9..10}` first and then `{Node color_value 9..13}` - reversed of the normal ordering. In this case we need to maintain the ordering of `active_highlights` by `Vec::insert`ing into the correct position.
tree-house
This repository contains a number of crates used by the Helix editor for integration with the tree-sitter C library.
bindings/
contains thetree-house-bindings
crate which provides Rust bindings over the C library.highlighter/
contains thetree-house
crate which exposes a robust highlighter and query iterator for working across [injections].skidder/
contains theskidder
crate which exposes utilities for building a package repository for tree-sitter grammars.cli/
contains theskidder-cli
crate which wrapsskidder
in a command line interface.
Languages
Rust
98.4%
Nix
0.9%
Shell
0.7%