semi ok
This commit is contained in:
@@ -0,0 +1,151 @@
|
||||
(declaration
|
||||
declarator: (function_declarator)) @function.outer
|
||||
|
||||
(function_definition
|
||||
body: (compound_statement)) @function.outer
|
||||
|
||||
(function_definition
|
||||
body: (compound_statement
|
||||
.
|
||||
"{"
|
||||
_+ @function.inner
|
||||
"}"))
|
||||
|
||||
(struct_specifier
|
||||
body: (_) @class.inner) @class.outer
|
||||
|
||||
(enum_specifier
|
||||
body: (_) @class.inner) @class.outer
|
||||
|
||||
; conditionals
|
||||
(if_statement
|
||||
consequence: (compound_statement
|
||||
.
|
||||
"{"
|
||||
_+ @conditional.inner
|
||||
"}")) @conditional.outer
|
||||
|
||||
(if_statement
|
||||
alternative: (else_clause
|
||||
(compound_statement
|
||||
.
|
||||
"{"
|
||||
_+ @conditional.inner
|
||||
"}"))) @conditional.outer
|
||||
|
||||
(if_statement) @conditional.outer
|
||||
|
||||
(if_statement
|
||||
condition: (_) @conditional.inner
|
||||
(#offset! @conditional.inner 0 1 0 -1))
|
||||
|
||||
(while_statement
|
||||
condition: (_) @conditional.inner
|
||||
(#offset! @conditional.inner 0 1 0 -1))
|
||||
|
||||
(do_statement
|
||||
condition: (_) @conditional.inner
|
||||
(#offset! @conditional.inner 0 1 0 -1))
|
||||
|
||||
(for_statement
|
||||
condition: (_) @conditional.inner)
|
||||
|
||||
; loops
|
||||
(while_statement) @loop.outer
|
||||
|
||||
(while_statement
|
||||
body: (compound_statement
|
||||
.
|
||||
"{"
|
||||
_+ @loop.inner
|
||||
"}")) @loop.outer
|
||||
|
||||
(for_statement) @loop.outer
|
||||
|
||||
(for_statement
|
||||
body: (compound_statement
|
||||
.
|
||||
"{"
|
||||
_+ @loop.inner
|
||||
"}")) @loop.outer
|
||||
|
||||
(do_statement) @loop.outer
|
||||
|
||||
(do_statement
|
||||
body: (compound_statement
|
||||
.
|
||||
"{"
|
||||
_+ @loop.inner
|
||||
"}")) @loop.outer
|
||||
|
||||
(compound_statement) @block.outer
|
||||
|
||||
(comment) @comment.outer
|
||||
|
||||
(call_expression) @call.outer
|
||||
|
||||
(call_expression
|
||||
arguments: (argument_list
|
||||
.
|
||||
"("
|
||||
_+ @call.inner
|
||||
")"))
|
||||
|
||||
(return_statement
|
||||
(_)? @return.inner) @return.outer
|
||||
|
||||
; Statements
|
||||
;(expression_statement ;; this is what we actually want to capture in most cases (";" is missing) probably
|
||||
;(_) @statement.inner) ;; the other statement like node type is declaration but declaration has a ";"
|
||||
(compound_statement
|
||||
(_) @statement.outer)
|
||||
|
||||
(field_declaration_list
|
||||
(_) @statement.outer)
|
||||
|
||||
(preproc_if
|
||||
(_) @statement.outer)
|
||||
|
||||
(preproc_elif
|
||||
(_) @statement.outer)
|
||||
|
||||
(preproc_else
|
||||
(_) @statement.outer)
|
||||
|
||||
(parameter_list
|
||||
"," @parameter.outer
|
||||
.
|
||||
(parameter_declaration) @parameter.inner @parameter.outer)
|
||||
|
||||
(parameter_list
|
||||
.
|
||||
(parameter_declaration) @parameter.inner @parameter.outer
|
||||
.
|
||||
","? @parameter.outer)
|
||||
|
||||
(argument_list
|
||||
"," @parameter.outer
|
||||
.
|
||||
(_) @parameter.inner @parameter.outer)
|
||||
|
||||
(argument_list
|
||||
.
|
||||
(_) @parameter.inner @parameter.outer
|
||||
.
|
||||
","? @parameter.outer)
|
||||
|
||||
(number_literal) @number.inner
|
||||
|
||||
(declaration
|
||||
declarator: (init_declarator
|
||||
declarator: (_) @assignment.lhs
|
||||
value: (_) @assignment.rhs) @assignment.inner) @assignment.outer
|
||||
|
||||
(declaration
|
||||
type: (primitive_type)
|
||||
declarator: (_) @assignment.inner)
|
||||
|
||||
(expression_statement
|
||||
(assignment_expression
|
||||
left: (_) @assignment.lhs
|
||||
right: (_) @assignment.rhs) @assignment.inner) @assignment.outer
|
||||
Reference in New Issue
Block a user