X-Git-Url: https://src.twobees.de/?a=blobdiff_plain;f=stow%2Fnvim%2F.config%2Fnvim%2Fafter%2Fplugin%2Flspsetup.lua;h=9fe45066432a176989bf15ce4d85b64b68b2758b;hb=475ba35502579302593f4735c853c49ef1845dcb;hp=170bfebfafe6024675e8c6942643295ebfd85166;hpb=a424c0121e51e6b9d66c6bba2ef681a06101b8aa;p=dotfiles.git diff --git a/stow/nvim/.config/nvim/after/plugin/lspsetup.lua b/stow/nvim/.config/nvim/after/plugin/lspsetup.lua index 170bfeb..9fe4506 100644 --- a/stow/nvim/.config/nvim/after/plugin/lspsetup.lua +++ b/stow/nvim/.config/nvim/after/plugin/lspsetup.lua @@ -10,12 +10,36 @@ lsp.configure('sumneko_lua', { } } }) + +lsp.on_attach = function (_, bufnr) + local options = { buffer = bufnr, remap = false } + vim.keymap.set ("n", "K", vim.lsp.buf.hover, options) -- buffer=0 -> only in current buffer + vim.keymap.set ("n", "gd", vim.lsp.buf.definition, options) -- goto definition + vim.keymap.set ("n", "gT", vim.lsp.buf.type_definition, options) -- goto typedefinition + vim.keymap.set ("n", "gi", vim.lsp.buf.implementation, options) -- goto implementation + vim.keymap.set ("n", "dj", vim.diagnostic.goto_next, options) -- goto dignostic next + vim.keymap.set ("n", "dk", vim.diagnostic.goto_prev, options) -- goto diognostic prev + vim.keymap.set ("n", "dl", "Telescope diagnostic", options) -- goto list failure + vim.keymap.set ("n", "r", vim.lsp.buf.rename, options) +end + +local cmp = require('cmp') +local cmp_select = {behavior = cmp.SelectBehavior.Select} +local cmp_mappings = lsp.defaults.cmp_mappings({ + [''] = cmp.mapping.select_prev_item(cmp_select), + [''] = cmp.mapping.select_next_item(cmp_select), + [''] = cmp.mapping.confirm({ select = true }), + [""] = cmp.mapping.complete(), +}) + +lsp.setup_nvim_cmp({ + mapping = cmp_mappings, +}) + +cmp.setup({ + experimental = { ghost_text = true }, +}); + lsp.setup() -vim.lsp.handlers["textDocument/publishDiagnostics"] = -vim.lsp.with( - vim.lsp.diagnostic.on_publish_diagnostics, - { - virtual_text = true, -- inline diagnostic on line end - } -) +vim.diagnostic.config( { virtual_text = true } )