Files
nvim/lua/plugins/lsp-config.lua
T
2025-05-23 10:59:30 +02:00

80 lines
1.7 KiB
Lua

return {
{
"williamboman/mason.nvim",
config = function()
require("mason").setup()
end,
},
{
"williamboman/mason-lspconfig.nvim",
config = function()
require("mason-lspconfig").setup({
ensure_installed = { "lua_ls", "ts_ls", "svelte", "tailwindcss", "cssls", "tinymist", "ltex" },
automatic_enable = true,
})
end,
},
{
"neovim/nvim-lspconfig",
config = function()
local original_capabilities = vim.lsp.protocol.make_client_capabilities()
local capabilities = require("blink.cmp").get_lsp_capabilities(original_capabilities)
local lspconfig = require("lspconfig")
lspconfig.lua_ls.setup({
capabilities = capabilities,
})
lspconfig.ts_ls.setup({
capabilities = capabilities,
})
lspconfig.svelte.setup({
capabilities = capabilities,
})
lspconfig.tailwindcss.setup({
capabilities = capabilities,
})
lspconfig.cssls.setup({
capabilities = capabilities,
settings = {
css = {
lint = {
unknownAtRules = "ignore",
},
},
scss = {
lint = {
unknownAtRules = "ignore",
},
},
less = {
lint = {
unknownAtRules = "ignore",
},
},
},
})
lspconfig.sourcekit.setup({
capabilities = capabilities,
})
lspconfig.tinymist.setup({
capabilities = capabilities,
})
lspconfig.ltex.setup({
capabilities = capabilities,
})
vim.keymap.set("n", "gd", vim.lsp.buf.definition, {})
vim.keymap.set("n", "K", vim.lsp.buf.hover, {})
vim.keymap.set({ "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,
},
}