forked from aniani/vim
patch 7.4.1036
Problem: Only terminals with up to 256 colors work properly. Solution: Use the 256 color behavior for all terminals with 256 or more colors. (Robert de Bath, closes #504)
This commit is contained in:
parent
a3306958dc
commit
fa03fd6c4a
25
src/syntax.c
25
src/syntax.c
@ -7700,7 +7700,7 @@ do_highlight(line, forceit, init)
|
||||
color &= 7; /* truncate to 8 colors */
|
||||
}
|
||||
else if (t_colors == 16 || t_colors == 88
|
||||
|| t_colors == 256)
|
||||
|| t_colors >= 256)
|
||||
{
|
||||
/*
|
||||
* Guess: if the termcap entry ends in 'm', it is
|
||||
@ -7711,19 +7711,16 @@ do_highlight(line, forceit, init)
|
||||
p = T_CAF;
|
||||
else
|
||||
p = T_CSF;
|
||||
if (*p != NUL && *(p + STRLEN(p) - 1) == 'm')
|
||||
switch (t_colors)
|
||||
{
|
||||
case 16:
|
||||
color = color_numbers_8[i];
|
||||
break;
|
||||
case 88:
|
||||
color = color_numbers_88[i];
|
||||
break;
|
||||
case 256:
|
||||
color = color_numbers_256[i];
|
||||
break;
|
||||
}
|
||||
if (*p != NUL && (t_colors > 256
|
||||
|| *(p + STRLEN(p) - 1) == 'm'))
|
||||
{
|
||||
if (t_colors == 88)
|
||||
color = color_numbers_88[i];
|
||||
else if (t_colors >= 256)
|
||||
color = color_numbers_256[i];
|
||||
else
|
||||
color = color_numbers_8[i];
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -741,6 +741,8 @@ static char *(features[]) =
|
||||
|
||||
static int included_patches[] =
|
||||
{ /* Add new patch number below this line */
|
||||
/**/
|
||||
1036,
|
||||
/**/
|
||||
1035,
|
||||
/**/
|
||||
|
Loading…
x
Reference in New Issue
Block a user