55 lines
1.1 KiB
Scheme
55 lines
1.1 KiB
Scheme
; Scopes
|
|
[
|
|
(chunk)
|
|
(do_statement)
|
|
(while_statement)
|
|
(repeat_statement)
|
|
(if_statement)
|
|
(for_statement)
|
|
(function_declaration)
|
|
(function_definition)
|
|
] @local.scope
|
|
|
|
; References
|
|
(identifier) @local.reference
|
|
|
|
; Definitions
|
|
(assignment_statement
|
|
(variable_list
|
|
(identifier) @local.definition.var))
|
|
|
|
(assignment_statement
|
|
(variable_list
|
|
(dot_index_expression
|
|
.
|
|
(_) @local.definition.associated
|
|
(identifier) @local.definition.var)))
|
|
|
|
((function_declaration
|
|
name: (identifier) @local.definition.function)
|
|
(#set! definition.function.scope "parent"))
|
|
|
|
((function_declaration
|
|
name: (dot_index_expression
|
|
.
|
|
(_) @local.definition.associated
|
|
(identifier) @local.definition.function))
|
|
(#set! definition.method.scope "parent"))
|
|
|
|
((function_declaration
|
|
name: (method_index_expression
|
|
.
|
|
(_) @local.definition.associated
|
|
(identifier) @local.definition.method))
|
|
(#set! definition.method.scope "parent"))
|
|
|
|
(for_generic_clause
|
|
(variable_list
|
|
(identifier) @local.definition.var))
|
|
|
|
(for_numeric_clause
|
|
name: (identifier) @local.definition.var)
|
|
|
|
(parameter
|
|
(identifier) @local.definition.parameter)
|