22 lines
569 B
Scheme
22 lines
569 B
Scheme
; * modules and protocols
|
|
(call
|
|
target: (identifier) @ignore
|
|
(arguments (alias) @class)
|
|
(#match? @ignore "^(defmodule|defprotocol)$"))
|
|
|
|
; * functions
|
|
(call
|
|
target: (identifier) @ignore
|
|
(arguments
|
|
[
|
|
; zero-arity functions with no parentheses
|
|
(identifier) @method
|
|
; regular function clause
|
|
(call target: (identifier) @method)
|
|
; function clause with a guard clause
|
|
(binary_operator
|
|
left: (call target: (identifier) @method)
|
|
operator: "when")
|
|
])
|
|
(#match? @ignore "^(def|defdelegate|defguard|defn)$"))
|