From ee64eb6981a1a0ae7663b10c12fbfaae321e6353 Mon Sep 17 00:00:00 2001 From: Benjamin Kyd Date: Mon, 30 Sep 2024 15:20:10 +0100 Subject: [PATCH] Update lsp-general.lua --- common/.config/nvim/lua/lsp-general.lua | 44 ++++++++++++++++++++----- 1 file changed, 35 insertions(+), 9 deletions(-) diff --git a/common/.config/nvim/lua/lsp-general.lua b/common/.config/nvim/lua/lsp-general.lua index d609a6f..6ea21f3 100644 --- a/common/.config/nvim/lua/lsp-general.lua +++ b/common/.config/nvim/lua/lsp-general.lua @@ -260,6 +260,14 @@ local cmp_config = { completion = cmp.config.window.bordered(), documentation = cmp.config.window.bordered() }, + completion = { + completeopt = "menu,menuone,preview,noselect", + }, + snippet = { + expand = function(args) + luasnip.lsp_expand(args.body) + end, + }, formatting = { fields = { "kind", "abbr", "menu" }, format = function(entry, vim_item) @@ -267,15 +275,34 @@ local cmp_config = { buffer = "", nvim_lsp = "", })[entry.source.name] - - -- add hints bc im stupid - vim_item.menu = (vim_item.menu or ' ') .. ' ' .. vim_item.kind - - vim_item.kind = (cmp_kinds[vim_item.kind] or '') - - return vim_item + local kind = vim_item.kind + vim_item.kind = " " .. (cmp_kinds[kind] or "?") .. "" + local source = entry.source.name + vim_item.menu = "[" .. source .. "]" + return vim_item end, - } + }, + sorting = { + priority_weight = 1.0, + comparators = { + compare.offset, + compare.exact, + compare.score, + compare.recently_used, + require("cmp-under-comparator").under, + compare.kind, + }, + }, + matching = { + disallow_fuzzy_matching = true, + disallow_fullfuzzy_matching = true, + disallow_partial_fuzzy_matching = true, + disallow_partial_matching = false, + disallow_prefix_unmatching = true, + }, + performance = { + max_view_entries = 20, + }, } cmp.setup(cmp_config) @@ -284,4 +311,3 @@ vim.api.nvim_set_hl(0, "CmpItemMenu", { italic = true }) vim.diagnostic.config({ virtual_text = true }) -