Neovim 配置好 LSP 后可以极大的增强功能,其中 Mason
可以方便的管理和配置 LSP, 而 ltex-ls
可以实现离线latex
,
markdown
等的语法检测,所以这是一个重要 LSP.
然而,在近几天使用 Neovim
打开
latex
文件时总是报错如下:
1
| JDK 24 - Cannot load or parse input stream of '/org/languagetool/rules/en/grammar.xml'
|
根据 https://github.com/languagetool-org/languagetool/issues/11125
的提示,将ltex-ls
替换为ltex-ls-plus
可以解决问题,同时后者是前者的增强版本也是一个更好的选择。但是在安装时发现ltex-ls-plus
的体积非常大,使用Mason直接安装多次未成功。于是将Maso
的默认下载工具调整为aria2
,
实现了快速下载,最终成功安装ltex-ls-plus
.
安装 aria2
配置 Mason
设置如下:
~/.config/nvim/lua/lsp/mason.lua1 2 3 4 5 6 7
| require("mason").setup({ ... , download = { cmd = "aria2c", args = { "--continue", "--out=$FILE", "$URL" } }, })
|
为方便使用,我的完整文件内容展示如下:
~/.config/nvim/lua/lsp/mason.lua1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37
|
local servers = { lua_ls = require "lsp.lua", ltex = require "lsp.ltex", }
require("mason").setup({ github = { since 1.0.0 download_url_template = "https://github.com/%s/releases/download/%s/%s", }, ui = { icons = { package_installed = "✓", package_pending = "➜", package_uninstalled = "✗" } }, download = { cmd = "aria2c", args = { "--continue", "--out=$FILE", "$URL" } }, })
require("mason-lspconfig").setup { ensure_installed = { "lua_ls", "rust_analyzer", "pyright", "vimls", "texlab", }, }
|