diff options
author | Justin M. Keyes <justinkz@gmail.com> | 2019-02-11 10:24:03 +0100 |
---|---|---|
committer | Justin M. Keyes <justinkz@gmail.com> | 2019-02-11 10:52:30 +0100 |
commit | ee21fe3d2a9231dcabc5b64564c867c2a3f6c37c (patch) | |
tree | 44987abd4ed1e5e633b4d34a2311aaa007c1775f | |
parent | 2beb731ed47fc4643f4f9151c53a4e4de0ee203b (diff) | |
download | rneovim-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.c | 2 |
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"); |