diff options
author | Oliver Marriott <rktjmp@users.noreply.github.com> | 2022-06-19 01:33:58 +1000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-06-18 08:33:58 -0700 |
commit | 1ad6423f02bad6d7941ca38f2d5f7b757811e022 (patch) | |
tree | 4d431afd2e7d3cba853827622fad5f1103c49bd5 /src | |
parent | 901fde60c6a4679648e9c0bd714a0c6dac97fe31 (diff) | |
download | rneovim-1ad6423f02bad6d7941ca38f2d5f7b757811e022.tar.gz rneovim-1ad6423f02bad6d7941ca38f2d5f7b757811e022.tar.bz2 rneovim-1ad6423f02bad6d7941ca38f2d5f7b757811e022.zip |
fix(highlight): use ctermbg/fg instead of bg/fg when use_rgb=false #18982
If `use_rgb` was false, we would attempt to set the `cterm_bg_color` to the
variable `bg`, which is only retrieved from `bg` and `background` keys, not
`ctermbg`. Same for `fg`. This means the values would be `-1` (the default,
un-got value) and we'd always set the returned values to `0`.
My understanding is `fg/bg` is always "gui" values, so instead we should be
using `ctermbg` when needed.
Nb: when looking around I think this function is currently *always* called with
`use_rgb = true`.
Diffstat (limited to 'src')
-rw-r--r-- | src/nvim/highlight.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/nvim/highlight.c b/src/nvim/highlight.c index f6cb166d0f..ee79958034 100644 --- a/src/nvim/highlight.c +++ b/src/nvim/highlight.c @@ -942,9 +942,9 @@ HlAttrs dict2hlattrs(Dict(highlight) *dict, bool use_rgb, int *link_id, Error *e hlattrs.cterm_fg_color = ctermfg == -1 ? 0 : ctermfg + 1; hlattrs.cterm_ae_attr = cterm_mask; } else { + hlattrs.cterm_bg_color = ctermbg == -1 ? 0 : ctermbg + 1; + hlattrs.cterm_fg_color = ctermfg == -1 ? 0 : ctermfg + 1; hlattrs.cterm_ae_attr = cterm_mask; - hlattrs.cterm_bg_color = bg == -1 ? 0 : bg + 1; - hlattrs.cterm_fg_color = fg == -1 ? 0 : fg + 1; } return hlattrs; |