mirror of
https://github.com/neovim/neovim.git
synced 2025-02-25 18:55:25 -06:00
fix(hl): return cterm fg/bg even if they match Normal #18981
Fixes #18980 -831fa45ad8
is related but this doesn't regress that - The `cterm_normal_fg_color != ae.cterm_fg_color` comparison is originally carried from patch to patch starting all the way back in29bc6dfabd
where it was avoiding setting a HL attr. But `hlattrs2dict()` now is just informational.
This commit is contained in:
parent
e0aa1d87e8
commit
98e2da7d50
@ -792,11 +792,11 @@ Dictionary hlattrs2dict(HlAttrs ae, bool use_rgb)
|
||||
PUT(hl, "special", INTEGER_OBJ(ae.rgb_sp_color));
|
||||
}
|
||||
} else {
|
||||
if (cterm_normal_fg_color != ae.cterm_fg_color && ae.cterm_fg_color != 0) {
|
||||
if (ae.cterm_fg_color != 0) {
|
||||
PUT(hl, "foreground", INTEGER_OBJ(ae.cterm_fg_color - 1));
|
||||
}
|
||||
|
||||
if (cterm_normal_bg_color != ae.cterm_bg_color && ae.cterm_bg_color != 0) {
|
||||
if (ae.cterm_bg_color != 0) {
|
||||
PUT(hl, "background", INTEGER_OBJ(ae.cterm_bg_color - 1));
|
||||
}
|
||||
}
|
||||
|
@ -133,6 +133,13 @@ describe('API: highlight',function()
|
||||
eq({ underline = true, standout = true, },
|
||||
meths.get_hl_by_name('cursorline', 0));
|
||||
|
||||
-- Test cterm & Normal values. #18024 (tail) & #18980
|
||||
-- Ensure Normal, and groups that match Normal return their fg & bg cterm values
|
||||
meths.set_hl(0, 'Normal', {ctermfg = 17, ctermbg = 213})
|
||||
meths.set_hl(0, 'NotNormal', {ctermfg = 17, ctermbg = 213})
|
||||
-- Note colors are "cterm" values, not rgb-as-ints
|
||||
eq({foreground = 17, background = 213}, nvim("get_hl_by_name", 'Normal', false))
|
||||
eq({foreground = 17, background = 213}, nvim("get_hl_by_name", 'NotNormal', false))
|
||||
end)
|
||||
|
||||
it('nvim_get_hl_id_by_name', function()
|
||||
|
Loading…
Reference in New Issue
Block a user