diff --git a/queries/c/highlights.scm b/queries/c/highlights.scm index 7f3e4a5bc..81820384e 100644 --- a/queries/c/highlights.scm +++ b/queries/c/highlights.scm @@ -131,8 +131,10 @@ (comment) @comment ;; Parameters -(parameter_list - (parameter_declaration) @parameter) +(parameter_declaration + declarator: (identifier) @parameter) +((identifier) @parameter + (is? @parameter parameter)) (preproc_params (identifier)) @parameter diff --git a/queries/c/locals.scm b/queries/c/locals.scm index 89fc684e2..fe6e9408c 100644 --- a/queries/c/locals.scm +++ b/queries/c/locals.scm @@ -9,7 +9,7 @@ (pointer_declarator declarator: (identifier) @definition.var) (parameter_declaration - declarator: (identifier) @definition.var) + declarator: (identifier) @definition.parameter) (init_declarator declarator: (identifier) @definition.var) (array_declarator diff --git a/queries/cpp/highlights.scm b/queries/cpp/highlights.scm index 0eb541269..adca53c25 100644 --- a/queries/cpp/highlights.scm +++ b/queries/cpp/highlights.scm @@ -8,7 +8,12 @@ (#match? @field "_$")) ; function(Foo ...foo) -(variadic_parameter_declaration) @parameter +(variadic_parameter_declaration + declarator: (variadic_declarator + (identifier) @parameter)) +; int foo = 0 +(optional_parameter_declaration + declarator: (identifier) @parameter) ;(field_expression) @parameter ;; How to highlight this? (template_function diff --git a/queries/cpp/locals.scm b/queries/cpp/locals.scm index c625e9ce3..8c62e3e72 100644 --- a/queries/cpp/locals.scm +++ b/queries/cpp/locals.scm @@ -1,3 +1,9 @@ +;; Parameters +(variadic_parameter_declaration + declarator: (variadic_declarator + (identifier) @definition.parameter)) +(optional_parameter_declaration + declarator: (identifier) @definition.parameter) ;; Class / struct defintions (class_specifier) @scope @@ -39,7 +45,7 @@ ((namespace_identifier) @reference (set! reference.kind "namespace")) -;; Function defintions +;; Function definitions (template_function name: (identifier) @definition.function) @scope