aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStefano Volpe <foxy@teapot.ovh>2024-12-07 14:09:31 +0100
committerGitHub <noreply@github.com>2024-12-07 05:09:31 -0800
commitab8f4009b42670aab15dffd1666b02b7d9127ca8 (patch)
tree28b95c0ba31f37549369bd9659f156dbc228b25a
parentRevert "refactor: use simpler file existence check" #3495 (diff)
downloadnvim-lspconfig-ab8f4009b42670aab15dffd1666b02b7d9127ca8.tar
nvim-lspconfig-ab8f4009b42670aab15dffd1666b02b7d9127ca8.tar.gz
nvim-lspconfig-ab8f4009b42670aab15dffd1666b02b7d9127ca8.tar.bz2
nvim-lspconfig-ab8f4009b42670aab15dffd1666b02b7d9127ca8.tar.lz
nvim-lspconfig-ab8f4009b42670aab15dffd1666b02b7d9127ca8.tar.xz
nvim-lspconfig-ab8f4009b42670aab15dffd1666b02b7d9127ca8.tar.zst
nvim-lspconfig-ab8f4009b42670aab15dffd1666b02b7d9127ca8.zip
feat: ltex-ls-plus #3442
-rw-r--r--lua/lspconfig/configs/ltex_plus.lua93
1 files changed, 93 insertions, 0 deletions
diff --git a/lua/lspconfig/configs/ltex_plus.lua b/lua/lspconfig/configs/ltex_plus.lua
new file mode 100644
index 00000000..c6555b99
--- /dev/null
+++ b/lua/lspconfig/configs/ltex_plus.lua
@@ -0,0 +1,93 @@
+local util = require 'lspconfig.util'
+
+local language_id_mapping = {
+ bib = 'bibtex',
+ pandoc = 'markdown',
+ plaintex = 'tex',
+ rnoweb = 'rsweave',
+ rst = 'restructuredtext',
+ tex = 'latex',
+ text = 'plaintext',
+}
+
+local function get_language_id(_, filetype)
+ return language_id_mapping[filetype] or filetype
+end
+
+return {
+ default_config = {
+ cmd = { 'ltex-ls-plus' },
+ filetypes = {
+ 'bib',
+ 'context',
+ 'gitcommit',
+ 'html',
+ 'markdown',
+ 'org',
+ 'pandoc',
+ 'plaintex',
+ 'quarto',
+ 'mail',
+ 'mdx',
+ 'rmd',
+ 'rnoweb',
+ 'rst',
+ 'tex',
+ 'text',
+ 'typst',
+ 'xhtml',
+ },
+ root_dir = util.find_git_ancestor,
+ single_file_support = true,
+ get_language_id = get_language_id,
+ settings = {
+ ltex = {
+ enabled = {
+ 'bib',
+ 'context',
+ 'gitcommit',
+ 'html',
+ 'markdown',
+ 'org',
+ 'pandoc',
+ 'plaintex',
+ 'quarto',
+ 'mail',
+ 'mdx',
+ 'rmd',
+ 'rnoweb',
+ 'rst',
+ 'tex',
+ 'text',
+ 'typst',
+ 'xhtml',
+ },
+ },
+ },
+ },
+ docs = {
+ description = [=[
+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 ]]
+```
+]=],
+ },
+}