Files
nvim/lua/plugins/lsp-config.lua
T
2025-04-23 08:21:07 +02:00

63 lines
1.5 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", "rust_analyzer" },
})
end,
},
{
"neovim/nvim-lspconfig",
config = function()
local capabilities = require("cmp_nvim_lsp").default_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,
})
lspconfig.rust_analyzer.setup({
capabilities = capabilities,
})
lspconfig.sourcekit.setup({
capabilities = capabilities,
})
lspconfig.jedi_language_server.setup({
capabilities = capabilities,
})
lspconfig.gopls.setup({
capabilities = capabilities,
})
lspconfig.ltex.setup({
on_attach = function()
require("ltex_extra").setup({
load_langs = { "de-DE" },
})
end,
filetypes = { "markdown", "text", "latex" },
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, {})
end,
},
}