From fb3c96d50d625db725940625120012c75afc17f6 Mon Sep 17 00:00:00 2001 From: "Gabriel A. Giovanini" Date: Fri, 14 Jun 2024 19:06:50 +0200 Subject: feat: Initial commit --- lua/gabrielgio/lsp.lua | 45 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 lua/gabrielgio/lsp.lua (limited to 'lua/gabrielgio/lsp.lua') diff --git a/lua/gabrielgio/lsp.lua b/lua/gabrielgio/lsp.lua new file mode 100644 index 0000000..3856db9 --- /dev/null +++ b/lua/gabrielgio/lsp.lua @@ -0,0 +1,45 @@ +local lsp_config = require("lspconfig") + +local function set_key(mode, keys, v, opts) + return vim.keymap.set(mode, keys, v, opts) +end + +local function on_attach(client, bufnr) + do + local bufopts = {noremap = true, silent = true, buffer = bufnr} + set_key("n", "gD", vim.lsp.buf.declaration, bufopts) + set_key("n", "gd", vim.lsp.buf.definition, bufopts) + set_key("n", "K", vim.lsp.buf.hover, bufopts) + set_key("n", "gi", vim.lsp.buf.implementation, bufopts) + set_key("n", "", vim.lsp.buf.signature_help, bufopts) + set_key("n", "rn", vim.lsp.buf.declaration, bufopts) + set_key("n", "ca", vim.lsp.buf.code_action, bufopts) + set_key("n", "f", vim.lsp.buf.formatting, bufopts) + end + return bufnr +end + +local function setup(f) + return f({capabilities = capabilities, on_attach = on_attach}) +end + +local function load_all(l) + for _, v in ipairs(l) do setup(v) end + return nil +end + +load_all({ + lsp_config.rust_analyzer.setup, + lsp_config.clangd.setup, + lsp_config.cssls.setup, + lsp_config.html.setup, + lsp_config.emmet_ls.setup, + lsp_config.lua_ls.setup, + lsp_config.pylsp.setup +}) + +lsp_config.gopls.setup({ + capabilities = capabilities, + cmd_env = {GOFLAGS = "-tags=unit,integration,e2e"}, + on_attach = on_attach +}) -- cgit v1.2.3