Unnamed repository; edit this file 'description' to name the repository.
| -rw-r--r-- | book/src/themes.md | 3 | ||||
| -rw-r--r-- | runtime/queries/rust/highlights.scm | 19 | ||||
| -rw-r--r-- | runtime/queries/rust/locals.scm | 18 |
3 files changed, 38 insertions, 2 deletions
diff --git a/book/src/themes.md b/book/src/themes.md index dea1018c..dbc49df3 100644 --- a/book/src/themes.md +++ b/book/src/themes.md @@ -205,8 +205,11 @@ We use a similar set of scopes as - `unused` - Unused variables and patterns, e.g. `_` and `_foo` - `variable` - Variables + - `mutable` - Mutable variables (e.g. marked with `mut` in Rust) - `builtin` - Reserved language variables (`self`, `this`, `super`, etc.) + - `mutable` - Mutable language varaibles (e.g. `mut self` in Rust) - `parameter` - Function parameters + - `mutable` - Mutable function parameters (e.g. marked with `mut` in Rust) - `other` - `member` - Fields of composite data types (e.g. structs, unions) - `private` - Private fields that use a unique syntax (currently just ECMAScript-based languages) diff --git a/runtime/queries/rust/highlights.scm b/runtime/queries/rust/highlights.scm index cc8380cb..147c80ba 100644 --- a/runtime/queries/rust/highlights.scm +++ b/runtime/queries/rust/highlights.scm @@ -208,6 +208,23 @@ (closure_parameters (identifier) @variable.parameter) +; Mutable variables + +(let_declaration + (mutable_specifier) + pattern: (identifier) @variable.mutable) +(mut_pattern + (mutable_specifier) + (identifier) @variable.mutable) + +(parameter + (mutable_specifier) + pattern: (identifier) @variable.parameter.mutable) + +(self_parameter + (mutable_specifier) + (self) @variable.builtin.mutable) + ; ------- ; Keywords ; ------- @@ -287,8 +304,6 @@ "dyn" ] @keyword.storage.modifier -; TODO: variable.mut to highlight mutable identifiers via locals.scm - ; --- ; Remaining Paths ; --- diff --git a/runtime/queries/rust/locals.scm b/runtime/queries/rust/locals.scm index b8b918de..d745c2b4 100644 --- a/runtime/queries/rust/locals.scm +++ b/runtime/queries/rust/locals.scm @@ -21,7 +21,25 @@ (closure_parameters (identifier) @local.definition.variable.parameter) +; Mutable variables + +(let_declaration + (mutable_specifier) + pattern: (identifier) @local.definition.variable.mutable) +(mut_pattern + (mutable_specifier) + (identifier) @local.definition.variable.mutable) + +(parameter + (mutable_specifier) + pattern: (identifier) @local.definition.variable.parameter.mutable) + +(self_parameter + (mutable_specifier) + (self) @local.definition.variable.builtin.mutable) + ; References +(self) @local.reference (identifier) @local.reference ; lifetimes / labels (lifetime (identifier) @label) |