1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
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("<f2>", vim.lsp.buf.rename, "Rename symbol")
nmap("<leader>ca", vim.lsp.buf.code_action, "Code action")
nmap("<f12>", vim.lsp.buf.definition, "Go to definition")
nmap("<leader>fr", require("telescope.builtin").lsp_references, "Find references")
nmap("<c-o>", require("telescope.builtin").lsp_document_symbols, "Find document symbols")
nmap("<c-h>", vim.lsp.buf.hover, "Signature help")
end)
lsp.ensure_installed({
"clangd",
})
require("lspconfig").clangd.setup({})
lsp.setup()
|