aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJustin M. Keyes <justinkz@gmail.com>2019-02-11 10:24:03 +0100
committerJustin M. Keyes <justinkz@gmail.com>2019-02-11 10:52:30 +0100
commitee21fe3d2a9231dcabc5b64564c867c2a3f6c37c (patch)
tree44987abd4ed1e5e633b4d34a2311aaa007c1775f
parent2beb731ed47fc4643f4f9151c53a4e4de0ee203b (diff)
downloadrneovim-ee21fe3d2a9231dcabc5b64564c867c2a3f6c37c.tar.gz
rneovim-ee21fe3d2a9231dcabc5b64564c867c2a3f6c37c.tar.bz2
rneovim-ee21fe3d2a9231dcabc5b64564c867c2a3f6c37c.zip
TUI: force italics in tmux
tmux users are encouraged to use "tmux-256color" instead of the old "screen-256color". Put this in your .tmux.conf : if-shell 'infocmp tmux-256color' 'set -g default-terminal "tmux-256color"' 'set -g default-terminal "screen-256color"' If default-terminal is "tmux-256color" AND tmux finds its terminfo, THEN it will enable italics (regardless of whether the terminfo contains sitm/ritm). OTHERWISE tmux "emulates screen", which means it emits italics as "reverse". That's unfortunate, but it's an acceptable compromise that allows Nvim to support italics in tmux by default in compatible (and increasingly-common) configurations. Test case: tmux nvim -u NORC +'hi Comment cterm=italic' CMakeLists.txt ref #9598
-rw-r--r--src/nvim/tui/tui.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/nvim/tui/tui.c b/src/nvim/tui/tui.c
index 1129c83ebb..92bdd31730 100644
--- a/src/nvim/tui/tui.c
+++ b/src/nvim/tui/tui.c
@@ -1607,6 +1607,8 @@ static void patch_terminfo_bugs(TUIData *data, const char *term,
} else if (tmux) {
unibi_set_if_empty(ut, unibi_to_status_line, "\x1b_");
unibi_set_if_empty(ut, unibi_from_status_line, "\x1b\\");
+ unibi_set_if_empty(ut, unibi_enter_italics_mode, "\x1b[3m");
+ unibi_set_if_empty(ut, unibi_exit_italics_mode, "\x1b[23m");
} else if (terminfo_is_term_family(term, "interix")) {
// 2017-04 terminfo.src lacks this.
unibi_set_if_empty(ut, unibi_carriage_return, "\x0d");