From b73d408fd9e9b1af65ad3efe8b0cc1244ccd71cf Mon Sep 17 00:00:00 2001 From: Robert Günzler Date: Wed, 30 Apr 2025 13:08:09 +0200 Subject: vim: cmp -> blink MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Robert Günzler --- .vim/lua/internal/completion.lua | 154 --------------------------------------- 1 file changed, 154 deletions(-) delete mode 100644 .vim/lua/internal/completion.lua (limited to '.vim/lua/internal/completion.lua') diff --git a/.vim/lua/internal/completion.lua b/.vim/lua/internal/completion.lua deleted file mode 100644 index 552a45e..0000000 --- a/.vim/lua/internal/completion.lua +++ /dev/null @@ -1,154 +0,0 @@ -vim.opt.completeopt = { 'menu', 'menuone', 'noselect' } -vim.opt.shortmess:append('c') -vim.opt.pumheight = 20 -- max height of completion window - --- re-link the highlight group for the 3rd field in the completion popup --- which is populated with the completion source -vim.schedule(function() - local hl = vim.api.nvim_set_hl - - hl(0, 'CmpItemMenu', { link = 'Comment', force = true }) - - hl(0, 'CmpItemAbbrMatch', { bold = true, force = true }) - hl(0, 'CmpItemAbbrMatchFuzzy', { link = 'CmpItemAbbrMatch', force = true }) - - hl(0, 'CmpItemKindVariable', { link = 'Normal', force = true }) - hl(0, 'CmpItemKindInterface', { link = 'CmpItemKindVariable', force = true }) - hl(0, 'CmpItemKindText', { link = 'CmpItemKindVariable', force = true }) - - hl(0, 'CmpItemKindFunction', { link = 'Function', force = true }) - hl(0, 'CmpItemKindMethod', { link = 'CmpItemKindFunction', force = true }) - - hl(0, 'CmpItemKindKeyword', { link = 'Keyword', force = true }) - hl(0, 'CmpItemKindProperty', { link = 'CmpItemKindKeyword', force = true }) - hl(0, 'CmpItemKindUnit', { link = 'CmpItemKindKeyword', force = true }) -end) - -local cmp = require('cmp') - -cmp.setup({ - sources = { - { name = 'nvim_lsp', keyword_length = 1, group_index = 1 }, - { name = 'nvim_lsp_signature_help', keyword_length = 1, group_index = 1 }, - { name = 'luasnip', keyword_length = 2, group_index = 1 }, - -- { name = 'spell' }, - { name = 'async_path', group_index = 2 }, - { name = 'buffer', keyword_length = 3, group_index = 2 }, - }, - - mapping = { - [''] = cmp.mapping( - cmp.mapping.select_next_item({ behavior = cmp.SelectBehavior.Insert }), - { 'i', 'c' } - ), - [''] = cmp.mapping( - cmp.mapping.select_prev_item({ behavior = cmp.SelectBehavior.Insert }), - { 'i', 'c' } - ), - [''] = cmp.mapping( - cmp.mapping.confirm({ - behavior = cmp.ConfirmBehavior.Insert, - select = true, - }), - { 'i', 'c' } - ), - }, - - -- enable snippet expansion - snippet = { - expand = function(args) - vim.snippet.expand(args.body) - end, - }, - - experimental = { - ghost_text = false, - native_menu = false, - }, - - window = { - completion = { - scrollbar = true, - -- align 'abbr' with cursor, necessary due to 'kind' appearing first - col_offset = -3, - }, - }, - - formatting = { - fields = { 'kind', 'abbr', 'menu' }, - expandable_indicator = true, - format = function(entry, item) - item.dup = 0 -- dedup items from the same source, first one wins - item.menu = '░ ' .. entry.source.name - return require('lspkind').cmp_format({ - mode = 'symbol', - symbol_map = { - -- 󰆼 󱆃 - Array = '󰨾 ', - Boolean = '󰦍 ', - Class = '󰙀 ', - Color = '󰉦 ', - Constant = '󰐀 ', - Constructor = '󱇿 ', - Enum = '󱃢 ', - EnumMember = '󱃡 ', - Event = '󱐋 ', - -- Field = '󰽜 ', - Field = '󰆈 ', - File = '󰈔 ', - Folder = '󰝰 ', - Function = '󰊕 ', - Interface = '󱦜 ', - Key = '󰌋 ', - Keyword = '󰓽 ', - Method = '󰒓 ', - Module = '󰏖 ', - Namespace = '󰆧 ', - Null = '󰎣 ', - Object = '󰘦 ', - Operator = '󱓉 ', - Property = '󰐱 ', - Package = '󰏗 ', - Reference = '󰌹 ', - Snippet = '󰯁 ', - Struct = '󰙅 ', - Text = '󰉿 ', - TypeParameter = '󰌨 ', - Unit = '󰠱 ', - Value = '󰎠 ', - Variable = '󱄑 ', - }, - })(entry, item) - end, - }, -}) - -cmp.setup.cmdline({ ':', '/', '?', '@' }, { - sources = { - { name = 'cmdline', group_index = 1 }, - { name = 'cmdline_history', group_index = 1 }, - { name = 'nvim_lsp_document_symbol', keyword_length = 1, group_index = 1 }, - { name = 'async_path', group_index = 1 }, - { name = 'buffer', group_index = 1 }, - }, - - matching = { - disallow_symbol_nonprefix_matching = false, - }, - - view = { - entries = { selection_order = 'near_cursor' }, - }, - - formatting = { - fields = { 'abbr', 'menu' }, - }, -}) - -cmp.setup.cmdline({ '/', '?' }, { - sources = { - { name = 'nvim_lsp_document_symbol', keyword_length = 1, group_index = 1 }, - { name = 'path', max_item_count = 12, group_index = 1 }, - { name = 'buffer', group_index = 2 }, - }, -}) -- cgit 1.4.1