Files
oak-gpui/extensions/elixir/languages/elixir/textobjects.scm
T
David Baldwin e36ae0465c elixir: Add textobjects queries (#22055)
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.
2025-01-06 23:01:19 +00:00

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