Files
nvim/lua/plugins/lsp-config.lua
T
jannikdonker 3b14da94a9 updated some stuff
updated theme, now auto-switches based on kitty theme. added some tools
for plaintext writing.
2025-04-22 15:44:34 +02:00

84 lines
2.0 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({
settings = {
ltex = {
language = "de-DE", -- or "en-US", "en-GB", etc.
disabledRules = {
["de-DE"] = { "" }, -- or leave empty to enable all
},
},
},
filetypes = { "markdown", "text", "latex" }, -- Add any other types you write in
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 = {
spacing = 4,
format = function(diagnostic)
local msg = diagnostic.message
local max_len = 40
if #msg > max_len then
return msg:sub(1, max_len) .. "…"
end
return msg
end,
},
float = {
border = "rounded",
max_width = 80,
focusable = false,
},
})
end,
},
}