diff --git a/lua/lazyvim/plugins/extras/lang/ansible.lua b/lua/lazyvim/plugins/extras/lang/ansible.lua index 5f080395..0a3987a6 100644 --- a/lua/lazyvim/plugins/extras/lang/ansible.lua +++ b/lua/lazyvim/plugins/extras/lang/ansible.lua @@ -5,14 +5,6 @@ return { root = { "ansible.cfg", ".ansible-lint" }, }) end, - { - "nvim-treesitter/nvim-treesitter", - opts = function(_, opts) - if type(opts.ensure_installed) == "table" then - vim.list_extend(opts.ensure_installed, { "yaml" }) - end - end, - }, { "williamboman/mason.nvim", opts = function(_, opts) diff --git a/lua/lazyvim/plugins/extras/lang/clangd.lua b/lua/lazyvim/plugins/extras/lang/clangd.lua index 86a1afe7..f9fb1f13 100644 --- a/lua/lazyvim/plugins/extras/lang/clangd.lua +++ b/lua/lazyvim/plugins/extras/lang/clangd.lua @@ -18,7 +18,7 @@ return { "nvim-treesitter/nvim-treesitter", opts = function(_, opts) if type(opts.ensure_installed) == "table" then - vim.list_extend(opts.ensure_installed, { "c", "cpp" }) + vim.list_extend(opts.ensure_installed, { "cpp" }) end end, }, diff --git a/lua/lazyvim/plugins/extras/lang/elixir.lua b/lua/lazyvim/plugins/extras/lang/elixir.lua index a6b9c260..503dbbed 100644 --- a/lua/lazyvim/plugins/extras/lang/elixir.lua +++ b/lua/lazyvim/plugins/extras/lang/elixir.lua @@ -15,14 +15,6 @@ return { }) end, }, - { - "williamboman/mason.nvim", - opts = function(_, opts) - vim.list_extend(opts.ensure_installed, { - "elixir-ls", - }) - end, - }, { "nvim-neotest/neotest", optional = true, diff --git a/lua/lazyvim/plugins/extras/lang/helm.lua b/lua/lazyvim/plugins/extras/lang/helm.lua index de537ba3..566e7975 100644 --- a/lua/lazyvim/plugins/extras/lang/helm.lua +++ b/lua/lazyvim/plugins/extras/lang/helm.lua @@ -26,12 +26,4 @@ return { }, }, }, - { - "williamboman/mason.nvim", - opts = function(_, opts) - vim.list_extend(opts.ensure_installed, { - "helm-ls", - }) - end, - }, } diff --git a/lua/lazyvim/plugins/extras/lang/json.lua b/lua/lazyvim/plugins/extras/lang/json.lua index 3f1de268..688432ec 100644 --- a/lua/lazyvim/plugins/extras/lang/json.lua +++ b/lua/lazyvim/plugins/extras/lang/json.lua @@ -11,7 +11,7 @@ return { "nvim-treesitter/nvim-treesitter", opts = function(_, opts) if type(opts.ensure_installed) == "table" then - vim.list_extend(opts.ensure_installed, { "json", "json5", "jsonc" }) + vim.list_extend(opts.ensure_installed, { "json5" }) end end, }, diff --git a/lua/lazyvim/plugins/extras/lang/markdown.lua b/lua/lazyvim/plugins/extras/lang/markdown.lua index 81f4cc88..fe7c8be4 100644 --- a/lua/lazyvim/plugins/extras/lang/markdown.lua +++ b/lua/lazyvim/plugins/extras/lang/markdown.lua @@ -15,19 +15,11 @@ return { }, }, }, - { - "nvim-treesitter/nvim-treesitter", - opts = function(_, opts) - if type(opts.ensure_installed) == "table" then - vim.list_extend(opts.ensure_installed, { "markdown", "markdown_inline" }) - end - end, - }, { "williamboman/mason.nvim", opts = function(_, opts) opts.ensure_installed = opts.ensure_installed or {} - vim.list_extend(opts.ensure_installed, { "markdownlint", "marksman" }) + vim.list_extend(opts.ensure_installed, { "markdownlint" }) end, }, { diff --git a/lua/lazyvim/plugins/extras/lang/python.lua b/lua/lazyvim/plugins/extras/lang/python.lua index b727b468..8e4f942d 100644 --- a/lua/lazyvim/plugins/extras/lang/python.lua +++ b/lua/lazyvim/plugins/extras/lang/python.lua @@ -26,7 +26,7 @@ return { "nvim-treesitter/nvim-treesitter", opts = function(_, opts) if type(opts.ensure_installed) == "table" then - vim.list_extend(opts.ensure_installed, { "ninja", "python", "rst", "toml" }) + vim.list_extend(opts.ensure_installed, { "ninja", "rst" }) end end, }, diff --git a/lua/lazyvim/plugins/extras/lang/r.lua b/lua/lazyvim/plugins/extras/lang/r.lua index eee57149..b8279e8a 100644 --- a/lua/lazyvim/plugins/extras/lang/r.lua +++ b/lua/lazyvim/plugins/extras/lang/r.lua @@ -61,7 +61,7 @@ return { "nvim-treesitter/nvim-treesitter", opts = function(_, opts) if type(opts.ensure_installed) == "table" then - vim.list_extend(opts.ensure_installed, { "markdown", "markdown_inline", "r", "rnoweb" }) + vim.list_extend(opts.ensure_installed, { "r", "rnoweb" }) end end, }, diff --git a/lua/lazyvim/plugins/extras/lang/ruby.lua b/lua/lazyvim/plugins/extras/lang/ruby.lua index 40ff8005..c9686432 100644 --- a/lua/lazyvim/plugins/extras/lang/ruby.lua +++ b/lua/lazyvim/plugins/extras/lang/ruby.lua @@ -13,14 +13,6 @@ return { }) end, }, - { - "williamboman/mason.nvim", - opts = function(_, opts) - vim.list_extend(opts.ensure_installed, { - "solargraph", - }) - end, - }, { "neovim/nvim-lspconfig", opts = { diff --git a/lua/lazyvim/plugins/extras/lang/rust.lua b/lua/lazyvim/plugins/extras/lang/rust.lua index 5a3c59d7..e53e881e 100644 --- a/lua/lazyvim/plugins/extras/lang/rust.lua +++ b/lua/lazyvim/plugins/extras/lang/rust.lua @@ -32,7 +32,7 @@ return { "nvim-treesitter/nvim-treesitter", opts = function(_, opts) opts.ensure_installed = opts.ensure_installed or {} - vim.list_extend(opts.ensure_installed, { "ron", "rust", "toml" }) + vim.list_extend(opts.ensure_installed, { "ron", "rust" }) end, }, diff --git a/lua/lazyvim/plugins/extras/lang/tex.lua b/lua/lazyvim/plugins/extras/lang/tex.lua index 5d667b40..0b7796b5 100644 --- a/lua/lazyvim/plugins/extras/lang/tex.lua +++ b/lua/lazyvim/plugins/extras/lang/tex.lua @@ -19,6 +19,7 @@ return { { "nvim-treesitter/nvim-treesitter", opts = function(_, opts) + opts.highlight = opts.highlight or {} if type(opts.ensure_installed) == "table" then vim.list_extend(opts.ensure_installed, { "bibtex" }) end diff --git a/lua/lazyvim/plugins/extras/lang/toml.lua b/lua/lazyvim/plugins/extras/lang/toml.lua index 9dcc029d..7b34bce0 100644 --- a/lua/lazyvim/plugins/extras/lang/toml.lua +++ b/lua/lazyvim/plugins/extras/lang/toml.lua @@ -5,27 +5,10 @@ return { root = "*.toml", }) end, - { - "nvim-treesitter/nvim-treesitter", - opts = function(_, opts) - if type(opts.ensure_installed) == "table" then - vim.list_extend(opts.ensure_installed, { "toml" }) - end - end, - }, - { - "williamboman/mason.nvim", - opts = function(_, opts) - opts.ensure_installed = opts.ensure_installed or {} - vim.list_extend(opts.ensure_installed, { "taplo" }) - end, - }, - { - "neovim/nvim-lspconfig", - opts = { - servers = { - taplo = {}, - }, + "neovim/nvim-lspconfig", + opts = { + servers = { + taplo = {}, }, }, } diff --git a/lua/lazyvim/plugins/extras/lang/yaml.lua b/lua/lazyvim/plugins/extras/lang/yaml.lua index 0aa23a2b..b34e2a26 100644 --- a/lua/lazyvim/plugins/extras/lang/yaml.lua +++ b/lua/lazyvim/plugins/extras/lang/yaml.lua @@ -5,16 +5,6 @@ return { }) end, - -- add yaml specific modules to treesitter - { - "nvim-treesitter/nvim-treesitter", - opts = function(_, opts) - if type(opts.ensure_installed) == "table" then - vim.list_extend(opts.ensure_installed, { "yaml" }) - end - end, - }, - -- yaml schema support { "b0o/SchemaStore.nvim", diff --git a/tests/extras/lang_spec.lua b/tests/extras/lang_spec.lua index 7a58be5c..faa43250 100644 --- a/tests/extras/lang_spec.lua +++ b/tests/extras/lang_spec.lua @@ -19,7 +19,8 @@ describe("Extra", function() return name:match("%.lua$") end, { limit = math.huge, type = "file", path = "lua/lazyvim/plugins/extras" }) ) - local servers = require("mason-lspconfig.mappings.server").package_to_lspconfig + local lsp_to_pkg = require("mason-lspconfig.mappings.server").lspconfig_to_package + local pkg_to_lsp = require("mason-lspconfig.mappings.server").package_to_lspconfig local tsspec = Plugin.Spec.new({ import = "lazyvim.plugins.treesitter", @@ -43,16 +44,27 @@ describe("Extra", function() if extra.modname:find("%.lang%.") then assert(mod.recommended, "`recommended` not set for " .. extra.modname) - local mason = spec.plugins["mason.nvim"] - local opts = Plugin.values(mason, "opts", false) - for _, v in ipairs(opts.ensure_installed) do - assert( - not servers[v], - "LSP server " .. v .. " is installed automatically. Please remove from the mason.nvim spec" - ) + local lspconfig = spec.plugins["nvim-lspconfig"] + + if lspconfig then + local lspconfig_opts = Plugin.values(lspconfig, "opts", false) + local mason = spec.plugins["mason.nvim"] + local mason_opts = Plugin.values(mason, "opts", false) + + for lsp in pairs(lspconfig_opts.servers or {}) do + local lsp_pkg = pkg_to_lsp[lsp] + assert( + not (lsp_pkg and vim.tbl_contains(mason_opts.ensure_installed, lsp_pkg)), + "LSP server " + .. lsp + .. " with pkg " + .. (lsp_pkg or "foo") + .. " is installed automatically. Please remove from the mason.nvim spec" + ) + end end local ts = spec.plugins["nvim-treesitter"] - opts = Plugin.values(mason, "opts", false) + local opts = Plugin.values(ts, "opts", false) for _, v in ipairs(opts.ensure_installed) do assert( not vim.tbl_contains(tsensure, v),