From 2935e9da197442620578e07d87cd0607ae4145f1 Mon Sep 17 00:00:00 2001 From: Poliorcetics Date: Sat, 29 Oct 2022 17:36:26 +0200 Subject: [PATCH] feat: Categorize Rust's keywords using more specific scopes (#4510) --- runtime/queries/rust/highlights.scm | 40 +++++++++++++++++++---------- 1 file changed, 26 insertions(+), 14 deletions(-) diff --git a/runtime/queries/rust/highlights.scm b/runtime/queries/rust/highlights.scm index 81f05f7a..0afb8388 100644 --- a/runtime/queries/rust/highlights.scm +++ b/runtime/queries/rust/highlights.scm @@ -111,23 +111,31 @@ ; ------- (for_expression - "for" @keyword.control) + "for" @keyword.control.repeat) ((identifier) @keyword.control (#match? @keyword.control "^yield$")) -[ - "while" - "loop" - "in" - "break" - "continue" +"in" @keyword.control + +[ "match" "if" "else" +] @keyword.control.conditional + +[ + "while" + "loop" +] @keyword.control.repeat + +[ + "break" + "continue" + "return" "await" -] @keyword.control +] @keyword.control.return "use" @keyword.control.import (mod_item "mod" @keyword.control.import !body) @@ -143,24 +151,28 @@ "mod" "extern" - "struct" - "enum" "impl" "where" "trait" "for" - "type" - "union" "unsafe" "default" "macro_rules!" - "let" - "async" ] @keyword +[ + "struct" + "enum" + "union" + + "type" +] @keyword.storage.type + +"let" @keyword.storage + "fn" @keyword.function (mutable_specifier) @keyword.storage.modifier.mut