99 lines
2.0 KiB
Scheme

; inherits: c
(class_specifier
body: (_) @class.inner) @class.outer
(field_declaration
type: (enum_specifier)
default_value: (initializer_list) @class.inner) @class.outer
(for_range_loop) @loop.outer
(for_range_loop
body: (compound_statement
.
"{"
.
(_) @_start @_end
(_)? @_end
.
"}"
(#make-range! "loop.inner" @_start @_end)))
(template_declaration
(function_definition) @function.outer) @function.outer.start
(template_declaration
(struct_specifier) @class.outer) @class.outer.start
(template_declaration
(class_specifier) @class.outer) @class.outer.start
((lambda_capture_specifier
"," @_start
.
(_) @parameter.inner)
(#make-range! "parameter.outer" @_start @parameter.inner))
((lambda_capture_specifier
.
(_) @parameter.inner
.
","? @_end)
(#make-range! "parameter.outer" @parameter.inner @_end))
((template_argument_list
"," @_start
.
(_) @parameter.inner)
(#make-range! "parameter.outer" @_start @parameter.inner))
((template_argument_list
.
(_) @parameter.inner
.
","? @_end)
(#make-range! "parameter.outer" @parameter.inner @_end))
((template_parameter_list
"," @_start
.
(_) @parameter.inner)
(#make-range! "parameter.outer" @_start @parameter.inner))
((template_parameter_list
.
(_) @parameter.inner
.
","? @_end)
(#make-range! "parameter.outer" @parameter.inner @_end))
((parameter_list
"," @_start
.
(optional_parameter_declaration) @parameter.inner)
(#make-range! "parameter.outer" @_start @parameter.inner))
((parameter_list
.
(optional_parameter_declaration) @parameter.inner
.
","? @_end)
(#make-range! "parameter.outer" @parameter.inner @_end))
((initializer_list
"," @_start
.
(_) @parameter.inner @_end)
(#make-range! "parameter.outer" @_start @parameter.inner))
((initializer_list
.
(_) @parameter.inner
.
","? @_end)
(#make-range! "parameter.outer" @parameter.inner @_end))
(new_expression
(argument_list) @call.inner) @call.outer