neovim

Neovim text editor
git clone https://git.dasho.dev/neovim.git
Log | Files | Refs | README

commit 00b7428b3bf5c30ccfa8322f7b8452a764a0abd0
parent 0ebc4de0ff93e4edf853b177eb5b1eb898510423
Author: zeertzjq <zeertzjq@outlook.com>
Date:   Fri, 29 Mar 2024 05:55:25 +0800

fix(tui): don't use DECRQSS in screen or tmux (#28086)

They behave strangely when receiving that.
Diffstat:
Msrc/nvim/tui/tui.c | 5++++-
1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/nvim/tui/tui.c b/src/nvim/tui/tui.c @@ -370,6 +370,8 @@ static void terminfo_start(TUIData *tui) : (konsole ? 1 : 0); bool wezterm = strequal(termprg, "WezTerm"); const char *weztermv = wezterm ? os_getenv("TERM_PROGRAM_VERSION") : NULL; + bool screen = terminfo_is_term_family(term, "screen"); + bool tmux = terminfo_is_term_family(term, "tmux") || !!os_getenv("TMUX"); // truecolor support must be checked before patching/augmenting terminfo tui->rgb = term_has_truecolor(tui, colorterm); @@ -411,7 +413,8 @@ static void terminfo_start(TUIData *tui) // mode 2026 tui_request_term_mode(tui, kTermModeSynchronizedOutput); - if (tui->unibi_ext.set_underline_style == -1) { + // Don't use DECRQSS in screen or tmux, as they behave strangely when receving that. + if (tui->unibi_ext.set_underline_style == -1 && !(screen || tmux)) { // Query the terminal to see if it supports extended underline. tui_query_extended_underline(tui); }