OmniSharp / omnisharp-roslyn

OmniSharp server (HTTP, STDIO) based on Roslyn workspaces
MIT License
1.79k stars 420 forks source link

[Epic] Language Server Protocol #968

Open david-driscoll opened 7 years ago

david-driscoll commented 7 years ago

For history see: #576 For initial PR see: #969

Lsp packages have been pushed to nuget here and here.

This starts consuming them, the branch lsp may be long lived, or we may merge into master a few times, we haven't discussed this yet.

Note: not all endpoints currently map 1:1 to LSP, more information on lsp can be found here and the C# implementation here

For testing I was using the test extension from the csharp-lsp repository, and simplying making sure that OmniSharp.exe was invoked with -lsp or --languageserver and it will negotiate with language server mode automatically. It would be great to get others feedback using this against language server 2.0 vs 3.0 (that vscode implements).

Parts done:

david-driscoll commented 7 years ago

cc @mickaelistria

david-driscoll commented 7 years ago

Also a reference implementation of the current working mappings can be found in the existing OmniSharp-node-client repo by looking at /languageserver/server.ts

mickaelistria commented 6 years ago

Sorry for the long silence, I was (and am still) busy with a bunch of other stuff. Is there a binary build of OmniSharp we can try with the current support included?

david-driscoll commented 6 years ago

FYI the initial version has been made https://github.com/OmniSharp/omnisharp-roslyn/releases/tag/v1.29.0-beta1 this includes the list of items above and a few more I think.

@mholo65 what ones did you implement again? I'll check them off.

mickaelistria commented 6 years ago

Wow. thanks a lot! I'll try it ASAP in Eclipse aCute!

mickaelistria commented 6 years ago

I just tried this with Eclipse aCute, and it works like a charm with no required change to our code (except the command-line to run). Thanks a lot and congrats for this addition @david-driscoll !