Bump tree-sitter to 0.24.x

pull/795/head
Wilfred Hughes 2024-12-19 22:22:12 +07:00
parent 527b701593
commit 943ea4b613
3 changed files with 20 additions and 6 deletions

12
Cargo.lock generated

@ -245,6 +245,7 @@ dependencies = [
"serde",
"serde_json",
"smallvec",
"streaming-iterator",
"strsim",
"strum",
"tree-sitter",
@ -898,6 +899,12 @@ version = "1.13.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67"
[[package]]
name = "streaming-iterator"
version = "0.1.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2b2231b7c3057d5e4ad0156fb3dc807d900806020c5ffa3ee6ff2c8c76fb8520"
[[package]]
name = "strsim"
version = "0.10.0"
@ -983,13 +990,14 @@ dependencies = [
[[package]]
name = "tree-sitter"
version = "0.23.2"
version = "0.24.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0203df02a3b6dd63575cc1d6e609edc2181c9a11867a271b25cfd2abff3ec5ca"
checksum = "8ac95b18f0f727aaaa012bd5179a1916706ee3ed071920fdbda738750b0c0bf5"
dependencies = [
"cc",
"regex",
"regex-syntax",
"streaming-iterator",
"tree-sitter-language",
]

@ -41,7 +41,7 @@ typed-arena = "2.0.2"
rustc-hash = "2.0.0"
strsim = "0.10.0"
lazy_static = "1.4.0"
tree-sitter = "0.23.0"
tree-sitter = "0.24.0"
libc = "0.2.108"
log = "0.4.14"
pretty_env_logger = "0.5.0"
@ -77,6 +77,7 @@ serde_json = "1.0"
line-numbers = "0.3.0"
smallvec = "1.13.2"
tree-sitter-language = "0.1.3"
streaming-iterator = "0.1.9"
[dev-dependencies]
# assert_cmd 2.0.10 requires predicates 3.

@ -3,6 +3,7 @@
use std::collections::HashSet;
use line_numbers::LinePositions;
use streaming_iterator::StreamingIterator as _;
use tree_sitter as ts;
use typed_arena::Arena;
@ -1247,7 +1248,10 @@ pub(crate) fn parse_subtrees(
for language in &config.sub_languages {
let mut query_cursor = tree_sitter::QueryCursor::new();
for m in query_cursor.matches(&language.query, tree.root_node(), src.as_bytes()) {
let mut query_matches =
query_cursor.matches(&language.query, tree.root_node(), src.as_bytes());
while let Some(m) = query_matches.next() {
let node = m.nodes_for_capture_index(0).next().unwrap();
if node.byte_range().is_empty() {
continue;
@ -1337,13 +1341,14 @@ fn tree_highlights(
}
let mut qc = ts::QueryCursor::new();
let q_matches = qc.matches(&config.highlight_query, tree.root_node(), src.as_bytes());
let mut q_matches = qc.matches(&config.highlight_query, tree.root_node(), src.as_bytes());
let mut comment_ids = HashSet::new();
let mut keyword_ids = HashSet::new();
let mut string_ids = HashSet::new();
let mut type_ids = HashSet::new();
for m in q_matches {
while let Some(m) = q_matches.next() {
for c in m.captures {
if comment_capture_ids.contains(&c.index) {
comment_ids.insert(c.node.id());