Unnamed repository; edit this file 'description' to name the repository.
queries: Add locals.scm for C. Improve C parameter highlights (#13876)
| -rw-r--r-- | runtime/queries/c/highlights.scm | 29 | ||||
| -rw-r--r-- | runtime/queries/c/locals.scm | 38 |
2 files changed, 65 insertions, 2 deletions
diff --git a/runtime/queries/c/highlights.scm b/runtime/queries/c/highlights.scm index 00d01e08..8e499dd6 100644 --- a/runtime/queries/c/highlights.scm +++ b/runtime/queries/c/highlights.scm @@ -128,11 +128,36 @@ (call_expression (argument_list (identifier) @variable)) (function_declarator declarator: [(identifier) (field_identifier)] @function) + +; Up to 6 layers of declarators (parameter_declaration declarator: (identifier) @variable.parameter) (parameter_declaration - (pointer_declarator - declarator: (identifier) @variable.parameter)) + (_ + (identifier) @variable.parameter)) +(parameter_declaration + (_ + (_ + (identifier) @variable.parameter))) +(parameter_declaration + (_ + (_ + (_ + (identifier) @variable.parameter)))) +(parameter_declaration + (_ + (_ + (_ + (_ + (identifier) @variable.parameter))))) +(parameter_declaration + (_ + (_ + (_ + (_ + (_ + (identifier) @variable.parameter)))))) + (preproc_function_def name: (identifier) @function.special) diff --git a/runtime/queries/c/locals.scm b/runtime/queries/c/locals.scm new file mode 100644 index 00000000..bc672c5e --- /dev/null +++ b/runtime/queries/c/locals.scm @@ -0,0 +1,38 @@ +;; Scopes +(function_definition) @local.scope + +;; Definitions + +; Parameters +; Up to 6 layers of declarators +(parameter_declaration + (identifier) @local.definition.variable.parameter) +(parameter_declaration + (_ + (identifier) @local.definition.variable.parameter)) +(parameter_declaration + (_ + (_ + (identifier) @local.definition.variable.parameter))) +(parameter_declaration + (_ + (_ + (_ + (identifier) @local.definition.variable.parameter)))) +(parameter_declaration + (_ + (_ + (_ + (_ + (identifier) @local.definition.variable.parameter))))) +(parameter_declaration + (_ + (_ + (_ + (_ + (_ + (identifier) @local.definition.variable.parameter)))))) + +;; References + +(identifier) @local.reference |