diff options
author | Steven Le Rouzic <steven.lerouzic@gmail.com> | 2023-04-02 17:44:43 +0200 |
---|---|---|
committer | Steven Le Rouzic <steven.lerouzic@gmail.com> | 2023-04-02 17:44:43 +0200 |
commit | 65f0046083b6239bdd76a81af63e3cad4516c75a (patch) | |
tree | 46677f49f4d34e40f6a0c8ae87732823c836f6c6 /lua/lsp.lua |
Initial commit
Diffstat (limited to 'lua/lsp.lua')
-rw-r--r-- | lua/lsp.lua | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/lua/lsp.lua b/lua/lsp.lua new file mode 100644 index 0000000..4e0cf17 --- /dev/null +++ b/lua/lsp.lua @@ -0,0 +1,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() + |