mirror of
https://github.com/neovim/neovim.git
synced 2025-02-25 18:55:25 -06:00
tui: simplify branching of rgb vs cterm colors
This commit is contained in:
parent
efaf4732e2
commit
eb509dc7c5
@ -515,20 +515,8 @@ static void update_attrs(UI *ui, int attr_id)
|
||||
}
|
||||
data->print_attr_id = attr_id;
|
||||
HlAttrs attrs = kv_A(data->attrs, (size_t)attr_id);
|
||||
|
||||
int fg = ui->rgb ? attrs.rgb_fg_color : (attrs.cterm_fg_color - 1);
|
||||
if (fg == -1) {
|
||||
fg = ui->rgb ? data->clear_attrs.rgb_fg_color
|
||||
: (data->clear_attrs.cterm_fg_color - 1);
|
||||
}
|
||||
|
||||
int bg = ui->rgb ? attrs.rgb_bg_color : (attrs.cterm_bg_color - 1);
|
||||
if (bg == -1) {
|
||||
bg = ui->rgb ? data->clear_attrs.rgb_bg_color
|
||||
: (data->clear_attrs.cterm_bg_color - 1);
|
||||
}
|
||||
|
||||
int attr = ui->rgb ? attrs.rgb_ae_attr : attrs.cterm_ae_attr;
|
||||
|
||||
bool bold = attr & HL_BOLD;
|
||||
bool italic = attr & HL_ITALIC;
|
||||
bool reverse = attr & HL_INVERSE;
|
||||
@ -596,7 +584,10 @@ static void update_attrs(UI *ui, int attr_id)
|
||||
unibi_out_ext(ui, data->unibi_ext.set_underline_color);
|
||||
}
|
||||
}
|
||||
|
||||
int fg, bg;
|
||||
if (ui->rgb) {
|
||||
fg = (attrs.rgb_fg_color != -1) ? attrs.rgb_fg_color : data->clear_attrs.rgb_fg_color;
|
||||
if (fg != -1) {
|
||||
UNIBI_SET_NUM_VAR(data->params[0], (fg >> 16) & 0xff); // red
|
||||
UNIBI_SET_NUM_VAR(data->params[1], (fg >> 8) & 0xff); // green
|
||||
@ -604,6 +595,7 @@ static void update_attrs(UI *ui, int attr_id)
|
||||
unibi_out_ext(ui, data->unibi_ext.set_rgb_foreground);
|
||||
}
|
||||
|
||||
bg = (attrs.rgb_bg_color != -1) ? attrs.rgb_bg_color : data->clear_attrs.rgb_bg_color;
|
||||
if (bg != -1) {
|
||||
UNIBI_SET_NUM_VAR(data->params[0], (bg >> 16) & 0xff); // red
|
||||
UNIBI_SET_NUM_VAR(data->params[1], (bg >> 8) & 0xff); // green
|
||||
@ -611,11 +603,13 @@ static void update_attrs(UI *ui, int attr_id)
|
||||
unibi_out_ext(ui, data->unibi_ext.set_rgb_background);
|
||||
}
|
||||
} else {
|
||||
fg = attrs.cterm_fg_color ? attrs.cterm_fg_color - 1 : (data->clear_attrs.cterm_fg_color - 1);
|
||||
if (fg != -1) {
|
||||
UNIBI_SET_NUM_VAR(data->params[0], fg);
|
||||
unibi_out(ui, unibi_set_a_foreground);
|
||||
}
|
||||
|
||||
bg = attrs.cterm_bg_color ? attrs.cterm_bg_color - 1 : (data->clear_attrs.cterm_bg_color - 1);
|
||||
if (bg != -1) {
|
||||
UNIBI_SET_NUM_VAR(data->params[0], bg);
|
||||
unibi_out(ui, unibi_set_a_background);
|
||||
|
Loading…
Reference in New Issue
Block a user