From dd89cafd2bc5ddbb201b6b1ea72ecd11acbe4e31 Mon Sep 17 00:00:00 2001 From: Christian Clason Date: Sat, 5 Nov 2022 10:31:02 +0100 Subject: fix(rust): update queries to breaking changes * `if_let_expression` was removed in https://github.com/tree-sitter/tree-sitter-rust/pull/152 * `attributes` were reworked in https://github.com/tree-sitter/tree-sitter-rust/pull/163 (no more `meta-item`) --- queries/rust/folds.scm | 1 - queries/rust/highlights.scm | 12 ++++++------ queries/rust/locals.scm | 3 +-- 3 files changed, 7 insertions(+), 9 deletions(-) (limited to 'queries/rust') diff --git a/queries/rust/folds.scm b/queries/rust/folds.scm index d83351cb..97cf2eaf 100644 --- a/queries/rust/folds.scm +++ b/queries/rust/folds.scm @@ -14,7 +14,6 @@ (for_expression) (while_expression) (if_expression) - (if_let_expression) (match_expression) (call_expression) diff --git a/queries/rust/highlights.scm b/queries/rust/highlights.scm index c08912be..3df682c3 100644 --- a/queries/rust/highlights.scm +++ b/queries/rust/highlights.scm @@ -121,14 +121,14 @@ (macro_definition "macro_rules!" @function.macro) ;; Attribute macros -(attribute_item (meta_item (identifier) @function.macro)) -(meta_item (scoped_identifier (identifier) @function.macro .)) +(attribute_item (attribute (identifier) @function.macro)) +(attribute (scoped_identifier (identifier) @function.macro .)) ;; Derive macros (assume all arguments are types) -(meta_item - (identifier) @_name - arguments: (meta_arguments (meta_item (identifier) @type)) - (#eq? @_name "derive")) +; (attribute +; (identifier) @_name +; arguments: (attribute (attribute (identifier) @type)) +; (#eq? @_name "derive")) ;; Function-like macros (macro_invocation diff --git a/queries/rust/locals.scm b/queries/rust/locals.scm index 010bf4af..1cefcabf 100644 --- a/queries/rust/locals.scm +++ b/queries/rust/locals.scm @@ -34,7 +34,7 @@ (tuple_pattern (identifier) @definition.var) -(if_let_expression +(let_condition pattern: (_ (identifier) @definition.var)) @@ -93,7 +93,6 @@ (for_expression) (loop_expression) (if_expression) - (if_let_expression) (match_expression) (match_arm) -- cgit v1.2.3 From 8c7ffaf66beb16cc22c2cf87dc07bf7776a7b2f9 Mon Sep 17 00:00:00 2001 From: Cormac Relf Date: Tue, 18 Oct 2022 13:02:22 +0200 Subject: highlights(rust): panic!() and assert!() as @exception --- queries/rust/highlights.scm | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'queries/rust') diff --git a/queries/rust/highlights.scm b/queries/rust/highlights.scm index 3df682c3..01a62773 100644 --- a/queries/rust/highlights.scm +++ b/queries/rust/highlights.scm @@ -273,3 +273,8 @@ (inner_attribute_item ["!" "#"] @punctuation.special) (macro_invocation "!" @function.macro) (empty_type "!" @type.builtin) + +(macro_invocation macro: (identifier) @_ident @exception "!" @exception + (#eq? @_ident "panic")) +(macro_invocation macro: (identifier) @_ident @exception "!" @exception + (#contains? @_ident "assert")) -- cgit v1.2.3 From 15d3849dcfc210e04af65809360b9bc9c50ee383 Mon Sep 17 00:00:00 2001 From: Cormac Relf Date: Tue, 18 Oct 2022 11:44:54 +0200 Subject: highlights(rust): highlight Type in Type::Associated as @type instead of @namespace --- queries/rust/highlights.scm | 3 +++ 1 file changed, 3 insertions(+) (limited to 'queries/rust') diff --git a/queries/rust/highlights.scm b/queries/rust/highlights.scm index 01a62773..06366df3 100644 --- a/queries/rust/highlights.scm +++ b/queries/rust/highlights.scm @@ -71,6 +71,9 @@ name: (identifier) @namespace)) (scoped_type_identifier path: (identifier) @namespace) +(scoped_type_identifier + path: (identifier) @type + (#lua-match? @type "^[A-Z]")) (scoped_type_identifier (scoped_identifier name: (identifier) @namespace)) -- cgit v1.2.3 From 1379119c31680c353c5dda7dc25b4d3aadad5c5f Mon Sep 17 00:00:00 2001 From: Cormac Relf Date: Tue, 18 Oct 2022 12:10:13 +0200 Subject: highlights(rust): "for" @keyword everywhere else (for<'a>, HRTBs) --- queries/rust/highlights.scm | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) (limited to 'queries/rust') diff --git a/queries/rust/highlights.scm b/queries/rust/highlights.scm index 06366df3..6311e185 100644 --- a/queries/rust/highlights.scm +++ b/queries/rust/highlights.scm @@ -219,8 +219,7 @@ "while" ] @repeat -(impl_item - "for" @keyword) +"for" @keyword (for_expression "for" @repeat) -- cgit v1.2.3 From 68c35338520168202ee9aed3cf081ad82b988144 Mon Sep 17 00:00:00 2001 From: Cormac Relf Date: Tue, 18 Oct 2022 12:11:25 +0200 Subject: highlights(rust): ["<" ">"] @punctuation.bracket in bracketed_type, for_lifetimes --- queries/rust/highlights.scm | 2 ++ 1 file changed, 2 insertions(+) (limited to 'queries/rust') diff --git a/queries/rust/highlights.scm b/queries/rust/highlights.scm index 6311e185..5eede6a8 100644 --- a/queries/rust/highlights.scm +++ b/queries/rust/highlights.scm @@ -268,6 +268,8 @@ (closure_parameters "|" @punctuation.bracket) (type_arguments ["<" ">"] @punctuation.bracket) (type_parameters ["<" ">"] @punctuation.bracket) +(bracketed_type ["<" ">"] @punctuation.bracket) +(for_lifetimes ["<" ">"] @punctuation.bracket) ["," "." ":" "::" ";"] @punctuation.delimiter -- cgit v1.2.3 From 00add7e4b497f19fcdd335778f0e39d658543c9f Mon Sep 17 00:00:00 2001 From: Cormac Relf Date: Thu, 20 Oct 2022 18:32:23 +0200 Subject: highlights(rust): pub(self/super/crate), use super::thing, etc --- queries/rust/highlights.scm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'queries/rust') diff --git a/queries/rust/highlights.scm b/queries/rust/highlights.scm index 5eede6a8..779309f6 100644 --- a/queries/rust/highlights.scm +++ b/queries/rust/highlights.scm @@ -204,7 +204,8 @@ (use_list (self) @keyword) (scoped_use_list (self) @keyword) -(scoped_identifier (self) @keyword) +(scoped_identifier [(crate) (super) (self)] @keyword) +(visibility_modifier [(crate) (super) (self)] @keyword) [ "else" -- cgit v1.2.3 From 00b42ac6d4c852d34619eaf2ea822266588d75e3 Mon Sep 17 00:00:00 2001 From: Trard Date: Sat, 15 Oct 2022 15:47:15 +0300 Subject: rust: use @type.qualifier and @storageclass --- queries/rust/highlights.scm | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) (limited to 'queries/rust') diff --git a/queries/rust/highlights.scm b/queries/rust/highlights.scm index 779309f6..c7cd1174 100644 --- a/queries/rust/highlights.scm +++ b/queries/rust/highlights.scm @@ -25,7 +25,6 @@ (self) @variable.builtin -(lifetime ["'" (identifier)] @label) (loop_label ["'" (identifier)] @label) @@ -172,7 +171,6 @@ [ "async" "await" - "const" "default" "dyn" "enum" @@ -182,17 +180,26 @@ "match" "move" "pub" - "ref" - "static" "struct" "trait" "type" "union" "unsafe" "where" - (mutable_specifier) ] @keyword +[ + "ref" + (mutable_specifier) +] @type.qualifier + +[ + "const" + "static" +] @storageclass + +(lifetime ["'" (identifier)] @storageclass.lifetime) + "fn" @keyword.function [ "return" -- cgit v1.2.3