To develop this extension, see the Developing Extensions section of the Zed docs.
By default, the extension downloads a language server binary for the latest supported Erlang/OTP version. The settings.otp_version option only selects which OTP-targeted language server binary the extension downloads; it does not configure the OTP installation used by your project or by a custom command.
// Example for `elp`
"lsp": {
"elp": {
"settings": {
"otp_version": "26.2"
}
}
}NOTE: On Windows, the automatic download for erlang-ls currently only provides a binary for Erlang/OTP 26.2.5.3, so settings.otp_version cannot select another version.
When the automatically selected binary does not match the OTP version you need, especially on Windows when that version is unavailable through automatic downloads, use Zed's generic binary override for the existing erlang-ls language server:
{
"lsp": {
"erlang-ls": {
"binary": {
"path": "C:/Program Files/Erlang OTP/erl-23/bin/escript.exe",
"arguments": [
"C:/path/to/compatible/erlang_ls",
"--transport",
"stdio"
]
}
}
}
}The binary.path and binary.arguments values override the language server command and arguments. You are responsible for installing or building an erlang_ls escript that is compatible with your project's OTP version.