return { { "williamboman/mason.nvim", config = function() require("mason").setup() end, }, { "williamboman/mason-lspconfig.nvim", config = function() require("mason-lspconfig").setup({ ensure_installed = { "lua_ls", "rust_analyzer", "tsserver", "typst_lsp", "html", "r_language_server", --[[ "vscode-html-language-server" ]] }, }) end, }, { "neovim/nvim-lspconfig", config = function() local capabilities = require("cmp_nvim_lsp").default_capabilities() -- After setting up mason-lspconfig you may set up servers via lspconfig require("lspconfig").lua_ls.setup({ capabilities = capabilities }) -- require("lspconfig").rust_analyzer.setup({capabilities = capabilities}) require("lspconfig").r_language_server.setup({ capabilities = capabilities }) require("lspconfig").html.setup({ capabilities = capabilities }) require("lspconfig").typst_lsp.setup({ capabilities = capabilities, settings = { exportPdf = "onType", -- Choose onType, onSave or never. -- serverPath = "" -- Normally, there is no need to uncomment it. }, }) require("lspconfig").tsserver.setup({ capabilities = capabilities, init_options = { plugins = {}, }, filetypes = { "javascript", "javascript.jsx", "typescript", "typescriptreact", "typescript.tsx" }, }) -- You must make sure volar is setup -- e.g. require'lspconfig'.volar.setup{} -- See volar's section for more information end, }, }