115 lines
1.8 KiB
Scheme
115 lines
1.8 KiB
Scheme
![]() |
; block
|
||
|
(_
|
||
|
(block) @block.inner) @block.outer
|
||
|
|
||
|
; call
|
||
|
(function_call) @call.outer
|
||
|
|
||
|
(function_call
|
||
|
(arguments) @call.inner
|
||
|
(#match? @call.inner "^[^\\(]"))
|
||
|
|
||
|
(function_call
|
||
|
arguments: (arguments
|
||
|
.
|
||
|
"("
|
||
|
.
|
||
|
(_) @_start
|
||
|
(_)? @_end
|
||
|
.
|
||
|
")"
|
||
|
(#make-range! "call.inner" @_start @_end)))
|
||
|
|
||
|
; class
|
||
|
; comment
|
||
|
(comment) @comment.outer
|
||
|
|
||
|
; conditional
|
||
|
(if_statement
|
||
|
alternative: (_
|
||
|
(_) @conditional.inner)?) @conditional.outer
|
||
|
|
||
|
(if_statement
|
||
|
consequence: (block)? @conditional.inner)
|
||
|
|
||
|
(if_statement
|
||
|
condition: (_) @conditional.inner)
|
||
|
|
||
|
; frame
|
||
|
; function
|
||
|
[
|
||
|
(function_declaration)
|
||
|
(function_definition)
|
||
|
] @function.outer
|
||
|
|
||
|
(function_declaration
|
||
|
body: (_) @function.inner)
|
||
|
|
||
|
(function_definition
|
||
|
body: (_) @function.inner)
|
||
|
|
||
|
; return
|
||
|
(return_statement
|
||
|
(_)? @return.inner) @return.outer
|
||
|
|
||
|
; loop
|
||
|
[
|
||
|
(while_statement)
|
||
|
(for_statement)
|
||
|
(repeat_statement)
|
||
|
] @loop.outer
|
||
|
|
||
|
(while_statement
|
||
|
body: (_) @loop.inner)
|
||
|
|
||
|
(for_statement
|
||
|
body: (_) @loop.inner)
|
||
|
|
||
|
(repeat_statement
|
||
|
body: (_) @loop.inner)
|
||
|
|
||
|
; parameter
|
||
|
(arguments
|
||
|
.
|
||
|
(_) @parameter.inner
|
||
|
.
|
||
|
","? @_end
|
||
|
(#make-range! "parameter.outer" @parameter.inner @_end))
|
||
|
|
||
|
(parameters
|
||
|
.
|
||
|
(_) @parameter.inner
|
||
|
.
|
||
|
","? @_end
|
||
|
(#make-range! "parameter.outer" @parameter.inner @_end))
|
||
|
|
||
|
(table_constructor
|
||
|
(field) @parameter.inner
|
||
|
","? @_end
|
||
|
(#make-range! "parameter.outer" @parameter.inner @_end))
|
||
|
|
||
|
(arguments
|
||
|
"," @_start
|
||
|
.
|
||
|
(_) @parameter.inner
|
||
|
(#make-range! "parameter.outer" @_start @parameter.inner))
|
||
|
|
||
|
(parameters
|
||
|
"," @_start
|
||
|
.
|
||
|
(_) @parameter.inner
|
||
|
(#make-range! "parameter.outer" @_start @parameter.inner))
|
||
|
|
||
|
; number
|
||
|
(number) @number.inner
|
||
|
|
||
|
(assignment_statement
|
||
|
(variable_list) @assignment.lhs
|
||
|
(expression_list) @assignment.inner @assignment.rhs) @assignment.outer
|
||
|
|
||
|
(assignment_statement
|
||
|
(variable_list) @assignment.inner)
|
||
|
|
||
|
; scopename
|
||
|
; statement
|