67 lines
1017 B
Scheme
67 lines
1017 B
Scheme
(protocol_declaration
|
|
declaration_kind: "protocol" @name
|
|
.
|
|
_ * @name
|
|
.
|
|
body: (protocol_body)
|
|
) @item
|
|
|
|
(class_declaration
|
|
declaration_kind: (
|
|
[
|
|
"actor"
|
|
"class"
|
|
"extension"
|
|
"enum"
|
|
"struct"
|
|
]
|
|
) @name
|
|
.
|
|
_ * @name
|
|
.
|
|
body: (_)
|
|
) @item
|
|
|
|
(init_declaration
|
|
name: "init" @name
|
|
.
|
|
_ * @name
|
|
.
|
|
body: (function_body)
|
|
) @item
|
|
|
|
(deinit_declaration
|
|
"deinit" @name) @item
|
|
|
|
(function_declaration
|
|
"func" @name
|
|
.
|
|
_ * @name
|
|
.
|
|
body: (function_body)
|
|
) @item
|
|
|
|
(class_body
|
|
(property_declaration
|
|
(value_binding_pattern) @name
|
|
name: (pattern) @name
|
|
(type_annotation)? @name
|
|
) @item
|
|
)
|
|
|
|
(enum_class_body
|
|
(property_declaration
|
|
(value_binding_pattern) @name
|
|
name: (pattern) @name
|
|
(type_annotation)? @name
|
|
) @item
|
|
)
|
|
|
|
(
|
|
(protocol_function_declaration) @name
|
|
) @item
|
|
|
|
(
|
|
(protocol_property_declaration) @name
|
|
) @item
|