From efabf4376b36594dc522b82e53a9803380df6b3b Mon Sep 17 00:00:00 2001 From: Fey Naomi Schrewe Date: Thu, 12 Sep 2024 10:02:39 +0200 Subject: [PATCH] feat: fix lsp --- lua/lsp-setup.lua | 116 +++++++++++++++++++++++++--------------------- 1 file changed, 62 insertions(+), 54 deletions(-) diff --git a/lua/lsp-setup.lua b/lua/lsp-setup.lua index 8e0c4a4..e975547 100644 --- a/lua/lsp-setup.lua +++ b/lua/lsp-setup.lua @@ -1,69 +1,82 @@ -local lspconfig = require('lspconfig') +local lspconfig = require("lspconfig") local capabilities = require("cmp_nvim_lsp").default_capabilities() -lspconfig.lua_ls.setup { - root_dir = function() return vim.fs.root(0, '.git') end, - capabilities = capabilities -} -lspconfig.ts_ls.setup { - root_dir = function() return vim.fs.root(0, '.git') end, - capabilities = capabilities -} -lspconfig.eslint.setup { - root_dir = function() return vim.fs.root(0, '.git') end, - capabilities = capabilities -} -lspconfig.angularls.setup { - root_dir = function() return vim.fs.root(0, '.git') end, - capabilities = capabilities -} -lspconfig.ccls.setup { - root_dir = function() return vim.fs.root(0, '.git') end, - capabilities = capabilities -} -lspconfig.nixd.setup { - root_dir = function() return vim.fs.root(0, '.git') end, - capabilities = capabilities -} +lspconfig.lua_ls.setup({ + root_dir = function() + return vim.fs.root(0, ".git") + end, + capabilities = capabilities, +}) +lspconfig.ts_ls.setup({ + root_dir = function() + return vim.fs.root(0, ".git") + end, + capabilities = capabilities, +}) +lspconfig.eslint.setup({ + root_dir = function() + return vim.fs.root(0, ".git") + end, + capabilities = capabilities, +}) +lspconfig.angularls.setup({ + root_dir = function() + return vim.fs.root(0, ".git") + end, + capabilities = capabilities, +}) +lspconfig.ccls.setup({ + root_dir = function() + return vim.fs.root(0, ".git") + end, + capabilities = capabilities, +}) +lspconfig.nixd.setup({ + root_dir = function() + return vim.fs.root(0, ".git") + end, + capabilities = capabilities, +}) -- Global mappings. -- See `:help vim.diagnostic.*` for documentation on any of the below functions -vim.keymap.set('n', 'e', vim.diagnostic.open_float, { - desc = 'Open LSP diagnostics' +vim.keymap.set("n", "e", vim.diagnostic.open_float, { + desc = "Open LSP diagnostics", }) -vim.keymap.set('n', '[d', vim.diagnostic.goto_prev, { - desc = 'Go to previous LSP diagnostic' +vim.keymap.set("n", "[d", vim.diagnostic.goto_prev, { + desc = "Go to previous LSP diagnostic", }) -vim.keymap.set('n', ']d', vim.diagnostic.goto_next, { - desc = 'Go to next LSP diagnostic' +vim.keymap.set("n", "]d", vim.diagnostic.goto_next, { + desc = "Go to next LSP diagnostic", }) -- Use LspAttach autocommand to only map the following keys -- after the language server attaches to the current buffer -vim.api.nvim_create_autocmd('LspAttach', { - group = vim.api.nvim_create_augroup('UserLspConfig', {}), +vim.api.nvim_create_autocmd("LspAttach", { + group = vim.api.nvim_create_augroup("UserLspConfig", {}), callback = function(ev) + local buffer_options = vim.bo[ev.buf] + -- Enable completion triggered by - vim.bo[ev.buf].omnifunc = 'v:lua.vim.lsp.omnifunc' + buffer_options.omnifunc = "v:lua.vim.lsp.omnifunc" -- Buffer local mappings. -- See `:help vim.lsp.*` for documentation on any of the below functions - local opts = function(desc) return { buffer = ev.buf, desc = desc } end - vim.keymap.set('n', 'gD', vim.lsp.buf.declaration, opts('Go to declaration')) - vim.keymap.set('n', 'gd', vim.lsp.buf.definition, opts('Go to definition')) - vim.keymap.set('n', 'K', vim.lsp.buf.hover, opts('Show LSP info')) - vim.keymap.set('n', 'gi', vim.lsp.buf.implementation, opts('Go to implementation')) - vim.keymap.set('n', '', vim.lsp.buf.signature_help, opts('Show function signature')) - vim.keymap.set('n', 'wa', vim.lsp.buf.add_workspace_folder, opts('Add workspace folder')) - vim.keymap.set('n', 'wr', vim.lsp.buf.remove_workspace_folder, opts('Remove workspace folder')) - vim.keymap.set('n', 'D', vim.lsp.buf.type_definition, opts('Go to type definition')) - vim.keymap.set('n', 'r', vim.lsp.buf.rename, opts('Rename symbol')) - vim.keymap.set({ 'n', 'v' }, 'x', vim.lsp.buf.code_action, opts('Execute code action')) - vim.keymap.set('n', 'gr', vim.lsp.buf.references, opts('Go to references')) - vim.keymap.set('n', 'f', function() - vim.lsp.buf.format { async = true } - end, opts('Format buffer with LSP')) + local opts = function(desc) + return { buffer = ev.buf, desc = desc } + end + vim.keymap.set("n", "gD", vim.lsp.buf.declaration, opts("Go to declaration")) + vim.keymap.set("n", "gd", vim.lsp.buf.definition, opts("Go to definition")) + vim.keymap.set("n", "K", vim.lsp.buf.hover, opts("Show LSP info")) + vim.keymap.set("n", "gi", vim.lsp.buf.implementation, opts("Go to implementation")) + vim.keymap.set("n", "", vim.lsp.buf.signature_help, opts("Show function signature")) + vim.keymap.set("n", "wa", vim.lsp.buf.add_workspace_folder, opts("Add workspace folder")) + vim.keymap.set("n", "wr", vim.lsp.buf.remove_workspace_folder, opts("Remove workspace folder")) + vim.keymap.set("n", "D", vim.lsp.buf.type_definition, opts("Go to type definition")) + vim.keymap.set("n", "r", vim.lsp.buf.rename, opts("Rename symbol")) + vim.keymap.set({ "n", "v" }, "x", vim.lsp.buf.code_action, opts("Execute code action")) + vim.keymap.set("n", "gr", vim.lsp.buf.references, opts("Go to references")) end, }) @@ -79,8 +92,3 @@ rt.setup({ end, }, }) - -local wk = require 'which-key' -wk.add({ - { 'w', group = 'LSP workspace' } -})