aboutsummaryrefslogtreecommitdiffstats
path: root/lua
diff options
context:
space:
mode:
Diffstat (limited to 'lua')
-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 ]]
+```
+]=],
+ },
+}