diff --git a/lua/plugins/cmp.lua b/lua/plugins/cmp.lua index 47d0157..141ebb8 100644 --- a/lua/plugins/cmp.lua +++ b/lua/plugins/cmp.lua @@ -103,18 +103,16 @@ return { }, }, formatting = { - fields = { 'kind', 'abbr' }, + fields = { 'kind', 'abbr', 'menu' }, expandable_indicator = false, - format = lspkind.cmp_format({ - mode = 'symbol', - menu = ({ - buffer = '[Buffer]', - nvim_lsp = '[LSP]', - luasnip = '[LuaSnip]', - nvim_lua = '[Lua]', - latex_symbols = '[Latex]', - }) - }), + format = function(entry, vim_item) + local kind = require('lspkind').cmp_format({ mode = 'symbol_text', maxwidth = 50 })(entry, vim_item) + local strings = vim.split(kind.kind, '%s', { trimempty = true }) + kind.kind = ' ' .. (strings[1] or '') .. ' ' + kind.menu = ' (' .. (strings[2] or '') .. ')' + + return kind + end, }, }) diff --git a/lua/themes/bamboo.lua b/lua/themes/bamboo.lua index f5d23d2..5ce2467 100644 --- a/lua/themes/bamboo.lua +++ b/lua/themes/bamboo.lua @@ -5,7 +5,7 @@ return { config = function() local colors = require('bamboo.palette') require('bamboo').setup({ - dim_inactive = false, -- Dim inactive windows/buffers + dim_inactive = false, -- Dim inactive windows/buffers lualine = { transparent = false, -- lualine center bar transparency }, @@ -34,7 +34,38 @@ return { ['BlinkCmpMenu'] = { bg = colors.vulgaris.bg2 }, ['BlinkCmpDoc'] = { bg = colors.vulgaris.bg2 }, ['CmpDocumentation'] = { bg = colors.vulgaris.bg2 }, - ['BlinkCmpMenuSelection'] = { bg = colors.vulgaris.grey } + ['BlinkCmpMenuSelection'] = { bg = colors.vulgaris.grey }, + ['PmenuSel'] = { bg = '#282C34', fg = 'NONE' }, + ['Pmenu'] = { fg = '#C5CDD9', bg = '#22252A' }, + ['CmpItemAbbrDeprecated'] = { fg = '#7E8294', bg = 'NONE', strikethrough = true }, + ['CmpItemAbbrMatch'] = { fg = '#82AAFF', bg = 'NONE', bold = true }, + ['CmpItemAbbrMatchFuzzy'] = { fg = '#82AAFF', bg = 'NONE', bold = true }, + ['CmpItemMenu'] = { fg = '#C792EA', bg = 'NONE', italic = true }, + ['CmpItemKindField'] = { fg = '#EED8DA', bg = '#B5585F' }, + ['CmpItemKindProperty'] = { fg = '#EED8DA', bg = '#B5585F' }, + ['CmpItemKindEvent'] = { fg = '#EED8DA', bg = '#B5585F' }, + ['CmpItemKindText'] = { fg = '#C3E88D', bg = '#9FBD73' }, + ['CmpItemKindEnum'] = { fg = '#C3E88D', bg = '#9FBD73' }, + ['CmpItemKindKeyword'] = { fg = '#C3E88D', bg = '#9FBD73' }, + ['CmpItemKindConstant'] = { fg = '#FFE082', bg = '#D4BB6C' }, + ['CmpItemKindConstructor'] = { fg = '#FFE082', bg = '#D4BB6C' }, + ['CmpItemKindReference'] = { fg = '#FFE082', bg = '#D4BB6C' }, + ['CmpItemKindFunction'] = { fg = '#EADFF0', bg = '#A377BF' }, + ['CmpItemKindStruct'] = { fg = '#EADFF0', bg = '#A377BF' }, + ['CmpItemKindClass'] = { fg = '#EADFF0', bg = '#A377BF' }, + ['CmpItemKindModule'] = { fg = '#EADFF0', bg = '#A377BF' }, + ['CmpItemKindOperator'] = { fg = '#EADFF0', bg = '#A377BF' }, + ['CmpItemKindVariable'] = { fg = '#C5CDD9', bg = '#7E8294' }, + ['CmpItemKindFile'] = { fg = '#C5CDD9', bg = '#7E8294' }, + ['CmpItemKindUnit'] = { fg = '#F5EBD9', bg = '#D4A959' }, + ['CmpItemKindSnippet'] = { fg = '#F5EBD9', bg = '#D4A959' }, + ['CmpItemKindFolder'] = { fg = '#F5EBD9', bg = '#D4A959' }, + ['CmpItemKindMethod'] = { fg = '#DDE5F5', bg = '#6C8ED4' }, + ['CmpItemKindValue'] = { fg = '#DDE5F5', bg = '#6C8ED4' }, + ['CmpItemKindEnumMember'] = { fg = '#DDE5F5', bg = '#6C8ED4' }, + ['CmpItemKindInterface'] = { fg = '#D8EEEB', bg = '#58B5A8' }, + ['CmpItemKindColor'] = { fg = '#D8EEEB', bg = '#58B5A8' }, + ['CmpItemKindTypeParameter'] = { fg = '#D8EEEB', bg = '#58B5A8' }, }, }) require('bamboo').load()