Skip to content

Conversation

jdebp
Copy link
Contributor

@jdebp jdebp commented May 25, 2017

This should address:

This builds upon #6801 and perhaps looks bigger than it actually is.

I do not know what the impact of this on #6798 is. It might also improve #6779.

Brief précis:

  • On systems where there is no terminfo, nvim falls back to its own built-in copies of terminfo. External terminfo has priority. External and internal terminfo are not combined, in contrast to what vim does with termcap. See :help builtin-terms.
  • nvim tries to set 256-colour mode, even in some cases if the terminal type name does not have a "-256color" suffix. Failing 256-colour mode, it attempts to set at least 16-colour mode. See :help 256-color.
  • For true-colour mode, nvim uses the same terminfo extensions that tmux uses. You can add true colour capability for your terminal simply by enhancing terminfo to describe your terminal type as true colour capable. See :help true-color.
  • nvim avoids resizing the terminal display the dtterm way on non-dtterm-compatible terminals, which was a problem for them because the control sequence looks like something else to those terminals. See :help xterm-resize.
  • nvim attempts to optimize cursor motions and attribute changes, making use of terminfo capabilities for relative cursor motions and setting groups of attributes all at once.
  • nvim uses XTerm's ability to set left and right scrolling margins, for optimized scrolling in split window mode. This will not be used unless nvim can detect genuine XTerm.
  • nvim adjusts the cursor shape on terminals that are known to support it. This now includes tmux; so no longer does nvim attempt to bypass tmux and instruct tmux's output terminal directly. Again, you can include your own terminal simply by enhancing your terminfo. Again, this terminfo mechanism is shared with tmux. See :help cursor-shape.
  • nvim fixes up some know terminfo problems, such as the linux terminal type in MacOS not including complete descriptions of how to move the cursor.
  • :help terminfo gives pointers on how to install/update terminfo, which is simple to do.
  • :help term-dependent-settings gives pointers on how to set termguicolors in case you use nvim on more than one type of terminal.

See also mauke/unibilium#23 .

mode, as the 8-bit CSI character has to be written differently in each case.
Vim issues a "request version" sequence to the terminal at startup and looks
at how the terminal is sending CSI. Nvim does not issue such a sequence and
always uses 7-bit control sequences.
Copy link
Member

