aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--queries/rust/folds.scm24
-rw-r--r--queries/rust/highlights.scm4
-rw-r--r--queries/rust/injections.scm7
3 files changed, 35 insertions, 0 deletions
diff --git a/queries/rust/folds.scm b/queries/rust/folds.scm
new file mode 100644
index 000000000..a0c8273da
--- /dev/null
+++ b/queries/rust/folds.scm
@@ -0,0 +1,24 @@
+[(function_item)
+ (struct_item)
+ (enum_item)
+ (impl_item)
+ (type_item)
+ (union_item)
+
+ (use_declaration)
+ (let_declaration)
+
+ (loop_expression)
+ (for_expression)
+ (while_expression)
+ (if_expression)
+ (if_let_expression)
+ (match_expression)
+ (call_expression)
+
+ (macro_definition)
+ (macro_invocation)
+
+ (attribute_item)
+]
+@fold
diff --git a/queries/rust/highlights.scm b/queries/rust/highlights.scm
index 9daee93af..d1ce32de0 100644
--- a/queries/rust/highlights.scm
+++ b/queries/rust/highlights.scm
@@ -86,6 +86,10 @@
macro: (scoped_identifier
(identifier) @function.macro .))
+(metavariable) @function.macro
+
+"$" @function.macro
+
; Function definitions
(function_item (identifier) @function)
diff --git a/queries/rust/injections.scm b/queries/rust/injections.scm
new file mode 100644
index 000000000..93cd0a698
--- /dev/null
+++ b/queries/rust/injections.scm
@@ -0,0 +1,7 @@
+(macro_invocation
+ (token_tree) @rust)
+
+(macro_definition
+ (macro_rule
+ left: (token_tree_pattern) @rust
+ right: (token_tree) @rust))