
diagnostic-languageserver 是一个可以与大多数的 linter 集成的 LSP 服务。
安装:
yarn global add diagnostic-languageserver language server 对大多数的语言支持已经很完善了,但是还是有些语言没有或者是支持的比较差,比如 viml,shell 等,还是少不了使用 linter 来检查代码。所以基本都会安装一个插件,比如:ale。
不过既然 LSP 已经自带了代码检查,为什么不用 LSP 和 linter 集成?受 efm-langserver 启发,然后就有了这个项目。
下面是 shellcheck linter 配置示例,LSP 客户端使用的是 coc.nvim(你也可以选其他客户端)
coc-settings.json:
{ "languageserver": { "dls": { "command": "diagnostic-languageserver", "args": ["--stdio"], "filetypes": [ "sh" ], "initializationOptions": { "linters": { "shellcheck": { "command": "shellcheck", "debounce": 100, "args": [ "--format=gcc", "-"], "offsetLine": 0, "offsetColumn": 0, "sourceName": "shellcheck", "formatLines": 1, "formatPattern": [ "^[^:]+:(\\d+):(\\d+):\\s+([^:]+):\\s+(.*)$", { "line": 1, "column": 2, "message": 4, "security": 3 } ], "securities": { "error": "error", "warning": "warning", "note": "info" } }, }, "filetypes": { "sh": "shellcheck" } } } } } 更多配置可以看 github
