diff options
Diffstat (limited to 'lua/blink/cmp/highlights.lua')
| -rw-r--r-- | lua/blink/cmp/highlights.lua | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/lua/blink/cmp/highlights.lua b/lua/blink/cmp/highlights.lua new file mode 100644 index 0000000..97db66f --- /dev/null +++ b/lua/blink/cmp/highlights.lua @@ -0,0 +1,47 @@ +local highlights = {} + +function highlights.setup() + local use_nvim_cmp = require('blink.cmp.config').appearance.use_nvim_cmp_as_default + + --- @param hl_group string Highlight group name, e.g. 'ErrorMsg' + --- @param opts vim.api.keyset.highlight Highlight definition map + --- @return nil + local set_hl = function(hl_group, opts) + opts.default = true -- Prevents overriding existing definitions + vim.api.nvim_set_hl(0, hl_group, opts) + end + + if use_nvim_cmp then + set_hl('BlinkCmpLabel', { link = 'CmpItemAbbr' }) + set_hl('BlinkCmpLabelMatch', { link = 'CmpItemAbbrMatch' }) + end + + set_hl('BlinkCmpLabelDeprecated', { link = use_nvim_cmp and 'CmpItemAbbrDeprecated' or 'NonText' }) + set_hl('BlinkCmpLabelDetail', { link = use_nvim_cmp and 'CmpItemMenu' or 'NonText' }) + set_hl('BlinkCmpLabelDescription', { link = use_nvim_cmp and 'CmpItemMenu' or 'NonText' }) + set_hl('BlinkCmpKind', { link = use_nvim_cmp and 'CmpItemKind' or 'Special' }) + set_hl('BlinkCmpSource', { link = use_nvim_cmp and 'CmpItemMenu' or 'NonText' }) + for _, kind in ipairs(require('blink.cmp.types').CompletionItemKind) do + set_hl('BlinkCmpKind' .. kind, { link = use_nvim_cmp and 'CmpItemKind' .. kind or 'BlinkCmpKind' }) + end + + set_hl('BlinkCmpScrollBarThumb', { link = 'PmenuThumb' }) + set_hl('BlinkCmpScrollBarGutter', { link = 'PmenuSbar' }) + + set_hl('BlinkCmpGhostText', { link = use_nvim_cmp and 'CmpGhostText' or 'NonText' }) + + set_hl('BlinkCmpMenu', { link = 'Pmenu' }) + set_hl('BlinkCmpMenuBorder', { link = 'Pmenu' }) + set_hl('BlinkCmpMenuSelection', { link = 'PmenuSel' }) + + set_hl('BlinkCmpDoc', { link = 'NormalFloat' }) + set_hl('BlinkCmpDocBorder', { link = 'NormalFloat' }) + set_hl('BlinkCmpDocSeparator', { link = 'NormalFloat' }) + set_hl('BlinkCmpDocCursorLine', { link = 'Visual' }) + + set_hl('BlinkCmpSignatureHelp', { link = 'NormalFloat' }) + set_hl('BlinkCmpSignatureHelpBorder', { link = 'NormalFloat' }) + set_hl('BlinkCmpSignatureHelpActiveParameter', { link = 'LspSignatureActiveParameter' }) +end + +return highlights |
