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:
@@ -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)
|
||||||
|
|||||||
Reference in New Issue
Block a user