vim-settings/neovim/lua/lazy/language_servers.lua

90 lines
2.8 KiB
Lua
Raw Permalink Normal View History

-- #selene: allow(mixed_table)
local utils = require("utils")
return {
{
"https://github.com/neovim/nvim-lspconfig",
version = utils.map_version_rule({
2025-01-15 10:03:03 -08:00
[">=0.8.0"] = "^1",
[">=0.7.0"] = "v0.1.7",
[">=0.6.1"] = "v0.1.2",
[">=0.6.0"] = "v0.1.0",
}),
},
{
-- Language server installer
"https://github.com/williamboman/mason.nvim",
2025-01-15 10:03:03 -08:00
version = "^1",
dependencies = {
{ "https://github.com/neovim/nvim-lspconfig" },
{ "https://github.com/williamboman/mason-lspconfig.nvim" },
},
cmd = {
"Mason",
"MasonInstall",
"MasonLog",
"MasonUninstall",
"MasonUninstallAll",
"MasonUpdate",
},
},
{
-- Neovim language server config
{
"https://github.com/folke/neodev.nvim",
2025-01-15 10:03:03 -08:00
version = "^3",
dependencies = { { "https://github.com/neovim/nvim-lspconfig" } },
ft = { "lua" },
-- Disable for nvim 0.10 because there is lazydev
enabled = vim.fn.has("nvim-0.10") ~= 1,
},
{
"https://github.com/folke/lazydev.nvim",
2025-01-15 10:03:03 -08:00
version = "^1",
dependencies = { { "https://github.com/neovim/nvim-lspconfig" } },
ft = "lua",
opts = {},
enabled = vim.fn.has("nvim-0.10") == 1,
},
},
{
-- Rust analyzer
"https://github.com/mrcjkb/rustaceanvim",
version = "^5",
-- Already loads on ft
lazy = false,
ft = { "rust" },
init = function()
local lsp = require("plugins.lsp")
vim.g.rustaceanvim = {
server = {
capabilities = lsp.merged_capabilities(),
on_attach = lsp.get_default_attach(),
},
}
end,
enabled = vim.fn.has("nvim-0.10") == 1,
},
{
-- Generic linter/formatters in diagnostics API
"https://github.com/nvimtools/none-ls.nvim",
-- This is lazy and configured after lsps loaded in plugins/lsp.lua
lazy = true,
branch = utils.map_version_rule({
[">=0.8.0"] = utils.nil_val,
[">=0.7.0"] = "0.7-compat",
["<0.7.0"] = utils.nil_val, -- use pinned commit
}),
commit = utils.map_version_rule({
[">=0.8.0"] = utils.nil_val,
[">=0.7.0"] = utils.nil_val, -- Use pinned branch
[">=0.6.0"] = "4b403d2d724f48150ded41189ae4866492a8158b",
}),
dependencies = {
{ "https://github.com/nvimtools/none-ls-extras.nvim" },
{ "https://github.com/nvim-lua/plenary.nvim" },
{ "https://github.com/neovim/nvim-lspconfig" },
},
},
}