57 lines
1.2 KiB
Scheme
57 lines
1.2 KiB
Scheme
(program) @local.scope
|
|
|
|
(symbol) @local.reference
|
|
|
|
[
|
|
(let_form)
|
|
(fn_form)
|
|
(lambda_form)
|
|
(each_form)
|
|
(for_form)
|
|
(collect_form)
|
|
(icollect_form)
|
|
(accumulate_form)
|
|
(for_form)
|
|
(fcollect_form)
|
|
(faccumulate_form)
|
|
(case_form)
|
|
(match_form)
|
|
(case_try_form)
|
|
(match_try_form)
|
|
(if_form)
|
|
] @local.scope
|
|
|
|
(list
|
|
call: (symbol) @_call
|
|
(#any-of? @_call "while" "when" "do")) @local.scope
|
|
|
|
(fn_form
|
|
name: [
|
|
(symbol) @local.definition.function
|
|
(multi_symbol
|
|
member: (symbol_fragment) @local.definition.function .)
|
|
]
|
|
args: (sequence_arguments
|
|
(symbol_binding) @local.definition.parameter)
|
|
(#set! definition.function.scope "parent"))
|
|
|
|
(lambda_form
|
|
name: [
|
|
(symbol) @local.definition.function
|
|
(multi_symbol
|
|
member: (symbol_fragment) @local.definition.function .)
|
|
]
|
|
args: (sequence_arguments
|
|
(symbol_binding) @local.definition.parameter)
|
|
(#set! definition.function.scope "parent"))
|
|
|
|
(macro_form
|
|
name: [
|
|
(symbol) @local.definition.function
|
|
(multi_symbol
|
|
member: (symbol_fragment) @local.definition.function .)
|
|
]
|
|
args: (sequence_arguments
|
|
(symbol_binding) @local.definition.parameter)
|
|
(#set! definition.function.scope "parent"))
|