mirror of
https://github.com/neovim/neovim.git
synced 2025-02-25 18:55:25 -06:00
Merge pull request #17525 from lf-/hardcopy-truecolor
feat(hardcopy): check gui colours for highlights first
This commit is contained in:
commit
525a3a90bc
@ -386,30 +386,43 @@ static uint32_t prt_get_term_color(int colorindex)
|
|||||||
return cterm_color_8[colorindex % 8];
|
return cterm_color_8[colorindex % 8];
|
||||||
}
|
}
|
||||||
|
|
||||||
static void prt_get_attr(int hl_id, prt_text_attr_T *pattr, int modec)
|
static uint32_t prt_get_color(int hl_id, int modec)
|
||||||
{
|
{
|
||||||
int colorindex;
|
int colorindex;
|
||||||
uint32_t fg_color;
|
uint32_t fg_color;
|
||||||
|
|
||||||
|
const char *color = highlight_color(hl_id, "fg#", 'g');
|
||||||
|
if (color != NULL) {
|
||||||
|
RgbValue rgb = name_to_color(color);
|
||||||
|
if (rgb != -1) {
|
||||||
|
return (uint32_t)rgb;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
color = highlight_color(hl_id, "fg", modec);
|
||||||
|
if (color == NULL) {
|
||||||
|
colorindex = 0;
|
||||||
|
} else {
|
||||||
|
colorindex = atoi(color);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (colorindex >= 0 && colorindex < t_colors) {
|
||||||
|
fg_color = prt_get_term_color(colorindex);
|
||||||
|
} else {
|
||||||
|
fg_color = PRCOLOR_BLACK;
|
||||||
|
}
|
||||||
|
|
||||||
|
return fg_color;
|
||||||
|
}
|
||||||
|
|
||||||
|
static void prt_get_attr(int hl_id, prt_text_attr_T *pattr, int modec)
|
||||||
|
{
|
||||||
pattr->bold = (highlight_has_attr(hl_id, HL_BOLD, modec) != NULL);
|
pattr->bold = (highlight_has_attr(hl_id, HL_BOLD, modec) != NULL);
|
||||||
pattr->italic = (highlight_has_attr(hl_id, HL_ITALIC, modec) != NULL);
|
pattr->italic = (highlight_has_attr(hl_id, HL_ITALIC, modec) != NULL);
|
||||||
pattr->underline = (highlight_has_attr(hl_id, HL_UNDERLINE, modec) != NULL);
|
pattr->underline = (highlight_has_attr(hl_id, HL_UNDERLINE, modec) != NULL);
|
||||||
pattr->undercurl = (highlight_has_attr(hl_id, HL_UNDERCURL, modec) != NULL);
|
pattr->undercurl = (highlight_has_attr(hl_id, HL_UNDERCURL, modec) != NULL);
|
||||||
|
|
||||||
{
|
uint32_t fg_color = prt_get_color(hl_id, modec);
|
||||||
const char *color = highlight_color(hl_id, "fg", modec);
|
|
||||||
if (color == NULL) {
|
|
||||||
colorindex = 0;
|
|
||||||
} else {
|
|
||||||
colorindex = atoi(color);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (colorindex >= 0 && colorindex < t_colors) {
|
|
||||||
fg_color = prt_get_term_color(colorindex);
|
|
||||||
} else {
|
|
||||||
fg_color = PRCOLOR_BLACK;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (fg_color == PRCOLOR_WHITE) {
|
if (fg_color == PRCOLOR_WHITE) {
|
||||||
fg_color = PRCOLOR_BLACK;
|
fg_color = PRCOLOR_BLACK;
|
||||||
|
Loading…
Reference in New Issue
Block a user