diff --git a/lua/custom/configs/conform.lua b/lua/custom/configs/conform.lua index a020d83..766f55e 100644 --- a/lua/custom/configs/conform.lua +++ b/lua/custom/configs/conform.lua @@ -11,6 +11,9 @@ local options = { sh = { "shfmt" }, toml = { "taplo" }, rust = { "rustfmt" }, + + tex = { "latexindent" }, + latex = { "latexindent" }, }, -- adding same formatter for multiple filetypes can look too much work for some diff --git a/lua/custom/configs/lspconfig.lua b/lua/custom/configs/lspconfig.lua index 8175149..3e30794 100644 --- a/lua/custom/configs/lspconfig.lua +++ b/lua/custom/configs/lspconfig.lua @@ -13,6 +13,9 @@ local servers = { -- "rust_analyzer", -- rustaceanvim wants to do that, but the builtin thing has better integration! "bashls", "cmake", + "yamlls", + "textlsp", + "texlab", } for _, lsp in ipairs(servers) do @@ -46,3 +49,67 @@ lspconfig.rust_analyzer.setup { }, }, } + +local ltex_table = { + on_attach = on_attach, + capabilities = capabilities, + settings = { + ltex = { + -- specific language (such as en-GB or de-DE is recommended, but I + -- want multilingual) + language = "en-GB", + enabled = { + -- I'm writing in german but the commands are in english, + -- does not really work + "bibtex", + "tex", + "latex", + "gitcommit", + "markdown", + "org", + "restructuredtext", + "rsweave", + "quarto", + "rmd", + "context", + "html", + "xhtml", + }, + }, + }, +} +-- lspconfig.ltex.setup(ltex_table) + +lspconfig.textlsp.setup { + on_attach = on_attach, + capabilities = capabilities, + filetypes = { + "bibtex", + "tex", + "latex", + "gitcommit", + "markdown", + "org", + "restructuredtext", + "rsweave", + "quarto", + "rmd", + "context", + "html", + "xhtml", + }, + settings = { + textLSP = { + analysers = { + languagetool = { + check_text = { + on_change = false, + on_open = true, + on_save = true, + }, + enabled = false, + }, + }, + }, + }, +} diff --git a/lua/custom/init.lua b/lua/custom/init.lua index 115e432..609b5b6 100644 --- a/lua/custom/init.lua +++ b/lua/custom/init.lua @@ -52,7 +52,7 @@ opt.startofline = false -- Cursor in same column for few commands opt.splitbelow = true -- Splits open bottom right opt.splitright = true opt.breakindentopt = { shift = 2, min = 20 } -opt.formatoptions = "qnlmBjp" -- see :h fo-table & :h formatoptions +opt.formatoptions = "qnlmBjpt" -- see :h fo-table & :h formatoptions -- Diff -- === diff --git a/lua/custom/mappings.lua b/lua/custom/mappings.lua index b8e91a2..937c3a6 100644 --- a/lua/custom/mappings.lua +++ b/lua/custom/mappings.lua @@ -41,7 +41,6 @@ M.disabled = { ["td"] = "", ["wk"] = "", ["#"] = "", - ["J"] = "", }, t = { [""] = "", @@ -50,7 +49,6 @@ M.disabled = { ["#"] = "", ["?"] = "", ["/"] = "", - ["J"] = "", }, } diff --git a/lua/custom/utils.lua b/lua/custom/utils.lua index 524c2d4..11158b9 100644 --- a/lua/custom/utils.lua +++ b/lua/custom/utils.lua @@ -1,9 +1,9 @@ local M = {} --- this function will split a string into a table of tokens, like it would --- be passed into the `argv` of a program that was executed from the commandline --- --- @param string raw string of cli args that should be split --- @return table tokens args as a table +--- this function will split a string into a table of tokens, like it would +--- be passed into the `argv` of a program that was executed from the commandline +--- +--- @param raw string string of cli args that should be split +--- @return table tokens args as a table M.tokenize_args = function(raw) -- NOTE: string.gmatch is does not use regex, but a smaller pattern matcher! -- A complete regex parser would be larger than lua itself. See @@ -47,7 +47,7 @@ end --- dumps a variable into a string, so it can be printed. This is meant for --- debug prints ---- @param any t any variable +--- @param t any variable --- @return string t_dumped t dumped to string M.dump = function(t) if type(t) == 'table' then diff --git a/spell/en.utf-8.add b/spell/en.utf-8.add index c16c782..5ba36f5 100644 --- a/spell/en.utf-8.add +++ b/spell/en.utf-8.add @@ -300,3 +300,5 @@ traceback timestamp LoggerBuilder libpt +T2000 +TINF22CS