Release Notes: - N/A Adds textobjects queries for Elixir. These queries were originally pulled directly from the [nvim-treesitter-textobjects](https://github.com/nvim-treesitter/nvim-treesitter-textobjects) repo with [this textobjects.scm](https://raw.githubusercontent.com/nvim-treesitter/nvim-treesitter-textobjects/refs/heads/master/queries/elixir/textobjects.scm) file, but have been heavily edited for Zed.
47 lines
1.1 KiB
Scheme
47 lines
1.1 KiB
Scheme
(call
|
|
target: ((identifier) @_identifier
|
|
(#any-of? @_identifier "defmodule" "defprotocol" "defimpl"))
|
|
(do_block
|
|
"do"
|
|
(_)* @class.inside
|
|
"end")) @class.around
|
|
|
|
(anonymous_function
|
|
(stab_clause
|
|
right: (body) @function.inside)) @function.around
|
|
|
|
(call
|
|
target: ((identifier) @_identifier
|
|
(#any-of? @_identifier "def" "defmacro" "defmacrop" "defn" "defnp" "defp"))
|
|
(do_block
|
|
"do"
|
|
(_)* @function.inside
|
|
"end")) @function.around
|
|
|
|
(call
|
|
target: ((identifier) @_identifier
|
|
(#any-of? @_identifier "def" "defmacro" "defmacrop" "defn" "defnp" "defp"))
|
|
(arguments
|
|
(_)
|
|
(keywords
|
|
(pair
|
|
value: (_) @function.inside)))) @function.around
|
|
|
|
(call
|
|
target: ((identifier) @_identifier
|
|
(#any-of? @_identifier "defdelegate" "defguard" "defguardp"))) @function.around
|
|
|
|
(comment) @comment.around
|
|
|
|
(unary_operator
|
|
operator: "@"
|
|
operand: (call
|
|
target: ((identifier) @_identifier
|
|
(#any-of? @_identifier "moduledoc" "typedoc" "shortdoc" "doc"))
|
|
(arguments
|
|
[
|
|
(keywords) @comment.inside
|
|
(string
|
|
(quoted_content) @comment.inside)
|
|
]))) @comment.around
|