mirror of
https://github.com/neovim/neovim.git
synced 2025-02-25 18:55:25 -06:00
parent
5cd68b3900
commit
cb13ef3596
@ -1537,11 +1537,11 @@ static void augment_terminfo(TUIData *data, const char *term,
|
|||||||
bool teraterm = terminfo_is_term_family(term, "teraterm");
|
bool teraterm = terminfo_is_term_family(term, "teraterm");
|
||||||
bool putty = terminfo_is_term_family(term, "putty");
|
bool putty = terminfo_is_term_family(term, "putty");
|
||||||
bool screen = terminfo_is_term_family(term, "screen");
|
bool screen = terminfo_is_term_family(term, "screen");
|
||||||
|
bool tmux = terminfo_is_term_family(term, "tmux") || !!os_getenv("TMUX");
|
||||||
bool iterm = terminfo_is_term_family(term, "iterm")
|
bool iterm = terminfo_is_term_family(term, "iterm")
|
||||||
|| terminfo_is_term_family(term, "iTerm.app");
|
|| terminfo_is_term_family(term, "iTerm.app");
|
||||||
// None of the following work over SSH; see :help TERM .
|
// None of the following work over SSH; see :help TERM .
|
||||||
bool iterm_pretending_xterm = xterm && iterm_env;
|
bool iterm_pretending_xterm = xterm && iterm_env;
|
||||||
bool tmux_wrap = screen && !!os_getenv("TMUX");
|
|
||||||
|
|
||||||
const char * xterm_version = os_getenv("XTERM_VERSION");
|
const char * xterm_version = os_getenv("XTERM_VERSION");
|
||||||
bool true_xterm = xterm && !!xterm_version;
|
bool true_xterm = xterm && !!xterm_version;
|
||||||
@ -1573,12 +1573,11 @@ static void augment_terminfo(TUIData *data, const char *term,
|
|||||||
// specific ones.
|
// specific ones.
|
||||||
|
|
||||||
// can use colons like ISO 8613-6:1994/ITU T.416:1993 says.
|
// can use colons like ISO 8613-6:1994/ITU T.416:1993 says.
|
||||||
bool has_colon_rgb = false
|
bool has_colon_rgb = !tmux && !screen
|
||||||
// per GNOME bug #685759 and bug #704449
|
&& ((vte_version >= 3600) // per GNOME bug #685759, #704449
|
||||||
|| (vte_version >= 3600)
|
|| iterm || iterm_pretending_xterm // per analysis of VT100Terminal.m
|
||||||
|| iterm || iterm_pretending_xterm // per analysis of VT100Terminal.m
|
// per http://invisible-island.net/xterm/xterm.log.html#xterm_282
|
||||||
// per http://invisible-island.net/xterm/xterm.log.html#xterm_282
|
|| true_xterm);
|
||||||
|| true_xterm;
|
|
||||||
|
|
||||||
data->unibi_ext.set_rgb_foreground = unibi_find_ext_str(ut, "setrgbf");
|
data->unibi_ext.set_rgb_foreground = unibi_find_ext_str(ut, "setrgbf");
|
||||||
if (-1 == data->unibi_ext.set_rgb_foreground) {
|
if (-1 == data->unibi_ext.set_rgb_foreground) {
|
||||||
@ -1606,7 +1605,7 @@ static void augment_terminfo(TUIData *data, const char *term,
|
|||||||
// all panes, which is not particularly desirable. A better approach
|
// all panes, which is not particularly desirable. A better approach
|
||||||
// would use a tmux control sequence and an extra if(screen) test.
|
// would use a tmux control sequence and an extra if(screen) test.
|
||||||
data->unibi_ext.set_cursor_color = (int)unibi_add_ext_str(
|
data->unibi_ext.set_cursor_color = (int)unibi_add_ext_str(
|
||||||
ut, NULL, TMUX_WRAP(tmux_wrap, "\033]Pl%p1%06x\033\\"));
|
ut, NULL, TMUX_WRAP(tmux, "\033]Pl%p1%06x\033\\"));
|
||||||
} else if (xterm || (vte_version != 0) || rxvt) {
|
} else if (xterm || (vte_version != 0) || rxvt) {
|
||||||
// This seems to be supported for a long time in VTE
|
// This seems to be supported for a long time in VTE
|
||||||
// urxvt also supports this
|
// urxvt also supports this
|
||||||
|
Loading…
Reference in New Issue
Block a user