@justinmk justinmk May 25, 2017

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We have aspirations to change this :) Though, noting it in vim_diff.txt in the meantime is the right thing to do.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hence why I changed :help v:termresponse rather than deleting it. (-:

@jdebp jdebp mentioned this pull request May 25, 2017

// Support changing cursor shape on some popular terminals.
const char *vte_version = os_getenv("VTE_VERSION");
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

looks like the comment is not needed now

27, 91, 37, 112, 49, 37, 100, 65, 0, 27, 60, 27, 91, 34, 112, 27, 91, 53, 48, 59, 54, 34, 112, 27, 99, 27, 91, 63, 51, 108, 27, 93,
82, 27, 91, 63, 49, 48, 48, 48, 108, 0, 27, 56, 0, 27, 91, 37, 105, 37, 112, 49, 37, 100, 100, 0, 27, 55, 0, 10, 0, 27, 77, 0,
27, 91, 48, 37, 63, 37, 112, 49, 37, 112, 54, 37, 124, 37, 116, 59, 49, 37, 59, 37, 63, 37, 112, 50, 37, 116, 59, 52, 37, 59, 37, 63,
37, 112, 49, 37, 112, 51, 37, 124, 37, 116, 59, 55, 37, 59, 37, 63,
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If we're going to ignore the linter here, might as well make it one big line.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If it helps you, I can make the Big Block Of Numbers half as wide, but twice as deep. (-:

@justinmk
Copy link
Member

Regarding this change (github seems to be confused if I comment inline):

+  // See https://gist.github.com/XVilka/8346728 for more about this.
+  if (putty || xterm || rxvt || linuxvt || konsole || iterm || truecolor) {
+    data->unibi_ext.set_rgb_foreground = (int)unibi_add_ext_str(ut, NULL,
+        "\x1b[38;2;%p1%d;%p2%d;%p3%dm");

Previously this was set always and the nvim option 'termguicolors' controlled it. Is it possible that some truecolor-capable terminals will be missed now? What do we gain by leaving this undefined in the false case of this condition?

@Shougo
Copy link
Contributor

Shougo commented May 26, 2017

Related issue:
Shougo/denite.nvim#280

@Shougo
Copy link
Contributor

Shougo commented May 26, 2017

@tmccombs Could you test the branch?

@jdebp
Copy link
Contributor Author

jdebp commented May 26, 2017

I hope that you were falling foul of the "everything that is not libvte supports DECSCUSR" test in the old code, @Shougo and @tmccombs. If you still have a problem after switching to this code, I am interested, in particular in what terminal or terminal emulator you see the problem on and what your TERM environment variable is.

Note that the design here is very much to make any further problem a terminfo problem, rather than a nvim-specific problem. Fix what the terminfo database says for problem cases, and both nvim and tmux benefit. But also there is a way to avoid the terminfo fixup that nvim does, if you actually need to. (I hope and suspect that you will not.) nvim does the fixup when the Ss extended terminfo capability is absent. If it is present but an empty string nvim will simply do what terminfo says to do.

That's your local fix should you continue to experience letters q on your screen with this code in place. As I said, I suspect that it will not be necessary, and that the old libvte check was the source of your problem.

@jdebp
Copy link
Contributor Author

jdebp commented May 26, 2017

See #6793 for discussion of the QuickBuild failure.

@Shougo
Copy link
Contributor

Shougo commented May 26, 2017

I have tested the branch.
Wow! The problem is fixed!

@tmccombs
Copy link
Contributor

@Shougo works for me. Nice work @jdebp!

@justinmk
Copy link
Member

justinmk commented May 27, 2017

@jdebp The travis CI failure looks legitimate, or the test needs to be updated: empty TERM appears to result in t_Co=8.

Note that we only support t_Co for script compatibility. If you intentionally want to report t_Co=8 when TERM is empty, that's fine, just need to update that test.

[1m�[31m[  ERROR   ]�[0m�[0m �[36m...uild/neovim/neovim/test/functional/terminal/tui_spec.lua�[0m @ �[36m351�[0m: �[1mtui 't_Co' (terminal colors) unknown TERM sets empty 't_Co'�[0m
./test/functional/ui/screen.lua:301: Row 2 did not match.
Expected:
  |{1: }                                                 |
  |*{4:~                                                 }|
  |{4:~                                                 }|
  |{4:~                                                 }|
  |{5:[No Name]                                         }|
  |                                                  |
  |{3:-- TERMINAL --}                                    |
Actual:
  |{1: }                                                 |
  |*~                                                 |
  |~                                                 |
  |~                                                 |
  |{5:[No Name]                                         }|
  |8                                                 |
  |{3:-- TERMINAL --}                                    |

@justinmk
Copy link
Member

justinmk commented May 27, 2017

The quickbuild failures are the same as mentioned above, not #6793 (comment). That's a good thing--at least it's deterministic :)

@choco
Copy link
Contributor

choco commented May 27, 2017

With iTerm.app the cursor doesn't change shape for me. If I use a modified terminfo with Ss=\E[%p1%d q:Se=\E[2 q then the cursor changes shape, but I can't switch it to the vertical bar, only block or horizontal bar. Anyone else having the same issue?

@jdebp
Copy link
Contributor Author

jdebp commented May 27, 2017

Funny that you mention tests. (-:

  • The test suite is now somewhat bigger. The Interix test failure seems to be a failure in the test harness, which rather assumes that any given terminal type is something that the :terminal terminal emulator can itself cope with. The Interix terminal type is rather different.
  • Nicolas Marriott, Egmont Koblinger, the people who added true-colour support to emacs, and others all seem to agree on the idea of a new terminfo entry; so that is what nvim now employs. I intentionally did not invent nvim's own name for the capabilities, but went with one of the existing names. :help true-color has the details.
  • As threatened, the Big Blocks Of Numbers are now thinner, but deeper. Enjoy.

@choco, if you are explicitly including the Ss and Se terminfo capabilities in your terminfo database, then nvim is bypassing all of the code to set them up itself, and is just using them as-is. There is, or at least should be, no terminal type checking or dependency in that path, no variation according to terminal type or anything else. nvim just spits out the relevant sequences from terminfo in that case.

  • What happens when you just printf '\x1b[5 q' and printf '\x1b[6 q'?
  • What happens when you just tput Ss 5 and tput Ss 6?

The observed behaviour implies, to me, that your terminfo isn't actually modified as you think. Because in the case where terminfo does not have these capabilities, and genuine Xterm is not detected, nvim fakes capabilities that don't include the xterm extension for vertical bar. (It seems that iTerm2 is another supporter of the Xterm DECSUSR extensions. I'll add it in. But that is a code path that according to what you say, you aren't exercising.)

@blueyed blueyed mentioned this pull request May 27, 2017
@jdebp
Copy link
Contributor Author

jdebp commented May 28, 2017

The Interix test failure turned out to be in part a missing capability in the Interix terminfo record.

@choco
Copy link
Contributor

choco commented May 28, 2017

@jdebp You're right, actually my terminfo was pretty messed up, fixed that all works perfectly, sorry for the trouble.

This will not speed up scrolling in a window that is not the full width of the
terminal. Xterm has an extra ability, not described by terminfo, to set left
and right scroll margins as well. If Nvim detects that the terminal is Xterm,
it will make use of this ability to speed up scrolling that is not the full
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Missing words ... scrolling (in a window) that ...?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think that it's not really necessary to completely repeat what was said only moments before. (-:

it will use the "Ss" and "Se" capabilities from terminfo if they are present.

Unlike Nvim, if they are not present in terminfo you will have to add them by
setting the tmux "terminal-overrides" setting in $HOME/.tmux.conf . It will
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Missing word . (Otherwise) it will ...?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There is no otherwise sense to either statement.

@choco
Copy link
Contributor

choco commented May 28, 2017

@jdebp Actually there are still a couple of issues on my machine:

  1. with this simple vimrc
    hi! Normal ctermbg=1
    i noticed that if I start nvim nvim -u testrc and start writing a command in the command line then press backspace the ui starts to break
  2. vim doesn't render italics text, even though my terminal supports it and terminfo reports it (echo `tput sitm`italics`tput ritm` correctly print text in italic

App: iTerm2.app
$TERM: xterm-256color
terminfo:

xterm-256color|xterm with 256 colors,
	am, bce, ccc, km, mc5i, mir, msgr, npc, xenl,
	colors#256, cols#80, it#8, lines#24, pairs#32767,
	acsc=``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
	bel=^G, blink=\E[5m, bold=\E[1m, cbt=\E[Z, civis=\E[?25l,
	clear=\E[H\E[2J, cnorm=\E[?12l\E[?25h, cr=^M,
	csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=^H,
	cud=\E[%p1%dB, cud1=^J, cuf=\E[%p1%dC, cuf1=\E[C,
	cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A,
	cvvis=\E[?12;25h, dch=\E[%p1%dP, dch1=\E[P, dim=\E[2m,
	dl=\E[%p1%dM, dl1=\E[M, ech=\E[%p1%dX, ed=\E[J, el=\E[K,
	el1=\E[1K, flash=\E[?5h$<100/>\E[?5l, home=\E[H,
	hpa=\E[%i%p1%dG, ht=^I, hts=\EH, ich=\E[%p1%d@,
	il=\E[%p1%dL, il1=\E[L, ind=^J, indn=\E[%p1%dS,
	initc=\E]4;%p1%d;rgb\:%p2%{255}%*%{1000}%/%2.2X/%p3%{255}%*%{1000}%/%2.2X/%p4%{255}%*%{1000}%/%2.2X\E\\,
	invis=\E[8m, is2=\E[!p\E[?3;4l\E[4l\E>, kDC=\E[3;2~,
	kEND=\E[1;2F, kHOM=\E[1;2H, kIC=\E[2;2~, kLFT=\E[1;2D,
	kNXT=\E[6;2~, kPRV=\E[5;2~, kRIT=\E[1;2C, kb2=\EOE, kbs=^H,
	kcbt=\E[Z, kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA,
	kdch1=\E[3~, kend=\EOF, kent=\EOM, kf1=\EOP, kf10=\E[21~,
	kf11=\E[23~, kf12=\E[24~, kf13=\E[1;2P, kf14=\E[1;2Q,
	kf15=\E[1;2R, kf16=\E[1;2S, kf17=\E[15;2~, kf18=\E[17;2~,
	kf19=\E[18;2~, kf2=\EOQ, kf20=\E[19;2~, kf21=\E[20;2~,
	kf22=\E[21;2~, kf23=\E[23;2~, kf24=\E[24;2~,
	kf25=\E[1;5P, kf26=\E[1;5Q, kf27=\E[1;5R, kf28=\E[1;5S,
	kf29=\E[15;5~, kf3=\EOR, kf30=\E[17;5~, kf31=\E[18;5~,
	kf32=\E[19;5~, kf33=\E[20;5~, kf34=\E[21;5~,
	kf35=\E[23;5~, kf36=\E[24;5~, kf37=\E[1;6P, kf38=\E[1;6Q,
	kf39=\E[1;6R, kf4=\EOS, kf40=\E[1;6S, kf41=\E[15;6~,
	kf42=\E[17;6~, kf43=\E[18;6~, kf44=\E[19;6~,
	kf45=\E[20;6~, kf46=\E[21;6~, kf47=\E[23;6~,
	kf48=\E[24;6~, kf49=\E[1;3P, kf5=\E[15~, kf50=\E[1;3Q,
	kf51=\E[1;3R, kf52=\E[1;3S, kf53=\E[15;3~, kf54=\E[17;3~,
	kf55=\E[18;3~, kf56=\E[19;3~, kf57=\E[20;3~,
	kf58=\E[21;3~, kf59=\E[23;3~, kf6=\E[17~, kf60=\E[24;3~,
	kf61=\E[1;4P, kf62=\E[1;4Q, kf63=\E[1;4R, kf7=\E[18~,
	kf8=\E[19~, kf9=\E[20~, khome=\EOH, kich1=\E[2~,
	kind=\E[1;2B, kmous=\E[M, knp=\E[6~, kpp=\E[5~,
	kri=\E[1;2A, mc0=\E[i, mc4=\E[4i, mc5=\E[5i, meml=\El,
	memu=\Em, oc=\E]104\007, op=\E[39;49m, rc=\E8, rev=\E[7m,
	ri=\EM, rin=\E[%p1%dT, ritm=\E[23m, rmacs=\E(B,
	rmam=\E[?7l, rmcup=\E[?1049l, rmir=\E[4l, rmkx=\E[?1l\E>,
	rmm=\E[?1034l, rmso=\E[27m, rmul=\E[24m,
	rs1=\Ec\E]104\007, rs2=\E[!p\E[?3;4l\E[4l\E>, sc=\E7,
	setab=\E[%?%p1%{8}%<%t4%p1%d%e%p1%{16}%<%t10%p1%{8}%-%d%e48;5;%p1%d%;m,
	setaf=\E[%?%p1%{8}%<%t3%p1%d%e%p1%{16}%<%t9%p1%{8}%-%d%e38;5;%p1%d%;m,
	sgr=%?%p9%t\E(0%e\E(B%;\E[0%?%p6%t;1%;%?%p5%t;2%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;%?%p7%t;8%;m,
	sgr0=\E(B\E[m, sitm=\E[3m, smacs=\E(0, smam=\E[?7h,
	smcup=\E[?1049h, smir=\E[4h, smkx=\E[?1h\E=,
	smm=\E[?1034h, smso=\E[7m, smul=\E[4m, tbc=\E[3g,
	u6=\E[%i%d;%dR, u7=\E[6n, u8=\E[?%[;0123456789]c,
	u9=\E[c, vpa=\E[%i%p1%dd,

@jdebp
Copy link
Contributor Author

jdebp commented May 28, 2017

3d7b674 will have already fixed your command-line problems, @choco. It was deferred right margin wrap throwing off the left-motion calculations.

Italics is mystifying. If it is in the terminfo entry, it should be pulled out and used as-is.

123, 123, 124, 124, 125, 125, 126, 126, 0, 27, 91, 90, 0, 27, 91, 63,
55, 104, 0, 27, 91, 63, 55, 108, 0, 27, 40, 66, 27, 41, 48, 0,
27, 91, 52, 126, 0, 26, 0, 27, 91, 68, 0, 27, 91, 67, 0, 27,

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If fix_normal is shorter than the macro string, we should not compare.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Are you talking about the memcmp call that is conditional upon a strlen test on the line above?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Comment was for this code.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

So, yes you were.

@choco
Copy link
Contributor

choco commented May 28, 2017

3d7b674 will have already fixed your command-line problems, @choco. It was deferred right margin wrap throwing off the left-motion calculations.

Actually just tried and still I'm still having that issue.

@jdebp
Copy link
Contributor Author

jdebp commented May 28, 2017

All of the remaining problems appear to be MacOS, and things that I cannot reproduce.

  • The colour functionality test is failing when TERM=linux-16color on MacOS. It isn't failing on the number of colours. That, it gets right. It's failing by drawing the command line in the wrong place on the screen. But the exact same TERM=linux-16color test is succeeding on other platforms.
  • @choco reports an italics failure in iTerm.app. I have no access to iTerm.app. But on every terminal where printf '\x1b[3mitalics\x1b[23m upright' gives me italics, so too does TERM=xterm-256color nvim -u NONE -c ":terminal printf '\\x1b[3mitalics\\x1b[23m upright'".
  • @choco reports "the ui starts to break" in iTerm.app when using backspace on the command line. The best that I can do is make nvim think that the terminal is iTerm with TERM=iterm or TERM=xterm TERM_PROGRAM=iTerm.app and then run it through some other terminal emulator. But I cannot get it to exhibit any command-line problems with backspace that way.

@choco
Copy link
Contributor

choco commented May 28, 2017

@jdebp Mmmmm the italics issue was probably my fault, since modifying manually the macOS standard terminfo fixed that, but the second issue I'm sure can't be caused by me.
Tested on two different machines (one just reset) and nvim -u NONE -c ":hi! Normal ctermbg=1" once entered command line and entered some characters, pressing backspace corrupts the ui, both in Terminal.app and iTerm.app with both using $TERM=xterm-256color

@jdebp
Copy link
Contributor Author

jdebp commented May 29, 2017

One thing to try @choco:

TERM=xterm-256color is not actually correct for either of those terminal emulators. The xterm-256color terminfo entry does not describe them correctly.

Similarly, for anyone else, the correct terminal type for GNOME Terminal is TERM=gnome, TERM=vte, TERM=gnome-256color, or TERM=vte-256color and Thomas E. Dickey has been complaining about GNOME Terminal setting the variable wrongly since at least 2006, given that terminfo has had the gnome terminal type since 1999.

If you had to modify the vanilla MacOS terminfo, @choco, then nvim really needs to as well. Presumably you took the iTerm.app|iterm entry and added the missing sitm. If not, what did you do?

@choco
Copy link
Contributor

choco commented May 29, 2017

@jdebp I'm using xterm-256color because that's what both terminal app use as default.
On my system there's no terminfo named iterm or iTerm.app and the nsterm terminfo is incredibly old, it refers to Terminal.app v41, when current is 388!

I tried updating ncurses thought homebrew, the package manager I use on macOS, and installed v6.0 and force linked to use the included terminfo. When doing so, using nsterm on Terminal.app now uses the same terminfo on the page you linked (nsterm-build361) but I can still reproduce the bug above (the command line one).

The same goes for iTerm2.app, the terminfo above isn't installed by default, only when doing the procedure above; even after all that, it still has the same issue. I also wanted to note that the terminfo in that page refers to iTerm version 1, but the current one is v2 (actually version 3, but it's still called iTerm2) which does probably support many more features. As far as I know iTerm2 exposes a proprietary control sequence to check for available terminal features, since terminfo databases are really outdated on macOS and that's what tmux uses to query supported features I think.
We should probably tag @gnachman (iterm developer), if he has some time to spare, who can maybe explain the situation better then I can.

@justinmk
Copy link
Member

justinmk commented May 29, 2017

Looks like the functional tests are passing, but CI builds are failing by -Werror, numerous warnings like this:

tui.c:2421:58:� �error: �negative integer implicitly converted to unsigned type [-Werror=sign-conversion]
-1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,

@SanD94
Copy link

SanD94 commented Jun 26, 2017

Problem in Guake

@Shougo
Copy link
Contributor

Shougo commented Jun 26, 2017

@SanD94 It fixes your problem?

@SanD94
Copy link

SanD94 commented Jun 26, 2017

@Shougo I couldn't fix that.

guake version : 0.8.4-1

I find that printf '\x1b[q 2' or printf '\e[2 q' in Guake does not give me the result I get when using gnome-terminal, block cursor without blink.
However, there is an option to change cursor shape in guake and all cursor shape (block, I-beam and underline) seems working.

ps : sorry, I am not familiar with these stuff and I don't know the meanings of \x1b[q 2 or \e[2 q

@Shougo
Copy link
Contributor

Shougo commented Jun 27, 2017

ps : sorry, I am not familiar with these stuff and I don't know the meanings of \x1b[q 2 or \e[2 q

It is the cursor shape escape code.

@Shougo
Copy link
Contributor

Shougo commented Jun 27, 2017

However, there is an option to change cursor shape in guake and all cursor shape (block, I-beam and underline) seems working.

It just change the cursor shape by user option.
It is not same with changing the cursor shape by the escape code.

@aktau
Copy link
Contributor

aktau commented Jul 1, 2017

The issues this PR fixes basically make nvim at HEAD hard to use with multiple splits (which is common). The thread is getting quite long, can anyone make a list of the points this PR regresses on in comparison to current HEAD? If there are none, I'd suggest to merge this and do the rest in separate PRs. Anyway, thanks for all the work already, @jdebp.

@bfredl
Copy link
Member

bfredl commented Jul 1, 2017

The change to screen:expect is still wrong. Can use the suggested fix or just drop the change (I don't see any immediate-success being added, so thus unrelated to this PR), I hope to improve expect robustness in general (with reasonable timeouts) in #6930 anyway.

@justinmk
Copy link
Member

justinmk commented Jul 1, 2017

Planning to merge this without the changes to test infrastructure (prefer #6930 for that).

@blueyed
Copy link
Contributor

blueyed commented Jul 4, 2017

👍 for merging this soon, since I know that people are not using the nightly anymore because of that.

@amireldor
Copy link

Just compiled this pull request and it fixed the issue for me, which is a ^_^
Actually, I merged master into this PR before compiling. No conflicts whatsoever.

Thanks!

@blueyed
Copy link
Contributor

blueyed commented Jul 4, 2017

Yeah, it seems to be mostly via #6802 (comment) that people are affected - IIRC things were merged too quickly, and fixes for it (this PR) is taking too long.

justinmk added a commit to justinmk/neovim that referenced this pull request Jul 6, 2017
Removed these commits (test-suite changes):
e2fba01
7c809c4
18e7cd9
@justinmk justinmk mentioned this pull request Jul 6, 2017
justinmk added a commit that referenced this pull request Jul 6, 2017
Removed these commits (test-suite changes):
e2fba01
7c809c4
18e7cd9
@justinmk
Copy link
Member

justinmk commented Jul 6, 2017

Merged after subtracting the test-suite changes (e2fba01 7c809c4 18e7cd9). Thanks to @jdebp for this wonderful improvement.

@jamessan
Copy link
Member

jamessan commented Jul 7, 2017

After this getting merged, 'termguicolors' no longer works properly with tmux 2.5 (using $TERM=tmux-256color). I'm getting greyscale colors instead of real colors.

I can't tell from the new documentation if there's something I'm supposed to do either to my tmux config or terminfo to fix this.

FWIW, infocmp tmux-256color doesn't report a value for initc, if that's relevant. I also tried adding the Tc terminal override to my tmux config, but either I'm doing it wrong or it doesn't have an effect.

@DarkDefender
Copy link
Contributor

@jamessan same thing but with alacritty instead of tmux

@justinmk
Copy link
Member

justinmk commented Jul 8, 2017

see #6982

justinmk added a commit to justinmk/neovim that referenced this pull request Nov 8, 2017
FEATURES:
0e873a3 Lua(Jit) built-in neovim#4411
5b32bce Windows: `:terminal` neovim#7007
7b0ceb3 UI/API: externalize cmdline neovim#7173
b67f58b UI/API: externalize wildmenu neovim#7454
b23aa1c UI: 'winhighlight' neovim#6597
17531ed UI: command-line coloring (`:help input()-highlight`) neovim#6364
244a1f9 API: execute lua directly from the remote api neovim#6704
45626de API: `get_keymap()` neovim#6236
db99982 API: `nvim_get_hl_by_name()`, `nvim_get_hl_by_id()` neovim#7082
dc68538 menu_get() function neovim#6322
9db42d4 :cquit : take an error code argument neovim#7336
9cc185d job-control: serverstart(): support ipv6 neovim#6680
1b7a9bf job-control: sockopen() neovim#6594
6efe84a clipboard: fallback to tmux clipboard neovim#6894
6016ac2 clipboard: customize clipboard with `g:clipboard` neovim#6030
3a86dd5 ruby: override ruby host via `g:ruby_host_prog` neovim#6841
16cce1a debug: $NVIM_LOG_FILE neovim#6827
0cba3da `:checkhealth` built-in, validates $VIMRUNTIME neovim#7399

FIXES:
105d680 TUI: more terminals, improve scroll/resize neovim#6816
cb912a3 :terminal : handle F1-F12, other keys neovim#7241
619838f inccommand: improve performance neovim#6949
04b3c32 inccommand: Fix matches for zero-width neovim#7487
60b1e8a inccommand: multiline, other fixes neovim#7315
f1f7f3b inccommand: Ignore leading modifiers in the command neovim#6967
1551f71 inccommand: fix 'gdefault' lockup neovim#7262
6338199 API: bufhl: support creating new groups neovim#7414
541dde3 API: allow K_EVENT during operator-pending
8c732f7 terminal: adjust for 'number' neovim#7440
5bec946 UI: preserve wildmenu during jobs/events neovim#7110
c349083 UI: disable 'lazyredraw' during ui_refresh. neovim#6259
51808a2 send FocusGained/FocusLost event instead of pseudokey neovim#7221
133f8bc shada: preserve unnamed register on restart neovim#4700
1b70a1d shada: avoid assertion on corrupt shada file neovim#6958
9f534f3 mksession: Restore tab-local working directory neovim#6859
de1084f fix buf_write() crash neovim#7140
7f76986 syntax: register 'Normal' highlight group neovim#6973
6e7a8c3 RPC: close channel if stream was closed neovim#7081
85f3084 clipboard: disallow recursion; show hint only once neovim#7203
8d1ccb6 clipboard: performance, avoid weird edge-cases neovim#7193
01487d4 'titleold' neovim#7358
01e53a5 Windows: better path-handling, separator (slash) hygiene neovim#7349
0f2873c Windows: multibyte startup arguments neovim#7060

CHANGES:
9ff0cc7 :terminal : start in normal-mode neovim#6808
032b088 lower priority of 'cursorcolumn', 'colorcolumn' neovim#7364
2a3bcd1 RPC: Don't delay notifications when request is pending neovim#6544
023f67c :terminal : Do not change 'number', 'relativenumber' neovim#6796
1ef2d76 socket.c: Disable Nagle's algorithm on TCP sockets neovim#6915
6720fe2 help: `K` tries Vim help instead of manpage neovim#3104
7068370 help, man.vim: change "outline" map to `gO` neovim#7405
@justinmk justinmk mentioned this pull request Nov 8, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.