aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--queries/rust/highlights.scm15
1 files changed, 15 insertions, 0 deletions
diff --git a/queries/rust/highlights.scm b/queries/rust/highlights.scm
index 87c65dffa..af8e6e5aa 100644
--- a/queries/rust/highlights.scm
+++ b/queries/rust/highlights.scm
@@ -5,6 +5,8 @@
; Identifier conventions
(identifier) @variable
+((identifier) @type
+ (#match? @type "^[A-Z]"))
(const_item
name: (identifier) @constant)
; Assume all-caps names are constants
@@ -82,6 +84,19 @@
name: (identifier) @constant)
(#match? @constant "^[A-Z]"))
+; Assume uppercase names in a match arm are constants.
+((match_arm
+ pattern: (match_pattern (identifier) @constant))
+ (#match? @constant "^[A-Z]"))
+((match_arm
+ pattern: (match_pattern
+ (scoped_identifier
+ name: (identifier) @constant)))
+ (#match? @constant "^[A-Z]"))
+
+((identifier) @constant.builtin
+ (#any-of? @constant.builtin "Some" "None" "Ok" "Err"))
+
;; Macro definitions
"$" @function.macro
(metavariable) @function.macro