Files
nvim/lua/plugins/lsp-config.lua
T
2025-06-21 09:49:38 +02:00

59 lines
1.2 KiB
Lua

return {
{
"williamboman/mason.nvim",
config = function()
require("mason").setup()
end,
},
{
"williamboman/mason-lspconfig.nvim",
opts = {
ensure_installed = {
"lua_ls",
"ts_ls",
"svelte",
"tailwindcss",
"cssls",
"tinymist",
},
},
},
{
"neovim/nvim-lspconfig",
dependencies = {
"williamboman/mason-lspconfig.nvim",
},
config = function()
local capabilities = require("blink.cmp").get_lsp_capabilities(vim.lsp.protocol.make_client_capabilities())
local lspconfig = require("lspconfig")
local mason_lspconfig = require("mason-lspconfig")
local mason_servers = mason_lspconfig.get_installed_servers()
local manual_servers = {
"sourcekit",
}
for _, server in ipairs(vim.tbl_extend("force", mason_servers, manual_servers)) do
lspconfig[server].setup({
capabilities = capabilities,
})
end
local map = vim.keymap.set
map("n", "gd", vim.lsp.buf.definition, {})
map("n", "K", vim.lsp.buf.hover, {})
map({ "n", "v" }, "<leader>ca", vim.lsp.buf.code_action, {})
vim.diagnostic.config({
virtual_text = true,
signs = true,
update_in_insert = true,
underline = true,
severity_sort = false,
float = true,
})
end,
},
}