9 个版本
0.0.19 | 2024年2月23日 |
---|---|
0.0.12 | 2023年8月13日 |
0.0.1 | 2023年7月30日 |
#43 in 文本编辑器
130KB
3K SLoC
ErlLS
Erlang 语言服务器。
支持的 LSP 功能
- textDocument/definition
- 模块
- 函数
- 类型
- 记录
- 宏
- 变量
- 包含文件
- textDocument/formatting
- 使用 efmt 格式化文档
- textDocument/completion
- 完全限定函数名
- 完全限定类型名
- 记录名
- 记录字段名
- textDocument/publishDiagnostics (当收到
textDocument/{didOpen,didSave}
)- 使用 efmt 解析错误
- 代码审查
- textDocument/rename
- textDocument/semanticTokens/full
- textDocument/semanticTokens/range
- textDocument/documentHighlight
- 变量
编辑器集成
ErlLS 可以与任何 LSP 客户端一起使用。以下是一些示例。
Visual Studio Code / Visual Studio Code for the Web
请安装 erlls 扩展。
无需使用 cargo install
命令安装 erlls
二进制文件,因为扩展已经包含了 WebAssembly 构建。
设置 (settings.json
)
要包括 Erlang/OTP 应用程序在搜索目标中,请按以下方式指定目录
{
"erlls.erlLibs": "/usr/local/lib/erlang/lib/:_checkouts:_build/default/lib"
}
注意
- 实际路径可能因环境而异。
- 在 VSCode Web 中,无法搜索工作区之外的应用程序。
Emacs (lsp-mode)
- 安装
erlls
命令。
$ cargo install erlls
- 将以下代码添加到您的
.emacs
文件中。
(with-eval-after-load 'lsp-mode
(add-to-list 'lsp-language-id-configuration
'(erlang-mode . "erlang")))
(lsp-register-client
(make-lsp-client :new-connection (lsp-stdio-connection "erlls")
:activation-fn (lsp-activate-on "erlang")
:priority -1
:server-id 'erlls))
依赖项
~3.5–5MB
~129K SLoC