Elixir
- Tree Sitter: tree-sitter-elixir
- Language Server: elixir-ls
Setting up elixir-ls
- Install
elixir
:
brew install elixir
- Install
elixir-ls
:
brew install elixir-ls
- Restart Zed
If
elixir-ls
is not running in an elixir project, check the error log via the command palette actionzed: open log
. If you find an error message mentioning:invalid LSP message header "Shall I install Hex? (if running non-interactively, use \"mix local.hex --force\") [Yn]
, you might need to installHex
. You runelixir-ls
from the command line and accept the prompt to installHex
.
Formatting with Mix
If you prefer to format your code with Mix, use the following snippet in your settings.json
file to configure it as an external formatter. Formatting will occur on file save.
{
"language_overrides": {
"Elixir": {
"format_on_save": {
"external": {
"command": "mix",
"arguments": ["format", "--stdin-filename", "{buffer_path}", "-"]
}
}
}
}
}
Additional workspace configuration options (requires Zed 0.128.0
):
You can pass additional elixir-ls workspace configuration options via lsp settings in settings.json
.
The following example disables dialyzer:
"lsp": {
"elixir-ls": {
"settings": {
"dialyzerEnabled": false
}
}
}
See ElixirLS configuration settings for more options.