local lsp = require("lsp-zero").preset({}) lsp.on_attach(function(client, b) local nmap = function(keys, func, desc) vim.keymap.set("n", keys, func, { buffer = b, desc = desc }) end nmap("", vim.lsp.buf.rename, "Rename symbol") nmap("ca", vim.lsp.buf.code_action, "Code action") nmap("", vim.lsp.buf.definition, "Go to definition") nmap("fr", require("telescope.builtin").lsp_references, "Find references") nmap("", require("telescope.builtin").lsp_document_symbols, "Find document symbols") nmap("", vim.lsp.buf.hover, "Signature help") end) lsp.ensure_installed({ "clangd", }) require("lspconfig").clangd.setup({}) lsp.setup()