-
Notifications
You must be signed in to change notification settings - Fork 151
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Example in F# #759
Comments
Thank you for contributing! |
For what it's worth, over at Ionide.LanguageServerProtocol (the library that powers FsAutoComplete and csharp-language-server), we use StreamJsonRpc. It's a bit fiddly usage, because we grafted it on over our bespoke implementation, but over time we're standarding on it more. My only real complaint from this whole conversion is that I'd really love to have some more control over the 'binding' of members to LSP methods. F# Async's have a really nice automatic cancellation and cold-start/composability semantic that makes them fairly natural to use, but unfortunately this library is fairly locked in to Tasks and didn't support plugging in different discoverability mechanisms that I saw (maybe that's not the case?) so we do our own shim mapping by hand. Any insights there would be appreciated :) |
Thanks for your feedback, @baronfel. I'm not very familiar with F#, so I'd love to learn more about how we could make StreamJsonRpc be a better fit for you. |
After much fiddling I finally have a working proof of concept in F#. I wanted to share the code here to save the next person the headache. It would be good if this could be incorporated into the docs.
The text was updated successfully, but these errors were encountered: