Files
nvim-config/lua/plugins/lsp.lua
2026-04-08 22:34:08 +02:00

42 lines
1.2 KiB
Lua

vim.pack.add({ 'https://github.com/neovim/nvim-lspconfig' })
vim.lsp.enable({ 'lua_ls' })
vim.lsp.enable({ 'clangd' })
vim.lsp.config("rust_analyzer", {
settings = {
["rust-analyzer"] = {
completion =
{
postfix = { enable = false, },
},
}
},
})
vim.lsp.enable('rust_analyzer', {
settings = {
['rust-analyzer'] = {
completion = {
postfix = {
enable = true, -- Postfix snippets
},
},
check = {
command = "clippy",
},
},
},
})
vim.keymap.set("n", "<leader>t", vim.diagnostic.open_float)
vim.keymap.set("n", "<leader>sr", vim.lsp.buf.rename)
vim.keymap.set("n", "<leader>gD", vim.lsp.buf.declaration, opts)
vim.keymap.set("n", "<leader>gd", vim.lsp.buf.definition, opts)
vim.keymap.set("n", "<leader>gi", vim.lsp.buf.implementation, opts)
vim.keymap.set("n", "<leader>ca", vim.lsp.buf.code_action, opts)
vim.keymap.set("v", "<leader>ca", vim.lsp.buf.code_action, opts)
vim.keymap.set("n", "<leader>f", function()
vim.lsp.buf.format({ async = true })
end, opts)
vim.keymap.set("n", "K", vim.lsp.buf.hover, opts)
vim.lsp.inlay_hint.enable(false, nil)