1
Files
flake-nixinator/config/neovim/store/treesitter-parsers/queries/swift/outline.scm

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