mirror of
https://github.com/neovim/neovim.git
synced 2025-02-25 18:55:25 -06:00
tui: Assume 256 colors in most cases.
Assume 256 colors if: - $TERM contains "xterm" or "256" - $COLORTERM contains "256" Closes #2912
This commit is contained in:
parent
fab62141c8
commit
c002310787
@ -788,6 +788,7 @@ static void fix_terminfo(TUIData *data)
|
|||||||
unibi_term *ut = data->ut;
|
unibi_term *ut = data->ut;
|
||||||
|
|
||||||
const char *term = os_getenv("TERM");
|
const char *term = os_getenv("TERM");
|
||||||
|
const char *colorterm = os_getenv("COLORTERM");
|
||||||
if (!term) {
|
if (!term) {
|
||||||
goto end;
|
goto end;
|
||||||
}
|
}
|
||||||
@ -833,10 +834,10 @@ static void fix_terminfo(TUIData *data)
|
|||||||
#define XTERM_SETAB \
|
#define XTERM_SETAB \
|
||||||
"\x1b[%?%p1%{8}%<%t4%p1%d%e%p1%{16}%<%t10%p1%{8}%-%d%e48;5;%p1%d%;m"
|
"\x1b[%?%p1%{8}%<%t4%p1%d%e%p1%{16}%<%t10%p1%{8}%-%d%e48;5;%p1%d%;m"
|
||||||
|
|
||||||
if (os_getenv("COLORTERM") != NULL
|
if ((colorterm && strstr(colorterm, "256"))
|
||||||
&& (!strcmp(term, "xterm") || !strcmp(term, "screen"))) {
|
|| strstr(term, "256")
|
||||||
// probably every modern terminal that sets TERM=xterm supports 256
|
|| strstr(term, "xterm")) {
|
||||||
// colors(eg: gnome-terminal). Also do it when TERM=screen.
|
// Assume TERM~=xterm or COLORTERM~=256 supports 256 colors.
|
||||||
unibi_set_num(ut, unibi_max_colors, 256);
|
unibi_set_num(ut, unibi_max_colors, 256);
|
||||||
unibi_set_str(ut, unibi_set_a_foreground, XTERM_SETAF);
|
unibi_set_str(ut, unibi_set_a_foreground, XTERM_SETAF);
|
||||||
unibi_set_str(ut, unibi_set_a_background, XTERM_SETAB);
|
unibi_set_str(ut, unibi_set_a_background, XTERM_SETAB);
|
||||||
|
Loading…
Reference in New Issue
Block a user