From 8e3af0ec0079b599fb57f97653b2f20f98e2a5bb Mon Sep 17 00:00:00 2001 From: Lopy <70210066+lopi-py@users.noreply.github.com> Date: Sun, 10 Nov 2024 17:15:30 -0500 Subject: [PATCH] fix: tailwind colors (#306) Co-authored-by: Liam Dyer --- README.md | 4 ++-- lua/blink/cmp/config.lua | 6 ++++-- lua/blink/cmp/utils.lua | 4 ++-- 3 files changed, 8 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index 682e2075..cbdcf193 100644 --- a/README.md +++ b/README.md @@ -430,14 +430,14 @@ MiniDeps.add({ kind_icon = { ellipsis = false, text = function(ctx) return ctx.kind_icon end, - highlight = function(ctx) return 'BlinkCmpKind' .. ctx.kind end, + highlight = function(ctx) return utils.get_tailwind_hl(ctx) or 'BlinkCmpKind' .. ctx.kind end, }, kind = { ellipsis = false, width = { fill = true }, text = function(ctx) return ctx.kind end, - highlight = function(ctx) return 'BlinkCmpKind' .. ctx.kind end, + highlight = function(ctx) return utils.get_tailwind_hl(ctx) or 'BlinkCmpKind' .. ctx.kind end, }, label = { diff --git a/lua/blink/cmp/config.lua b/lua/blink/cmp/config.lua index 1dfcb263..e225f3fb 100644 --- a/lua/blink/cmp/config.lua +++ b/lua/blink/cmp/config.lua @@ -174,6 +174,8 @@ --- @field kind_icons? table --- @field blocked_filetypes? string[] +local utils = require('blink.cmp.utils') + --- @type blink.cmp.Config local config = { -- the keymap may be a preset ('default' | 'super-tab' | 'enter') OR a table of keys => command[] @@ -408,14 +410,14 @@ local config = { kind_icon = { ellipsis = false, text = function(ctx) return ctx.kind_icon end, - highlight = function(ctx) return 'BlinkCmpKind' .. ctx.kind end, + highlight = function(ctx) return utils.get_tailwind_hl(ctx) or 'BlinkCmpKind' .. ctx.kind end, }, kind = { ellipsis = false, width = { fill = true }, text = function(ctx) return ctx.kind end, - highlight = function(ctx) return 'BlinkCmpKind' .. ctx.kind end, + highlight = function(ctx) return utils.get_tailwind_hl(ctx) or 'BlinkCmpKind' .. ctx.kind end, }, label = { diff --git a/lua/blink/cmp/utils.lua b/lua/blink/cmp/utils.lua index f81209ac..cc0cb976 100644 --- a/lua/blink/cmp/utils.lua +++ b/lua/blink/cmp/utils.lua @@ -85,11 +85,11 @@ end --- @param ctx blink.cmp.DrawItemContext --- @return string|nil -function utils.try_get_tailwind_hl(ctx) +function utils.get_tailwind_hl(ctx) local doc = ctx.item.documentation if ctx.kind == 'Color' and doc then local content = type(doc) == 'string' and doc or doc.value - if ctx.kind == 'Color' and content and content:match('^#%x%x%x%x%x%x$') then + if content and content:match('^#%x%x%x%x%x%x$') then local hl_name = 'HexColor' .. content:sub(2) if #vim.api.nvim_get_hl(0, { name = hl_name }) == 0 then vim.api.nvim_set_hl(0, hl_name, { fg = content }) end return hl_name