diff --git a/lua/user/mason/mason-installer.lua b/lua/user/mason/mason-installer.lua index 86b070c..2af35fb 100644 --- a/lua/user/mason/mason-installer.lua +++ b/lua/user/mason/mason-installer.lua @@ -15,15 +15,17 @@ end local servers = { "bashls", - "cssls", "clangd", "cmake", + "cssls", "emmet_ls", "html", - "jsonls", "jedi_language_server", - "rust_analyzer", + "jsonls", "lua_ls", + "phpactor", + "rust_analyzer", + "sqls", "taplo", "texlab", "tsserver", @@ -73,6 +75,16 @@ for _, server in pairs(servers) do goto continue end + if server == "texlab" then + local texlab_opts = require("user.mason.settings.texlab") + opts = vim.tbl_deep_extend("force", texlab_opts, opts) + end + + if server == "sqls" then + local sqls_opts = require("user.mason.settings.sqls") + opts = vim.tbl_deep_extend("force", sqls_opts, opts) + end + lspconfig[server].setup(opts) ::continue:: end diff --git a/lua/user/mason/null-ls.lua b/lua/user/mason/null-ls.lua index 1f87850..16cf934 100644 --- a/lua/user/mason/null-ls.lua +++ b/lua/user/mason/null-ls.lua @@ -21,10 +21,13 @@ mason_null_ls.setup({ "html_lint", "isort", "luacheck", - "markdownlint", "misspell", "mypy", + "phpcbf", + "phpcs", "prettier", + "rustfmt", + "sql-formatter", "shfmt", "yamlfmt", }, @@ -49,9 +52,9 @@ null_ls.setup({ "vim", }, }), - diagnostics.markdownlint, diagnostics.misspell, diagnostics.mypy, + -- diagnostics.phpcs, formatting.autopep8, formatting.beautysh, formatting.clang_format, @@ -71,6 +74,8 @@ null_ls.setup({ "strict", }, }), + formatting.phpcbf, + formatting.rustfmt, formatting.shfmt.with({ extra_filetypes = { "bash", @@ -80,6 +85,7 @@ null_ls.setup({ "zsh", }, }), + formatting.sql_formatter, formatting.stylua, formatting.yamlfmt, }, diff --git a/lua/user/mason/settings/texlab.lua b/lua/user/mason/settings/texlab.lua new file mode 100644 index 0000000..c718b81 --- /dev/null +++ b/lua/user/mason/settings/texlab.lua @@ -0,0 +1,27 @@ +return { + settings = { + texlab = { + auxDirectory = ".", + bibtexFormatter = "texlab", + build = { + args = { "-pdf", "-interaction=nonstopmode", "-synctex=1", "%f" }, + executable = "xelatex", + forwardSearchAfter = false, + onSave = false, + }, + chktex = { + onEdit = false, + onOpenAndSave = false, + }, + diagnosticsDelay = 0, + formatterLineLength = 120, + forwardSearch = { + args = {}, + }, + latexFormatter = "latexindent", + latexindent = { + modifyLineBreaks = false, + }, + }, + }, +}