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", "t", vim.diagnostic.open_float) vim.keymap.set("n", "sr", vim.lsp.buf.rename) vim.keymap.set("n", "gD", vim.lsp.buf.declaration, opts) vim.keymap.set("n", "gd", vim.lsp.buf.definition, opts) vim.keymap.set("n", "gi", vim.lsp.buf.implementation, opts) vim.keymap.set("n", "ca", vim.lsp.buf.code_action, opts) vim.keymap.set("v", "ca", vim.lsp.buf.code_action, opts) vim.keymap.set("n", "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)