From 8d790157480fd237a3469a4a1e34de4697e5a1f8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matou=C5=A1=20Dzivjak?= Date: Sat, 26 Nov 2022 09:11:02 +0100 Subject: [PATCH] feat(theming): separate highlight for function declarations Add separate highlighting scope for function (and method) declarations that allows styling the declarations differently from their calls. --- book/src/themes.md | 5 +++-- runtime/queries/c/highlights.scm | 6 +++--- runtime/queries/ecma/highlights.scm | 4 ++-- runtime/queries/go/highlights.scm | 4 ++-- runtime/queries/rust/highlights.scm | 4 ++-- runtime/themes/fleet_dark.toml | 2 +- 6 files changed, 13 insertions(+), 12 deletions(-) diff --git a/book/src/themes.md b/book/src/themes.md index 322caea54b48..e5d1a6122755 100644 --- a/book/src/themes.md +++ b/book/src/themes.md @@ -193,8 +193,9 @@ We use a similar set of scopes as - `operator` - `||`, `+=`, `>` - `function` - - `builtin` - - `method` + - `declaration` - Declaration of a function (e.g. `fn foo() { }` in Rust) + - `builtin` - Built-in functions (e.q. `println!` in Rust) + - `method` - Methods - `macro` - `special` (preprocessor in C) diff --git a/runtime/queries/c/highlights.scm b/runtime/queries/c/highlights.scm index 8122216d8782..bf4fd5ef42a0 100644 --- a/runtime/queries/c/highlights.scm +++ b/runtime/queries/c/highlights.scm @@ -109,13 +109,13 @@ (char_literal) @constant.character (call_expression - function: (identifier) @function) + function: (identifier) @function.declaration) (call_expression function: (field_expression - field: (field_identifier) @function)) + field: (field_identifier) @function.declaration)) (call_expression (argument_list (identifier) @variable)) (function_declarator - declarator: [(identifier) (field_identifier)] @function) + declarator: [(identifier) (field_identifier)] @function.declaration) (parameter_declaration declarator: (identifier) @variable.parameter) (parameter_declaration diff --git a/runtime/queries/ecma/highlights.scm b/runtime/queries/ecma/highlights.scm index 212bb8754555..cfd891573f75 100644 --- a/runtime/queries/ecma/highlights.scm +++ b/runtime/queries/ecma/highlights.scm @@ -26,9 +26,9 @@ (function name: (identifier) @function) (function_declaration - name: (identifier) @function) + name: (identifier) @function.declaration) (method_definition - name: (property_identifier) @function.method) + name: (property_identifier) @function.declaration) (pair key: (property_identifier) @function.method diff --git a/runtime/queries/go/highlights.scm b/runtime/queries/go/highlights.scm index 927bd95b06a7..e2a392be4a2d 100644 --- a/runtime/queries/go/highlights.scm +++ b/runtime/queries/go/highlights.scm @@ -14,10 +14,10 @@ ; Function definitions (function_declaration - name: (identifier) @function) + name: (identifier) @function.declaration) (method_declaration - name: (field_identifier) @function.method) + name: (field_identifier) @function.declaration) ; Identifiers diff --git a/runtime/queries/rust/highlights.scm b/runtime/queries/rust/highlights.scm index 5606e93d3007..1c3cf36707b3 100644 --- a/runtime/queries/rust/highlights.scm +++ b/runtime/queries/rust/highlights.scm @@ -263,10 +263,10 @@ ]) (function_item - name: (identifier) @function) + name: (identifier) @function.declaration) (function_signature_item - name: (identifier) @function) + name: (identifier) @function.declaration) ; --- ; Macros diff --git a/runtime/themes/fleet_dark.toml b/runtime/themes/fleet_dark.toml index f885e4eb6542..e38a39b3feb6 100644 --- a/runtime/themes/fleet_dark.toml +++ b/runtime/themes/fleet_dark.toml @@ -32,7 +32,7 @@ "keyword.control.exception" = "purple" "operator" = "light" "function" = "yellow" -"function.macro" = "green" +"function.declaration" = { fg = "lightest", modifiers = ["bold"] } "function.builtin" = "green" "function.special" = "green" "function.method" = "light"