mirror of
https://github.com/l0ng-ai/openidea.git
synced 2026-11-06 16:08:05 +00:00
74 lines
1.6 KiB
Scheme
74 lines
1.6 KiB
Scheme
; Adapted from nvim-treesitter queries/c_sharp/locals.scm (Apache-2.0): adds
|
|
; function / lambda / loop / catch scopes, lambda parameters and member kinds.
|
|
|
|
; Definitions
|
|
(field_declaration
|
|
(variable_declaration
|
|
(variable_declarator
|
|
.
|
|
(identifier) @local.definition.field)))
|
|
|
|
(variable_declarator
|
|
.
|
|
(identifier) @local.definition.var)
|
|
|
|
(variable_declarator
|
|
(tuple_pattern
|
|
(identifier) @local.definition.var))
|
|
|
|
(declaration_expression
|
|
name: (identifier) @local.definition.var)
|
|
|
|
(foreach_statement
|
|
left: (identifier) @local.definition.var)
|
|
|
|
(foreach_statement
|
|
left: (tuple_pattern
|
|
(identifier) @local.definition.var))
|
|
|
|
(catch_declaration
|
|
name: (identifier) @local.definition.var)
|
|
|
|
(parameter
|
|
name: (identifier) @local.definition.parameter)
|
|
|
|
(lambda_expression
|
|
parameters: (implicit_parameter) @local.definition.parameter)
|
|
|
|
(method_declaration
|
|
name: (identifier) @local.definition.method)
|
|
|
|
(local_function_statement
|
|
name: (identifier) @local.definition.function
|
|
(#set! definition.function.scope "parent"))
|
|
|
|
(property_declaration
|
|
name: (identifier) @local.definition.field)
|
|
|
|
(type_parameter
|
|
(identifier) @local.definition.type)
|
|
|
|
(class_declaration
|
|
name: (identifier) @local.definition.type
|
|
(#set! definition.type.scope "parent"))
|
|
|
|
; References
|
|
(identifier) @local.reference
|
|
|
|
(implicit_parameter) @local.reference
|
|
|
|
; Scope
|
|
[
|
|
(block)
|
|
(method_declaration)
|
|
(constructor_declaration)
|
|
(local_function_statement)
|
|
(lambda_expression)
|
|
(anonymous_method_expression)
|
|
(for_statement)
|
|
(foreach_statement)
|
|
(using_statement)
|
|
(catch_clause)
|
|
(switch_section)
|
|
] @local.scope
|