nvim-treesitter/queries/go/locals.scm

89 lines
1.8 KiB
Scheme
Raw Normal View History

2024-01-06 15:05:50 +09:00
((function_declaration
name: (identifier) @local.definition.function) ; @function
)
2020-05-31 23:50:04 +02:00
2024-01-06 15:05:50 +09:00
((method_declaration
name: (field_identifier) @local.definition.method) ; @function.method
)
2020-05-31 23:50:04 +02:00
2024-01-06 15:05:50 +09:00
(short_var_declaration
left: (expression_list
(identifier) @local.definition.var))
2020-05-31 23:50:04 +02:00
2024-01-06 15:05:50 +09:00
(var_spec
name: (identifier) @local.definition.var)
2020-05-31 23:50:04 +02:00
2024-01-06 15:05:50 +09:00
(parameter_declaration
(identifier) @local.definition.var)
(variadic_parameter_declaration
(identifier) @local.definition.var)
2020-05-31 23:50:04 +02:00
(for_statement
2024-01-06 15:05:50 +09:00
(range_clause
left: (expression_list
(identifier) @local.definition.var)))
(const_declaration
2024-01-06 15:05:50 +09:00
(const_spec
name: (identifier) @local.definition.var))
2024-01-06 15:05:50 +09:00
(type_declaration
2020-05-31 23:50:04 +02:00
(type_spec
name: (type_identifier) @local.definition.type))
2020-05-31 23:50:04 +02:00
2024-01-06 15:05:50 +09:00
; reference
(identifier) @local.reference
2024-01-06 15:05:50 +09:00
(type_identifier) @local.reference
2024-01-06 15:05:50 +09:00
(field_identifier) @local.reference
2024-01-06 15:05:50 +09:00
((package_identifier) @local.reference
(#set! reference.kind "namespace"))
2020-05-31 23:50:04 +02:00
(package_clause
2024-01-06 15:05:50 +09:00
(package_identifier) @local.definition.namespace)
(import_spec_list
(import_spec
name: (package_identifier) @local.definition.namespace))
2024-01-06 15:05:50 +09:00
; Call references
((call_expression
2024-01-06 15:05:50 +09:00
function: (identifier) @local.reference)
(#set! reference.kind "call"))
2020-05-31 23:59:54 +02:00
((call_expression
function: (selector_expression
field: (field_identifier) @local.reference))
2024-01-06 15:05:50 +09:00
(#set! reference.kind "call"))
2020-05-31 23:59:54 +02:00
((call_expression
function: (parenthesized_expression
(identifier) @local.reference))
2024-01-06 15:05:50 +09:00
(#set! reference.kind "call"))
((call_expression
function: (parenthesized_expression
(selector_expression
field: (field_identifier) @local.reference)))
2024-01-06 15:05:50 +09:00
(#set! reference.kind "call"))
2020-05-31 23:50:04 +02:00
2024-01-06 15:05:50 +09:00
; Scopes
(func_literal) @local.scope
2024-01-06 15:05:50 +09:00
(source_file) @local.scope
2024-01-06 15:05:50 +09:00
(function_declaration) @local.scope
2024-01-06 15:05:50 +09:00
(if_statement) @local.scope
2024-01-06 15:05:50 +09:00
(block) @local.scope
2024-01-06 15:05:50 +09:00
(expression_switch_statement) @local.scope
2024-01-06 15:05:50 +09:00
(for_statement) @local.scope
2024-01-06 15:05:50 +09:00
(method_declaration) @local.scope