fix(highlight): omit DiffsClear bg on transparent themes
Problem: #178 set `DiffsClear.bg` to a dark fallback (`#1a1a1a`) on transparent themes, painting a visible solid rectangle where the terminal background should show through. Solution: only set `DiffsClear.bg` when `Normal.bg` is defined. Body lines are already protected by `line_hl_group` (`DiffsAdd`/ `DiffsDelete`), which stacks above `hl_group` bg regardless of priority.
This commit is contained in:
parent
59714381f1
commit
fca354c147
2 changed files with 18 additions and 3 deletions
|
|
@ -528,7 +528,11 @@ local function compute_highlight_groups(is_default)
|
|||
local blended_add_text = blend_color(add_bg, bg, text_alpha)
|
||||
local blended_del_text = blend_color(del_bg, bg, text_alpha)
|
||||
|
||||
vim.api.nvim_set_hl(0, 'DiffsClear', { default = dflt, fg = normal_fg, bg = bg })
|
||||
local clear_hl = { default = dflt, fg = normal_fg }
|
||||
if not transparent then
|
||||
clear_hl.bg = bg
|
||||
end
|
||||
vim.api.nvim_set_hl(0, 'DiffsClear', clear_hl)
|
||||
vim.api.nvim_set_hl(0, 'DiffsAdd', { default = dflt, bg = blended_add })
|
||||
vim.api.nvim_set_hl(0, 'DiffsDelete', { default = dflt, bg = blended_del })
|
||||
vim.api.nvim_set_hl(0, 'DiffsAddNr', { default = dflt, fg = add_fg, bg = blended_add })
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue