mirror of
https://github.com/l0ng-ai/openidea.git
synced 2026-11-06 16:08:05 +00:00
100 lines
2.0 KiB
Scheme
100 lines
2.0 KiB
Scheme
; From nvim-treesitter queries/zig/locals.scm (Apache-2.0); only the first identifier of a declaration is defined
|
|
|
|
; Definitions
|
|
(function_declaration
|
|
name: (identifier) @local.definition.function)
|
|
|
|
(parameter
|
|
name: (identifier) @local.definition.parameter)
|
|
|
|
(variable_declaration
|
|
.
|
|
(identifier) @local.definition.var)
|
|
|
|
(variable_declaration
|
|
(identifier) @local.definition.type
|
|
(enum_declaration))
|
|
|
|
(container_field
|
|
type: (identifier) @local.definition.field)
|
|
|
|
(enum_declaration
|
|
(function_declaration
|
|
name: (identifier) @local.definition.method))
|
|
|
|
(variable_declaration
|
|
(identifier) @local.definition.type
|
|
(struct_declaration))
|
|
|
|
(struct_declaration
|
|
(function_declaration
|
|
name: (identifier) @local.definition.method))
|
|
|
|
(container_field
|
|
name: (identifier) @local.definition.field)
|
|
|
|
(variable_declaration
|
|
(identifier) @local.definition.type
|
|
(union_declaration))
|
|
|
|
(union_declaration
|
|
(function_declaration
|
|
name: (identifier) @local.definition.method))
|
|
|
|
(payload
|
|
(identifier) @local.definition.var)
|
|
|
|
(block_label
|
|
(identifier) @local.definition)
|
|
|
|
; References
|
|
(identifier) @local.reference
|
|
|
|
(parameter
|
|
type: (identifier) @local.reference
|
|
(#set! reference.kind "type"))
|
|
|
|
(pointer_type
|
|
(identifier) @local.reference
|
|
(#set! reference.kind "type"))
|
|
|
|
(nullable_type
|
|
(identifier) @local.reference
|
|
(#set! reference.kind "type"))
|
|
|
|
(struct_initializer
|
|
(identifier) @local.reference
|
|
(#set! reference.kind "type"))
|
|
|
|
(array_type
|
|
(_)
|
|
(identifier) @local.reference
|
|
(#set! reference.kind "type"))
|
|
|
|
(slice_type
|
|
(identifier) @local.reference
|
|
(#set! reference.kind "type"))
|
|
|
|
(field_expression
|
|
member: (identifier) @local.reference
|
|
(#set! reference.kind "field"))
|
|
|
|
(call_expression
|
|
function: (field_expression
|
|
member: (identifier) @local.reference
|
|
(#set! reference.kind "function")))
|
|
|
|
(break_label
|
|
(identifier) @local.reference)
|
|
|
|
[
|
|
(for_statement)
|
|
(if_statement)
|
|
(while_statement)
|
|
(function_declaration)
|
|
(block)
|
|
(source_file)
|
|
(enum_declaration)
|
|
(struct_declaration)
|
|
] @local.scope
|