/*
C# Tree-Sitter Query Patterns
*/
export default `
; Using directives
(using_directive) @definition.using
; Namespace declarations (including file-scoped)
; Support both simple names (TestNamespace) and qualified names (My.Company.Module)
(namespace_declaration
name: (qualified_name) @name) @definition.namespace
(namespace_declaration
name: (identifier) @name) @definition.namespace
(file_scoped_namespace_declaration
name: (qualified_name) @name) @definition.namespace
(file_scoped_namespace_declaration
name: (identifier) @name) @definition.namespace
; Class declarations (including generic, static, abstract, partial, nested)
(class_declaration
name: (identifier) @name) @definition.class
; Interface declarations
(interface_declaration
name: (identifier) @name) @definition.interface
; Struct declarations
(struct_declaration
name: (identifier) @name) @definition.struct
; Enum declarations
(enum_declaration
name: (identifier) @name) @definition.enum
; Record declarations
(record_declaration
name: (identifier) @name) @definition.record
; Method declarations (including async, static, generic)
(method_declaration
name: (identifier) @name) @definition.method
; Property declarations
(property_declaration
name: (identifier) @name) @definition.property
; Event declarations
(event_declaration
name: (identifier) @name) @definition.event
; Delegate declarations
(delegate_declaration
name: (identifier) @name) @definition.delegate
; Attribute declarations
(attribute
name: (identifier) @name) @definition.attribute
; Generic type parameters
(type_parameter
name: (identifier) @name) @definition.type_parameter
; LINQ expressions
(query_expression) @definition.linq_expression
`