8 个版本
0.1.0 |
|
---|---|
0.0.9 | 2024 年 8 月 15 日 |
0.0.3 | 2024 年 6 月 22 日 |
0.0.1 | 2024 年 5 月 23 日 |
211 在 文本编辑器
每月下载量 579
在 testing-ls-adapter 中使用
66KB
1K SLoC
testing-language-server
通用 LSP 服务器,可与测试集成。该语言服务器以可移植性和可扩展性为特点。
动机
这个 LSP 服务器深受以下工具的影响
这些工具非常实用且强大。然而,它们依赖于执行环境,如 VSCode 和 NeoVim,而可移植性方面对我来说不太方便。因此,我设计了这个 testing-language-server 以及其针对每个测试工具的专用适配器,作为依赖每个编辑器的中间层。
这种设计使得在任何编辑器中查看测试的诊断变得容易。依赖于环境的特性,如 neotest 和 VSCode 内置的测试工具,也可以通过使用 testing-language-server 以最少的代码来实现。
功能
- 实时测试诊断
- 更高效的诊断检查
- 适配器安装命令
- VSCode 扩展
- Coc.nvim 扩展
- NeoVim 内置 LSP 插件
配置
语言服务器配置
"languageserver": {
"testing": {
"command": "<server path>/testing-language-server",
"trace.server": "verbose",
"filetypes": [
"rust",
"javascript"
],
"initializationOptions": {
"initializationOptions": {
"adapterCommand": {
"cargo test": [
{
"path": "<adapter path>/testing-ls-adapter",
"extra_args": ["--test-kind=cargo-test"],
"include_pattern": ["**/*.rs"],
"exclude_pattern": ["**/target/**"]
}
],
"jest": [
{
"path": "<adapter path>/testing-ls-adapter",
"extra_args": ["--test-kind=jest"],
"include_patterns": ["/**/*.js"],
"exclude_patterns": ["/node_modules/**/*"]
}
]
}
}
}
}
}
适配器
- cargo test
- jest
- 其他
编写自定义适配器
⚠ 适配器 CLI 的规范尚未稳定。
参见 spec.rs.
clap crate 使得指定变得容易,但原则上,你可以以任何你喜欢的方式创建适配器,无论你使用哪种编程语言。
依赖
~9–22MB
~274K SLoC