
This PR extracts Elixir support into an extension and removes the built-in Elixir support from Zed. As part of this, [Lexical](https://github.com/lexical-lsp/lexical) has been added as an available language server for Elixir. Since the Elixir extension provides three different language servers, you'll need to use the `language_servers` setting to select the one you want to use: #### Elixir LS ```json { "languages": { "Elixir": { "language_servers": [ "elixir-ls", "!next-ls", "!lexical", "..."] } } } ``` #### Next LS ```json { "languages": { "Elixir": { "language_servers": [ "next-ls", "!elixir-ls", "!lexical", "..."] } } } ``` #### Lexical ```json { "languages": { "Elixir": { "language_servers": [ "lexical", "!elixir-ls", "!next-ls", "..."] } } } ``` These can either go in your user settings or your project settings. Release Notes: - Removed built-in support for Elixir, in favor of making it available as an extension.
46 lines
1.1 KiB
Scheme
46 lines
1.1 KiB
Scheme
(call
|
|
target: (identifier) @context
|
|
(arguments (alias) @name)
|
|
(#match? @context "^(defmodule|defprotocol)$")) @item
|
|
|
|
(unary_operator
|
|
operator: "@" @name
|
|
operand: (call
|
|
target: (identifier) @context
|
|
(arguments
|
|
[
|
|
(binary_operator
|
|
left: (identifier) @name)
|
|
(binary_operator
|
|
left: (call
|
|
target: (identifier) @name
|
|
(arguments
|
|
"(" @context.extra
|
|
_* @context.extra
|
|
")" @context.extra)))
|
|
]
|
|
)
|
|
)
|
|
(#match? @context "^(callback|type|typep)$")) @item
|
|
|
|
(call
|
|
target: (identifier) @context
|
|
(arguments
|
|
[
|
|
(identifier) @name
|
|
(call
|
|
target: (identifier) @name
|
|
(arguments
|
|
"(" @context.extra
|
|
_* @context.extra
|
|
")" @context.extra))
|
|
(binary_operator
|
|
left: (call
|
|
target: (identifier) @name
|
|
(arguments
|
|
"(" @context.extra
|
|
_* @context.extra
|
|
")" @context.extra))
|
|
operator: "when")
|
|
])
|
|
(#match? @context "^(def|defp|defdelegate|defguard|defguardp|defmacro|defmacrop|defn|defnp)$")) @item
|