(function_declaration
  body: (block)? @function.inside) @function.around

((function_declaration
   name: (identifier) @_name
   body: (block)? @test.inside) @test.around
 (#match "^test" @_name))

(function_literal
  body: (block)? @function.inside) @function.around

(parameter_list
  ((_) @parameter.inside . ","? @parameter.around) @parameter.around)

(call_expression
  (argument_list
    ((_) @parameter.inside) @parameter.around))

(struct_declaration
    (struct_field_declaration) @class.inside) @class.around

(struct_field_declaration
  ((_) @parameter.inside) @parameter.around)

(comment) @comment.inside
(comment)+ @comment.around

