Rust: highlight uppercase identifiers in match arms as constant (#1940)

* Rust: highlight uppercase identifiers in match arms as constant

Closes https://github.com/nvim-treesitter/nvim-treesitter/issues/1928

* Highlight builtins
This commit is contained in:
Santos Gallegos 2021-10-30 12:09:54 -05:00 committed by GitHub
parent d53b04189e
commit bd13991050
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -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