5个版本
0.2.5 | 2022年6月14日 |
---|---|
0.2.4 | 2022年1月30日 |
0.2.3 | 2021年12月24日 |
0.2.1 | 2021年9月23日 |
0.1.0 | 2020年1月12日 |
450 在 文本编辑器 中排名
每月下载量 335
54KB
1K SLoC
rnix-lsp
使用rnix的语法检查语言服务器。
- 语法检查诊断
- 基本补全
- 基本重命名
- 基本跳转到定义
- 扩展选择建议
- 使用nixpkgs-fmt格式化
这最多是测试版质量 - 我在编写rnix时没有预料到维护一个语言服务器,目标是其他人会围绕解析器蜂拥而至,编写大量编辑器工具 :)
预计会有破坏。在1.x.y之前没有semver兼容性。
使用RUST_LOG=trace
打开日志记录,并将stderr重定向到文件。
bash -c "env RUST_LOG=trace rnix-lsp 2> /tmp/rnix-lsp.log"
安装
$ nix-env -i -f https://github.com/nix-community/rnix-lsp/archive/master.tar.gz
与您的编辑器集成
这些说明尚未完全测试 - 请参阅问题#3。如果以下配置没有正常工作,请提出问题或发送PR。
Vim/Neovim
coc.nvim
{
"languageserver": {
"nix": {
"command": "rnix-lsp",
"filetypes": [
"nix"
]
}
}
}
LanguageClient-neovim
let g:LanguageClient_serverCommands = {
\ 'nix': ['rnix-lsp']
\ }
vim-lsp
if executable('rnix-lsp')
au User lsp_setup call lsp#register_server({
\ 'name': 'rnix-lsp',
\ 'cmd': {server_info->[&shell, &shellcmdflag, 'rnix-lsp']},
\ 'whitelist': ['nix'],
\ })
endif
Emacs
lsp-mode
(add-to-list 'lsp-language-id-configuration '(nix-mode . "nix"))
(lsp-register-client
(make-lsp-client :new-connection (lsp-stdio-connection '("rnix-lsp"))
:major-modes '(nix-mode)
:server-id 'nix))
eglot
(add-to-list 'eglot-server-programs '(nix-mode . ("rnix-lsp")))
Kakoune
kak-lsp
kak-lsp从版本v9.0.0开始内置配置
[language.nix]
filetypes = ["nix"]
roots = ["flake.nix", "shell.nix", ".git"]
command = "rnix-lsp"
如果您遇到“缺少根”的问题,请参阅此问题。
VSCode
vscode-nix-ide
{
"nix.enableLanguageServer": true
}
RIP jd91mzm2
遗憾的是,本项目的原始作者@jD91mZM2已经去世。他的在线身份是匿名的,我们留下的只有他的代码。这只是他贡献的众多仓库中的一个。
依赖关系
~9–19MB
~255K SLoC