aboutsummaryrefslogtreecommitdiffstats
path: root/queries
diff options
context:
space:
mode:
authorSergio Alejandro Vargas <savargasqu+git@unal.edu.co>2021-07-08 13:16:34 -0500
committerThomas Vigouroux <tomvig38@gmail.com>2021-07-08 23:37:38 +0200
commita2b9b9bd9d21d6309c33dc746d2b5671bb3b8aa7 (patch)
tree0b5df761944cd24a8b610f15eabf5f339a6cdd2d /queries
parenthighlights(zig): highlight true,false (diff)
downloadnvim-treesitter-a2b9b9bd9d21d6309c33dc746d2b5671bb3b8aa7.tar
nvim-treesitter-a2b9b9bd9d21d6309c33dc746d2b5671bb3b8aa7.tar.gz
nvim-treesitter-a2b9b9bd9d21d6309c33dc746d2b5671bb3b8aa7.tar.bz2
nvim-treesitter-a2b9b9bd9d21d6309c33dc746d2b5671bb3b8aa7.tar.lz
nvim-treesitter-a2b9b9bd9d21d6309c33dc746d2b5671bb3b8aa7.tar.xz
nvim-treesitter-a2b9b9bd9d21d6309c33dc746d2b5671bb3b8aa7.tar.zst
nvim-treesitter-a2b9b9bd9d21d6309c33dc746d2b5671bb3b8aa7.zip
highlights(rust): Reorder macro queries
Derive macros have to be defined before attribute macros to highlight them properly. See #570
Diffstat (limited to 'queries')
-rw-r--r--queries/rust/highlights.scm16
1 files changed, 10 insertions, 6 deletions
diff --git a/queries/rust/highlights.scm b/queries/rust/highlights.scm
index 6258c2fa8..446ba1c76 100644
--- a/queries/rust/highlights.scm
+++ b/queries/rust/highlights.scm
@@ -79,25 +79,29 @@
name: (identifier) @constant)
(#match? @constant "^[A-Z]"))
-;; Assume that all `#[derive]` arguments are types
+;; Macro definitions
+"$" @function.macro
+(metavariable) @function.macro
+
+;; Attribute macros
+(meta_item (identifier) @function.macro)
+(meta_item (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"))
+;; Function-like macros
(macro_invocation
macro: (identifier) @function.macro)
(macro_invocation
macro: (scoped_identifier
(identifier) @function.macro .))
-(metavariable) @function.macro
-(meta_item (identifier) @function.macro)
-(meta_item (scoped_identifier (identifier) @function.macro .))
-"$" @function.macro
-
; Function definitions
(function_item (identifier) @function)