From 423133102d96556d121a97689be1f4f6542e320c Mon Sep 17 00:00:00 2001 From: Nanderty Date: Thu, 16 Mar 2023 19:34:12 +0100 Subject: wechsel auf lazy --- plugin/zerolsp.lua | 54 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 54 insertions(+) create mode 100644 plugin/zerolsp.lua (limited to 'plugin/zerolsp.lua') diff --git a/plugin/zerolsp.lua b/plugin/zerolsp.lua new file mode 100644 index 0000000..a37bee4 --- /dev/null +++ b/plugin/zerolsp.lua @@ -0,0 +1,54 @@ +local lsp = require('lsp-zero').preset({ + name = 'minimal', + set_lsp_keymaps = true, + manage_nvim_cmp = true, + suggest_lsp_servers = false, +}) + +local luasnip = require("luasnip") +local cmp = require("cmp") + +lsp.setup_nvim_cmp({ + formatting = { + fields = {'abbr', 'menu', 'kind'}, + + mapping = lsp.defaults.cmp_mappings({ + [""] = cmp.mapping(function(fallback) + if cmp.visible() then + cmp.select_next_item() + elseif luasnip.expand_or_jumpable() then + luasnip.expand_or_jump() + elseif has_words_before() then + cmp.complete() + else + fallback() + end + end, { "i", "s" }), + + [""] = cmp.mapping(function(fallback) + if cmp.visible() then + cmp.select_prev_item() + elseif luasnip.jumpable(-1) then + luasnip.jump(-1) + else + fallback() + end + end, { "i", "s" }), + }), + + format = function(entry, item) + local menu_icon = { + nvim_lsp = 'λ', + luasnip = '⋗', + buffer = 'Ω', + path = '🖫', + nvim_lua = 'Π', + } + + item.menu = menu_icon[entry.source.name] + return item + end, + }, +}) + +lsp.setup() -- cgit v1.2.3