Compare commits

..

2 Commits

Author SHA1 Message Date
github-actions[bot] 98aaef0cdc auto-generate vimdoc 2026-04-16 08:14:57 +00:00
timmypidashev 822ee3ad68 feat: blink.cmp highlight groups; fix: flatten Pmenu/Sign/StatusLine bg to Normal
- Add BlinkCmp* highlights (Menu, Border, Doc, Signature, Label*, Kind*)
    mirroring CmpItemKind conventions so blink.cmp users get themed UI without
    any plugin-side wiring.
  - Add FloatBorder and FloatTitle defaults (dim border on Normal bg) so LSP
    hovers, completion docs, and diagnostic floats inherit consistent styling.
  - Pmenu, PmenuSel, PmenuSbar, PmenuThumb: drop background_2 fill; sit on
    background so popups blend with the editor canvas instead of showing a
    gray block.
  - Darkbox*Sign groups: remove background_1 gutter strip; diagnostic, Coc,
    and dap signs now render as plain colored glyphs on the editor bg.
  - StatusLine / StatusLineNC: use foreground on background instead of the
    reversed background_2/foreground_1 pair — no more gray status bar.
2026-04-16 01:14:27 -07:00
2 changed files with 70 additions and 30 deletions
+1 -1
View File
@@ -1,5 +1,5 @@
*darkbox.nvim.txt* *darkbox.nvim.txt*
For Neovim >= 0.8.0 Last change: 2026 April 15 For Neovim >= 0.8.0 Last change: 2026 April 16
============================================================================== ==============================================================================
Table of Contents *darkbox.nvim-table-of-contents* Table of Contents *darkbox.nvim-table-of-contents*
+69 -29
View File
@@ -201,20 +201,15 @@ local function get_groups()
DarkboxAquaBold = { fg = colors.aqua, bold = config.bold }, DarkboxAquaBold = { fg = colors.aqua, bold = config.bold },
DarkboxOrange = { fg = colors.orange }, DarkboxOrange = { fg = colors.orange },
DarkboxOrangeBold = { fg = colors.orange, bold = config.bold }, DarkboxOrangeBold = { fg = colors.orange, bold = config.bold },
DarkboxRedSign = config.transparent_mode and { fg = colors.red, reverse = config.invert_signs } -- Sign groups inherit the editor background; adding a gray block contradicts
or { fg = colors.red, bg = colors.background_1, reverse = config.invert_signs }, -- the pure-black `background` and creates disjoint gutter chrome.
DarkboxGreenSign = config.transparent_mode and { fg = colors.green, reverse = config.invert_signs } DarkboxRedSign = { fg = colors.red, bg = colors.background, reverse = config.invert_signs },
or { fg = colors.green, bg = colors.background_1, reverse = config.invert_signs }, DarkboxGreenSign = { fg = colors.green, bg = colors.background, reverse = config.invert_signs },
DarkboxYellowSign = config.transparent_mode and { fg = colors.yellow, reverse = config.invert_signs } DarkboxYellowSign = { fg = colors.yellow, bg = colors.background, reverse = config.invert_signs },
or { fg = colors.yellow, bg = colors.background_1, reverse = config.invert_signs }, DarkboxBlueSign = { fg = colors.blue, bg = colors.background, reverse = config.invert_signs },
DarkboxBlueSign = config.transparent_mode and { fg = colors.blue, reverse = config.invert_signs } DarkboxPurpleSign = { fg = colors.purple, bg = colors.background, reverse = config.invert_signs },
or { fg = colors.blue, bg = colors.background_1, reverse = config.invert_signs }, DarkboxAquaSign = { fg = colors.aqua, bg = colors.background, reverse = config.invert_signs },
DarkboxPurpleSign = config.transparent_mode and { fg = colors.purple, reverse = config.invert_signs } DarkboxOrangeSign = { fg = colors.orange, bg = colors.background, reverse = config.invert_signs },
or { fg = colors.purple, bg = colors.background_1, reverse = config.invert_signs },
DarkboxAquaSign = config.transparent_mode and { fg = colors.aqua, reverse = config.invert_signs }
or { fg = colors.aqua, bg = colors.background_1, reverse = config.invert_signs },
DarkboxOrangeSign = config.transparent_mode and { fg = colors.orange, reverse = config.invert_signs }
or { fg = colors.orange, bg = colors.background_1, reverse = config.invert_signs },
DarkboxRedUnderline = { undercurl = config.undercurl, sp = colors.red }, DarkboxRedUnderline = { undercurl = config.undercurl, sp = colors.red },
DarkboxGreenUnderline = { undercurl = config.undercurl, sp = colors.green }, DarkboxGreenUnderline = { undercurl = config.undercurl, sp = colors.green },
DarkboxYellowUnderline = { undercurl = config.undercurl, sp = colors.yellow }, DarkboxYellowUnderline = { undercurl = config.undercurl, sp = colors.yellow },
@@ -245,12 +240,12 @@ local function get_groups()
CurSearch = { link = "IncSearch" }, CurSearch = { link = "IncSearch" },
QuickFixLine = { link = "DarkboxPurple" }, QuickFixLine = { link = "DarkboxPurple" },
Underlined = { fg = colors.blue, underline = config.underline }, Underlined = { fg = colors.blue, underline = config.underline },
StatusLine = { fg = colors.background_2, bg = colors.foreground_1, reverse = config.inverse }, StatusLine = { fg = colors.foreground, bg = colors.background },
StatusLineNC = { fg = colors.background_1, bg = colors.foreground_4, reverse = config.inverse }, StatusLineNC = { fg = colors.foreground_4, bg = colors.background },
WinBar = { fg = colors.foreground_4, bg = colors.background }, WinBar = { fg = colors.foreground_4, bg = colors.background },
WinBarNC = { fg = colors.foreground_3, bg = colors.background_1 }, WinBarNC = { fg = colors.foreground_3, bg = colors.background_1 },
WinSeparator = config.transparent_mode and { fg = colors.background_3, bg = nil } WinSeparator = config.transparent_mode and { fg = colors.background_2, bg = nil }
or { fg = colors.background_3, bg = colors.background }, or { fg = colors.background_2, bg = colors.background },
WildMenu = { fg = colors.blue, bg = colors.background_2, bold = config.bold }, WildMenu = { fg = colors.blue, bg = colors.background_2, bold = config.bold },
Directory = { link = "DarkboxGreenBold" }, Directory = { link = "DarkboxGreenBold" },
Title = { link = "DarkboxGreenBold" }, Title = { link = "DarkboxGreenBold" },
@@ -297,10 +292,12 @@ local function get_groups()
StorageClass = { link = "DarkboxOrange" }, StorageClass = { link = "DarkboxOrange" },
Structure = { link = "DarkboxAqua" }, Structure = { link = "DarkboxAqua" },
Typedef = { link = "DarkboxYellow" }, Typedef = { link = "DarkboxYellow" },
Pmenu = { fg = colors.foreground_1, bg = colors.background_2 }, Pmenu = { fg = colors.foreground, bg = colors.background },
PmenuSel = { fg = colors.background_2, bg = colors.blue, bold = config.bold }, PmenuSel = { fg = colors.background, bg = colors.blue, bold = config.bold },
PmenuSbar = { bg = colors.background_2 }, PmenuSbar = { bg = colors.background },
PmenuThumb = { bg = colors.background_4 }, PmenuThumb = { bg = colors.background_2 },
FloatBorder = { fg = colors.background_2, bg = colors.background },
FloatTitle = { fg = colors.foreground, bg = colors.background, bold = config.bold },
DiffDelete = { bg = colors.dark_red }, DiffDelete = { bg = colors.dark_red },
DiffAdd = { bg = colors.dark_green }, DiffAdd = { bg = colors.dark_green },
DiffChange = { bg = colors.dark_aqua }, DiffChange = { bg = colors.dark_aqua },
@@ -345,12 +342,12 @@ local function get_groups()
GitSignsDelete = { fg = colors.red }, GitSignsDelete = { fg = colors.red },
-- barbar.nvim -- barbar.nvim
BufferCurrent = { fg = colors.foreground, bg = colors.background, bold = true }, BufferCurrent = { fg = colors.foreground, bg = colors.background, bold = true },
BufferCurrentIndex = { fg = colors.yellow, bg = colors.background, bold = true }, BufferCurrentIndex = { fg = colors.foreground, bg = colors.background, bold = true },
BufferCurrentMod = { fg = colors.orange, bg = colors.background }, BufferCurrentMod = { fg = colors.orange, bg = colors.background },
BufferCurrentSign = { fg = colors.yellow, bg = colors.background }, BufferCurrentSign = { fg = colors.yellow, bg = colors.background },
BufferCurrentIcon = { fg = colors.aqua, bg = colors.background }, BufferCurrentIcon = { link = "BufferCurrent" },
BufferCurrentTarget = { fg = colors.red, bg = colors.background, bold = true }, BufferCurrentTarget = { fg = colors.red, bg = colors.background, bold = true },
BufferCurrentADDED = { fg = colors.green, bg = colors.background }, BufferCurrentADDED = { fg = colors.green, bg = colors.background },
BufferCurrentCHANGED = { fg = colors.orange, bg = colors.background }, BufferCurrentCHANGED = { fg = colors.orange, bg = colors.background },
BufferCurrentDELETED = { fg = colors.red, bg = colors.background }, BufferCurrentDELETED = { fg = colors.red, bg = colors.background },
@@ -374,7 +371,7 @@ local function get_groups()
BufferTabpages = { fg = colors.yellow, bg = colors.background, bold = true }, BufferTabpages = { fg = colors.yellow, bg = colors.background, bold = true },
BufferTabpageFill = { fg = colors.foreground_4, bg = colors.background }, BufferTabpageFill = { fg = colors.foreground_4, bg = colors.background },
BufferOffset = { fg = colors.foreground_3, bg = colors.background }, BufferOffset = { fg = colors.foreground, bg = colors.background, bold = true },
BufferAlternate = { fg = colors.foreground_2, bg = colors.background }, BufferAlternate = { fg = colors.foreground_2, bg = colors.background },
BufferAlternateSign = { fg = colors.foreground_3, bg = colors.background }, BufferAlternateSign = { fg = colors.foreground_3, bg = colors.background },
BufferAlternateIndex = { fg = colors.foreground_3, bg = colors.background }, BufferAlternateIndex = { fg = colors.foreground_3, bg = colors.background },
@@ -492,6 +489,49 @@ local function get_groups()
CmpItemKindConstant = { link = "DarkboxOrange" }, CmpItemKindConstant = { link = "DarkboxOrange" },
CmpItemKindStruct = { link = "DarkboxYellow" }, CmpItemKindStruct = { link = "DarkboxYellow" },
CmpItemKindTypeParameter = { link = "DarkboxYellow" }, CmpItemKindTypeParameter = { link = "DarkboxYellow" },
-- blink.cmp: mirror the nvim-cmp conventions so the completion UI is
-- themed without any plugin-side wiring.
BlinkCmpMenu = { link = "NormalFloat" },
BlinkCmpMenuBorder = { link = "FloatBorder" },
BlinkCmpMenuSelection = { link = "PmenuSel" },
BlinkCmpDoc = { link = "NormalFloat" },
BlinkCmpDocBorder = { link = "FloatBorder" },
BlinkCmpSignatureHelp = { link = "NormalFloat" },
BlinkCmpSignatureHelpBorder = { link = "FloatBorder" },
BlinkCmpLabel = { link = "NormalFloat" },
BlinkCmpLabelMatch = { link = "DarkboxGreenBold" },
BlinkCmpLabelDetail = { link = "Comment" },
BlinkCmpLabelDescription = { link = "Comment" },
BlinkCmpLabelDeprecated = { fg = colors.foreground_4, strikethrough = true },
BlinkCmpGhostText = { link = "Comment" },
BlinkCmpKind = { link = "CmpItemKind" },
BlinkCmpKindText = { link = "CmpItemKindText" },
BlinkCmpKindMethod = { link = "CmpItemKindMethod" },
BlinkCmpKindFunction = { link = "CmpItemKindFunction" },
BlinkCmpKindConstructor = { link = "CmpItemKindConstructor" },
BlinkCmpKindField = { link = "CmpItemKindField" },
BlinkCmpKindVariable = { link = "CmpItemKindVariable" },
BlinkCmpKindClass = { link = "CmpItemKindClass" },
BlinkCmpKindInterface = { link = "CmpItemKindInterface" },
BlinkCmpKindModule = { link = "CmpItemKindModule" },
BlinkCmpKindProperty = { link = "CmpItemKindProperty" },
BlinkCmpKindUnit = { link = "CmpItemKindUnit" },
BlinkCmpKindValue = { link = "CmpItemKindValue" },
BlinkCmpKindEnum = { link = "CmpItemKindEnum" },
BlinkCmpKindKeyword = { link = "CmpItemKindKeyword" },
BlinkCmpKindSnippet = { link = "CmpItemKindSnippet" },
BlinkCmpKindColor = { link = "CmpItemKindColor" },
BlinkCmpKindFile = { link = "CmpItemKindFile" },
BlinkCmpKindReference = { link = "CmpItemKindReference" },
BlinkCmpKindFolder = { link = "CmpItemKindFolder" },
BlinkCmpKindEnumMember = { link = "CmpItemKindEnumMember" },
BlinkCmpKindConstant = { link = "CmpItemKindConstant" },
BlinkCmpKindStruct = { link = "CmpItemKindStruct" },
BlinkCmpKindEvent = { link = "CmpItemKindEvent" },
BlinkCmpKindOperator = { link = "CmpItemKindOperator" },
BlinkCmpKindTypeParameter = { link = "CmpItemKindTypeParameter" },
diffAdded = { link = "DiffAdd" }, diffAdded = { link = "DiffAdd" },
diffRemoved = { link = "DiffDelete" }, diffRemoved = { link = "DiffDelete" },
diffChanged = { link = "DiffChange" }, diffChanged = { link = "DiffChange" },