diff options
Diffstat (limited to '.config/nvim/lsp/ltex_plus.lua')
-rw-r--r-- | .config/nvim/lsp/ltex_plus.lua | 87 |
1 files changed, 87 insertions, 0 deletions
diff --git a/.config/nvim/lsp/ltex_plus.lua b/.config/nvim/lsp/ltex_plus.lua new file mode 100644 index 0000000..c241cb7 --- /dev/null +++ b/.config/nvim/lsp/ltex_plus.lua @@ -0,0 +1,87 @@ +---@brief +--- +--- https://github.com/ltex-plus/ltex-ls-plus +--- +--- LTeX Language Server: LSP language server for LanguageTool 🔍✔️ with support for LaTeX 🎓, Markdown 📝, and others +--- +--- To install, download the latest [release](https://github.com/ltex-plus/ltex-ls-plus) and ensure `ltex-ls-plus` is on your path. +--- +--- This server accepts configuration via the `settings` key. +--- +--- ```lua +--- settings = { +--- ltex = { +--- language = "en-GB", +--- }, +--- }, +--- ``` +--- +--- To support org files or R sweave, users can define a custom filetype autocommand (or use a plugin which defines these filetypes): +--- +--- ```lua +--- vim.cmd [[ autocmd BufRead,BufNewFile *.org set filetype=org ]] +--- ``` + +local language_id_mapping = { + bib = 'bibtex', + pandoc = 'markdown', + plaintex = 'tex', + rnoweb = 'rsweave', + rst = 'restructuredtext', + tex = 'latex', + text = 'plaintext', +} + +---@type vim.lsp.Config +return { + cmd = { 'ltex-ls-plus' }, + filetypes = { + 'bib', + 'context', + 'gitcommit', + 'html', + 'markdown', + 'org', + 'pandoc', + 'plaintex', + 'quarto', + 'mail', + 'mdx', + 'rmd', + 'rnoweb', + 'rst', + 'tex', + 'text', + 'typst', + 'xhtml', + }, + root_markers = { '.git' }, + get_language_id = function(_, filetype) + return language_id_mapping[filetype] or filetype + end, + settings = { + ltex = { + enabled = { + 'bib', + 'context', + 'gitcommit', + 'html', + 'markdown', + 'org', + 'pandoc', + 'plaintex', + 'quarto', + 'mail', + 'mdx', + 'rmd', + 'rnoweb', + 'rst', + 'tex', + 'latex', + 'text', + 'typst', + 'xhtml', + }, + }, + }, +} |