[RFC] Switch C# completer to LSP
Very much not finished. Needs a lot more testing.
Currently missing pieces:
- ~~Omnisharp does not seem to be picking up docstrings in LSP mode.~~
- ~~CodeActions are ill-formed and hit a million asserts in ycmd. Starting with this one.~~
- ~~Currently only works with user_option roslyn_binary_path.~~
- ~~GetProjectRootFiles returns an empty list, so users need to cd to their desired project root.~~
- ~~I could not get omnisharp to log anything at all.~~
Diagostics work, rename works. I have not tried the rest tonight, but I remember them working.
@dkaszews This should be enough to try it out a bit.
CodeActions are ill-formed and hit a million asserts in ycmd. Starting with this one.
I got CodeActions working.
Omnisharp does not seem to be picking up docstrings in LSP mode.
It should be there! https://github.com/OmniSharp/omnisharp-roslyn/blob/dacc49a3176c30767d0c1604cce6073afb0a7f6e/src/OmniSharp.LanguageServerProtocol/Handlers/OmniSharpHoverHandler.cs#L41 I really need someone with a proper omnisharp/C# setup to try GetType and give me the logs.
Currently only works with user_option roslyn_binary_path.
This should only need an updated monisharp, via ./update_omnisharp.py.
GetProjectRootFilesreturns an empty list, so users need to cd to their desired project root.
Fixed as well.
I could not get omnisharp to log anything at all.
Hmm... still true. not sure what I'm doing wrong.
Currently only works with user_option roslyn_binary_path.
We can now communicate with the bundled server, but it won't initialize on my machine.
This is where my knowledge of C# mess ends and I will be needing help from here on out.
All tests are passing on non-Winblows. Winblows is hanging for some reason.
The only thing missing here is testing this branch on Windows. @dkaszews may I ask for such a favour?
@bstaletic Once again you caught me on vacation, I'll give it a spin Sunday evening or Monday 🙂
@dkaszews No worries and apologies for interrupting your vacation again!