nvim-treesitter/queries/elixir/locals.scm

71 lines
2.4 KiB
Scheme
Raw Normal View History

; Scopes
(call (do_block)) @scope
(stab_clause) @scope
2021-05-14 21:23:58 +02:00
; References
2021-05-14 21:23:58 +02:00
(identifier) @reference
(alias) @reference
2021-05-14 21:23:58 +02:00
; Module Definitions
2021-05-14 21:23:58 +02:00
(call
target: ((identifier) @_identifier (#eq? @_identifier "defmodule"))
(arguments (alias) @definition.type))
2021-05-14 21:23:58 +02:00
; Local Function Definitions
; TODO: add support for test blocks
; test "foo", %{conn: conn} do
(call
target: ((identifier) @_identifier (#any-of? @_identifier "def" "defp" "defmacro" "defmacrop" "defguard" "defguardp" "defn" "defnp" "for"))
(arguments [
(identifier) @definition.function
(binary_operator left: (identifier) @definition.function)
(call target: (identifier) @definition.function (arguments [
(identifier) @definition.parameter
(_ (identifier) @definition.parameter)
(_ (_ (identifier) @definition.parameter))
(_ (_ (_ (identifier) @definition.parameter)))
(_ (_ (_ (_ (identifier) @definition.parameter))))
(_ (_ (_ (_ (_ (identifier) @definition.parameter)))))
(_ (_ (_ (_ (_ (_ (identifier) @definition.parameter))))))
(_ (_ (_ (_ (_ (_ (_ (identifier) @definition.parameter)))))))
]))
]?) (#set! definition.function.scope parent))
2021-05-14 21:23:58 +02:00
; Pattern Match Definitions
(binary_operator left: [
(identifier) @definition.var
(_ (identifier) @definition.var)
(_ (_ (identifier) @definition.var))
(_ (_ (_ (identifier) @definition.var)))
(_ (_ (_ (_ (identifier) @definition.var))))
(_ (_ (_ (_ (_ (identifier) @definition.var)))))
(_ (_ (_ (_ (_ (_ (identifier) @definition.var))))))
(_ (_ (_ (_ (_ (_ (_ (identifier) @definition.var)))))))
] operator: "=")
2021-05-14 21:23:58 +02:00
; Stab Clause Definitions
(stab_clause left: [
(_ (identifier) @definition.var)
(_ (_ (identifier) @definition.var))
(_ (_ (_ (identifier) @definition.var)))
(_ (_ (_ (_ (identifier) @definition.var))))
(_ (_ (_ (_ (_ (identifier) @definition.var)))))
(_ (_ (_ (_ (_ (_ (identifier) @definition.var))))))
(_ (_ (_ (_ (_ (_ (_ (identifier) @definition.var)))))))
])
2021-05-17 20:34:05 +02:00
; Aliases
(call
target: ((identifier) @_identifier (#any-of? @_identifier "require" "alias" "use" "import"))
(arguments [
(alias) @definition.import
(_ (alias) @definition.import)
(_ (_ (alias) @definition.import))
(_ (_ (_ (alias) @definition.import)))
(_ (_ (_ (_ (alias) @definition.import))))
(_ (_ (_ (_ (_ (alias) @definition.import)))))
(_ (_ (_ (_ (_ (_ (alias) @definition.import))))))
(_ (_ (_ (_ (_ (_ (_ (alias) @definition.import)))))))
]
))