Open david-driscoll opened 7 years ago
cc @mickaelistria
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
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?
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.
Wow. thanks a lot! I'll try it ASAP in Eclipse aCute!
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 !
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:
/gotodefinition
/findsymbols
/updatebuffer
/changebuffer
/codecheck
/filesChanged
/formatAfterKeystroke
/formatRange
/codeformat
/highlight
/autocomplete
/findimplementations
/findusages
/gotofile
/gotoregion
/navigateup
/navigatedown
/typelookup
/getcodeactions
/runcodeaction
/rename
/signatureHelp
/currentfilemembersastree
/currentfilemembersasflat
/gettestcontext
/metadata
/packagesource
/packagesearch
/packageversion
/projects
/project
/fixusings
/checkalivestatus
/checkreadystatus
/stopserver
/open
/close
/diagnostics
/v2/getcodeactions
/v2/runcodeaction
/v2/getteststartinfo
/v2/runtest
/v2/debugtest/getstartinfo
/v2/debugtest/launch
/v2/debugtest/stop