From 3278f10217348ed6d905c47cc428c6c91e6c981f Mon Sep 17 00:00:00 2001 From: Danielkonge Date: Sat, 8 Jun 2024 13:35:50 +0200 Subject: [PATCH] Add missing rust query Note that the current neovim treesitter implementation only captures anything inside a rust macro via token_tree, so we need this new query to capture . --- queries/rust/rainbow-delimiters.scm | 4 ++++ test/highlight/rust/regular.rs | 15 ++++++++++++++- 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/queries/rust/rainbow-delimiters.scm b/queries/rust/rainbow-delimiters.scm index 6c5d9023..04eee038 100644 --- a/queries/rust/rainbow-delimiters.scm +++ b/queries/rust/rainbow-delimiters.scm @@ -62,6 +62,10 @@ "[" @delimiter "]" @delimiter @sentinel) @container +(token_tree + "<" @delimiter + ">" @delimiter @sentinel) @container + (token_tree_pattern "(" @delimiter ")" @delimiter @sentinel) @container diff --git a/test/highlight/rust/regular.rs b/test/highlight/rust/regular.rs index 4ee29cfe..ad0cb48c 100644 --- a/test/highlight/rust/regular.rs +++ b/test/highlight/rust/regular.rs @@ -17,6 +17,16 @@ union TestUnion { val_2: u32, } +struct Generic { + t: T, +} + +impl Generic { + fn new(t: T) -> Generic { + Generic { t } + } +} + #[derive(Default, Debug)] struct TupleStruct(u32); @@ -131,7 +141,10 @@ fn main() { let test_tuple: (u32, u32) = (0, 1); tuple_param(test_tuple); - let a = >::from(1u8); + let bracketed_type = >::from(1u8); + + let generic = Generic::::new(1); + let generic_in_macro = vec![Generic::::new(1)]; } use level_1::{