fix: cleanup unnecessary treesitter langs and mason lsp servers

This commit is contained in:
Folke Lemaitre 2024-06-05 18:07:01 +02:00
parent 368c060b45
commit f8268faa7c
No known key found for this signature in database
GPG key ID: 41F8B1FBACAE2040
14 changed files with 32 additions and 86 deletions

View file

@ -5,14 +5,6 @@ return {
root = { "ansible.cfg", ".ansible-lint" }, root = { "ansible.cfg", ".ansible-lint" },
}) })
end, 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", "williamboman/mason.nvim",
opts = function(_, opts) opts = function(_, opts)

View file

@ -18,7 +18,7 @@ return {
"nvim-treesitter/nvim-treesitter", "nvim-treesitter/nvim-treesitter",
opts = function(_, opts) opts = function(_, opts)
if type(opts.ensure_installed) == "table" then if type(opts.ensure_installed) == "table" then
vim.list_extend(opts.ensure_installed, { "c", "cpp" }) vim.list_extend(opts.ensure_installed, { "cpp" })
end end
end, end,
}, },

View file

@ -15,14 +15,6 @@ return {
}) })
end, end,
}, },
{
"williamboman/mason.nvim",
opts = function(_, opts)
vim.list_extend(opts.ensure_installed, {
"elixir-ls",
})
end,
},
{ {
"nvim-neotest/neotest", "nvim-neotest/neotest",
optional = true, optional = true,

View file

@ -26,12 +26,4 @@ return {
}, },
}, },
}, },
{
"williamboman/mason.nvim",
opts = function(_, opts)
vim.list_extend(opts.ensure_installed, {
"helm-ls",
})
end,
},
} }

View file

@ -11,7 +11,7 @@ return {
"nvim-treesitter/nvim-treesitter", "nvim-treesitter/nvim-treesitter",
opts = function(_, opts) opts = function(_, opts)
if type(opts.ensure_installed) == "table" then 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
end, end,
}, },

View file

@ -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", "williamboman/mason.nvim",
opts = function(_, opts) opts = function(_, opts)
opts.ensure_installed = opts.ensure_installed or {} opts.ensure_installed = opts.ensure_installed or {}
vim.list_extend(opts.ensure_installed, { "markdownlint", "marksman" }) vim.list_extend(opts.ensure_installed, { "markdownlint" })
end, end,
}, },
{ {

View file

@ -26,7 +26,7 @@ return {
"nvim-treesitter/nvim-treesitter", "nvim-treesitter/nvim-treesitter",
opts = function(_, opts) opts = function(_, opts)
if type(opts.ensure_installed) == "table" then 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
end, end,
}, },

View file

@ -61,7 +61,7 @@ return {
"nvim-treesitter/nvim-treesitter", "nvim-treesitter/nvim-treesitter",
opts = function(_, opts) opts = function(_, opts)
if type(opts.ensure_installed) == "table" then 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
end, end,
}, },

View file

@ -13,14 +13,6 @@ return {
}) })
end, end,
}, },
{
"williamboman/mason.nvim",
opts = function(_, opts)
vim.list_extend(opts.ensure_installed, {
"solargraph",
})
end,
},
{ {
"neovim/nvim-lspconfig", "neovim/nvim-lspconfig",
opts = { opts = {

View file

@ -32,7 +32,7 @@ return {
"nvim-treesitter/nvim-treesitter", "nvim-treesitter/nvim-treesitter",
opts = function(_, opts) opts = function(_, opts)
opts.ensure_installed = opts.ensure_installed or {} 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, end,
}, },

View file

@ -19,6 +19,7 @@ return {
{ {
"nvim-treesitter/nvim-treesitter", "nvim-treesitter/nvim-treesitter",
opts = function(_, opts) opts = function(_, opts)
opts.highlight = opts.highlight or {}
if type(opts.ensure_installed) == "table" then if type(opts.ensure_installed) == "table" then
vim.list_extend(opts.ensure_installed, { "bibtex" }) vim.list_extend(opts.ensure_installed, { "bibtex" })
end end

View file

@ -5,27 +5,10 @@ return {
root = "*.toml", root = "*.toml",
}) })
end, end,
{ "neovim/nvim-lspconfig",
"nvim-treesitter/nvim-treesitter", opts = {
opts = function(_, opts) servers = {
if type(opts.ensure_installed) == "table" then taplo = {},
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 = {},
},
}, },
}, },
} }

View file

@ -5,16 +5,6 @@ return {
}) })
end, 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 -- yaml schema support
{ {
"b0o/SchemaStore.nvim", "b0o/SchemaStore.nvim",

View file

@ -19,7 +19,8 @@ describe("Extra", function()
return name:match("%.lua$") return name:match("%.lua$")
end, { limit = math.huge, type = "file", path = "lua/lazyvim/plugins/extras" }) 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({ local tsspec = Plugin.Spec.new({
import = "lazyvim.plugins.treesitter", import = "lazyvim.plugins.treesitter",
@ -43,16 +44,27 @@ describe("Extra", function()
if extra.modname:find("%.lang%.") then if extra.modname:find("%.lang%.") then
assert(mod.recommended, "`recommended` not set for " .. extra.modname) assert(mod.recommended, "`recommended` not set for " .. extra.modname)
local mason = spec.plugins["mason.nvim"] local lspconfig = spec.plugins["nvim-lspconfig"]
local opts = Plugin.values(mason, "opts", false)
for _, v in ipairs(opts.ensure_installed) do if lspconfig then
assert( local lspconfig_opts = Plugin.values(lspconfig, "opts", false)
not servers[v], local mason = spec.plugins["mason.nvim"]
"LSP server " .. v .. " is installed automatically. Please remove from the mason.nvim spec" 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 end
local ts = spec.plugins["nvim-treesitter"] 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 for _, v in ipairs(opts.ensure_installed) do
assert( assert(
not vim.tbl_contains(tsensure, v), not vim.tbl_contains(tsensure, v),