OmniSharp / omnisharp-vim

Vim omnicompletion (intellisense) and more for C#
http://www.omnisharp.net
MIT License
1.72k stars 168 forks source link

Log server broken with Neovim nightly #729

Closed lygamac closed 3 years ago

lygamac commented 3 years ago

When using the latest nightly version of Neovim (stable is fine), errors show when typing :s plus any special characters (!,@,[,^,%, etc.)

2021-08-23_20-00

nickspoons commented 3 years ago

Hm. Peculiar. I can repro, but I don't know what the problem is. I think this is a neovim bug.

It's no the logging that is the problem. If I completely remove the call to OmniSharp#log#LogServer, the error just starts happening somewhere else.

Note that this only happens (for me) before the server has finished loading (all messages and diagnostics received from the server). Once messages have stopped coming in, it works as expected.

nickspoons commented 3 years ago

It'd be interesting to try git bisecting neovim and work out what has caused this

nickspoons commented 3 years ago

Oh. This also happens with nvim 0.5.0

nickspoons commented 3 years ago

You know what? It happens in 0.4.4 too :smile:

nickspoons commented 3 years ago

Hmm. I just disabled the server message handling altogether ... and vim-lsp (which isn't even enabled for C#) started erroring in the same way. There's something here about neovim message handling.

nickspoons commented 3 years ago

Yeah I can trigger this in a typescript file using vim-lsp too, with omnisharp-vim disabled. It looks like a neovim issue, but I can't find any other references to it anywhere.

nickspoons commented 3 years ago

Ah, this has something to do with 'inccommand'. If you disable it (set inccommand=) then the errors stop occurring.

nickspoons commented 3 years ago

Here it is:

https://github.com/neovim/neovim/issues/8796

lygamac commented 3 years ago

Oh, I didn't expect that was something from 2018!

In the stable 0.5.0, the inccommand as default is "", but it seems they changed it to nosplit in the latest version.

Thank you for figure it out!