diff options
author | Anton Romanov | 2022-06-14 17:35:36 +0000 |
---|---|---|
committer | GitHub | 2022-06-14 17:35:36 +0000 |
commit | 7983c71752e2443266ecc65581f3a980696cc294 (patch) | |
tree | 04f145b2f0c2e2ccb0d5213f169110e2937c075b | |
parent | cdeab337cdba5265dcc72070f2b2e4fd11724670 (diff) |
Introduce storage_class highlight scope (#2731)
-rw-r--r-- | book/src/themes.md | 1 | ||||
-rw-r--r-- | runtime/queries/c/highlights.scm | 4 | ||||
-rw-r--r-- | runtime/queries/rust/highlights.scm | 18 |
3 files changed, 15 insertions, 8 deletions
diff --git a/book/src/themes.md b/book/src/themes.md index 7562b205..4c0eda22 100644 --- a/book/src/themes.md +++ b/book/src/themes.md @@ -151,6 +151,7 @@ We use a similar set of scopes as - `operator` - `or`, `in` - `directive` - Preprocessor directives (`#if` in C) - `function` - `fn`, `func` + - `storage` - Keywords that affect the storage of a variable, function or data structure `static`, `mut`, `const`, `ref` - `operator` - `||`, `+=`, `>` diff --git a/runtime/queries/c/highlights.scm b/runtime/queries/c/highlights.scm index 918f3f66..1263cff6 100644 --- a/runtime/queries/c/highlights.scm +++ b/runtime/queries/c/highlights.scm @@ -1,8 +1,9 @@ +(storage_class_specifier) @keyword.storage + "goto" @keyword "register" @keyword "break" @keyword "case" @keyword -"const" @keyword "continue" @keyword "default" @keyword "do" @keyword @@ -14,7 +15,6 @@ "inline" @keyword "return" @keyword "sizeof" @keyword -"static" @keyword "struct" @keyword "switch" @keyword "typedef" @keyword diff --git a/runtime/queries/rust/highlights.scm b/runtime/queries/rust/highlights.scm index 26496c66..99cb8381 100644 --- a/runtime/queries/rust/highlights.scm +++ b/runtime/queries/rust/highlights.scm @@ -156,16 +156,22 @@ "macro_rules!" "let" - "ref" - "move" - "dyn" - "static" - "const" "async" ] @keyword -(mutable_specifier) @keyword.mut +(mutable_specifier) @keyword.storage.modifier.mut + +(reference_type "&" @keyword.storage.modifier.ref) +(self_parameter "&" @keyword.storage.modifier.ref) + +[ + "static" + "const" + "ref" + "move" + "dyn" +] @keyword.storage.modifier ; TODO: variable.mut to highlight mutable identifiers via locals.scm |