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",
					"r_language_server", --[[ "vscode-html-language-server" ]]
				},
			})
		end,
	},
	{
		"neovim/nvim-lspconfig",
		config = function()
			-- After setting up mason-lspconfig you may set up servers via lspconfig
			require("lspconfig").lua_ls.setup({})
			require("lspconfig").rust_analyzer.setup({})
			require("lspconfig").r_language_server.setup({})

			require("lspconfig").tsserver.setup({
				init_options = {
					plugins = {},
				},
				filetypes = {
					"javascript",
					"typescript",
				},
			})

			-- You must make sure volar is setup
			-- e.g. require'lspconfig'.volar.setup{}
			-- See volar's section for more information
		end,
	},
}
