fix: pmenu highlights #10

Normal is shared among all highlight namespaces.
It only works correctly if set using vim.cmd while the api does not
support the global 0 namespace.
This commit is contained in:
2021-12-31 03:02:37 -03:00
parent 232b2d3d48
commit 7a118792de

View File

@@ -15,6 +15,16 @@ local function load_highlights(highlights)
end end
end end
local function load_highlights_legacy(highlights)
local bg, fg, hl_cmd
for group_name, group_settings in pairs(highlights) do
bg = group_settings.bg and "guibg=" .. group_settings.bg or "guibg=NONE"
fg = group_settings.fg and "guifg=" .. group_settings.fg or "guifg=NONE"
hl_cmd = "highlight " .. group_name .. " " .. bg .. " " .. fg
vim.cmd(hl_cmd)
end
end
hl.predef = { hl.predef = {
Fg = { fg = p.fg }, Fg = { fg = p.fg },
Grey = { fg = p.grey }, Grey = { fg = p.grey },
@@ -31,8 +41,11 @@ hl.predef = {
YellowItalic = { fg = p.yellow, italic = cfg.italic }, YellowItalic = { fg = p.yellow, italic = cfg.italic },
} }
hl.common = { hl.legacy = {
Normal = { fg = p.fg, bg = cfg.bg and p.none or p.bg0 }, Normal = { fg = p.fg, bg = cfg.bg and p.none or p.bg0 },
}
hl.common = {
Terminal = { fg = p.fg, bg = cfg.bg and p.none or p.bg0 }, Terminal = { fg = p.fg, bg = cfg.bg and p.none or p.bg0 },
EndOfBuffer = { fg = p.bg2, bg = cfg.bg and p.none or p.bg0 }, EndOfBuffer = { fg = p.bg2, bg = cfg.bg and p.none or p.bg0 },
FoldColumn = { fg = p.fg, bg = cfg.bg and p.none or p.bg1 }, FoldColumn = { fg = p.fg, bg = cfg.bg and p.none or p.bg1 },
@@ -64,11 +77,11 @@ hl.common = {
NonText = { fg = p.bg4 }, NonText = { fg = p.bg4 },
Whitespace = { fg = p.bg4 }, Whitespace = { fg = p.bg4 },
SpecialKey = { fg = p.bg4 }, SpecialKey = { fg = p.bg4 },
Pmenu = { fg = p.fg, bg = p.bg2 }, Pmenu = { fg = p.fg, bg = p.bg0 },
PmenuSbar = { fg = p.none, bg = p.bg2 }, PmenuSbar = { fg = p.none, bg = p.bg0 },
PmenuSel = { fg = p.bg0, bg = p.bg_green }, PmenuSel = { fg = p.bg0, bg = p.bg_green },
PmenuThumb = { fg = p.none, bg = p.bg2 },
WildMenu = { fg = p.bg0, bg = p.blue }, WildMenu = { fg = p.bg0, bg = p.blue },
PmenuThumb = { fg = p.none, bg = p.grey },
Question = { fg = p.yellow }, Question = { fg = p.yellow },
SpellBad = { fg = p.red, underline = true, sp = p.red }, SpellBad = { fg = p.red, underline = true, sp = p.red },
SpellCap = { fg = p.yellow, underline = true, sp = p.yellow }, SpellCap = { fg = p.yellow, underline = true, sp = p.yellow },
@@ -294,6 +307,7 @@ function M.clear_namespace()
end end
local function load_sync() local function load_sync()
load_highlights_legacy(hl.legacy)
load_highlights(hl.predef) load_highlights(hl.predef)
load_highlights(hl.common) load_highlights(hl.common)
load_highlights(hl.syntax) load_highlights(hl.syntax)