
Release Notes: - Improved: Add `@callback`, `@type` and `@typep` Elixir symbols in outline view https://github.com/zed-industries/zed/assets/14976415/208d3def-f49e-41e0-a306-fb8e00317e6b
46 lines
1.1 KiB
Scheme
46 lines
1.1 KiB
Scheme
(call
|
|
target: (identifier) @context
|
|
(arguments (alias) @name)
|
|
(#match? @context "^(defmodule|defprotocol)$")) @item
|
|
|
|
(unary_operator
|
|
operator: "@" @name
|
|
operand: (call
|
|
target: (identifier) @context
|
|
(arguments
|
|
[
|
|
(binary_operator
|
|
left: (identifier) @name)
|
|
(binary_operator
|
|
left: (call
|
|
target: (identifier) @name
|
|
(arguments
|
|
"(" @context.extra
|
|
_* @context.extra
|
|
")" @context.extra)))
|
|
]
|
|
)
|
|
)
|
|
(#match? @context "^(callback|type|typep)$")) @item
|
|
|
|
(call
|
|
target: (identifier) @context
|
|
(arguments
|
|
[
|
|
(identifier) @name
|
|
(call
|
|
target: (identifier) @name
|
|
(arguments
|
|
"(" @context.extra
|
|
_* @context.extra
|
|
")" @context.extra))
|
|
(binary_operator
|
|
left: (call
|
|
target: (identifier) @name
|
|
(arguments
|
|
"(" @context.extra
|
|
_* @context.extra
|
|
")" @context.extra))
|
|
operator: "when")
|
|
])
|
|
(#match? @context "^(def|defp|defdelegate|defguard|defguardp|defmacro|defmacrop|defn|defnp)$")) @item
|