27 lines · 765 B · Scheme
RawDownload
(    (unary_operator        operator: "@"        operand: (call            target: (identifier) @unary            (#match? @unary "^(doc)$"))        ) @context    .    (call        target: (identifier) @name        (arguments            [            (identifier) @name            (call                target: (identifier) @name)                (binary_operator                    left: (call                    target: (identifier) @name)                    operator: "when")            ])        (#match? @name "^(def|defp|defdelegate|defguard|defguardp|defmacro|defmacrop|defn|defnp)$")) @item        )     (call        target: (identifier) @name        (arguments (alias) @name)        (#match? @name "^(defmodule|defprotocol)$")) @item