Added interface for plugins to add JsonRpcRequestHandlers to the language server#5161
Conversation
atomb
left a comment
There was a problem hiding this comment.
This looks pretty good to me, and I like how simple it is. I'd like to know what @MikaelMayer, who originally set up the LSP plugin mechanism thinks about it, too, though.
MikaelMayer
left a comment
There was a problem hiding this comment.
This is a great addition that I guess will enable to extend the language server a bit more.
Could you also please add relevant documentation about that new feature?
https://dafny.org/latest/DafnyRef/DafnyRef#sec-plugins
The file is here (feel free to also perform enhancements in the presentation, as needed)
docs\DafnyRef\Plugins.md
Last but not least, please add an item named 5161.feat here:
docs\dev\news
it should contain a summary of the feature that will be used for the release notes. Feel free to look at others elements for inspiration.
After all of this, I guess we can merge. Thanks for your contribution!
Added news post about plugin support for request handlers
MikaelMayer
left a comment
There was a problem hiding this comment.
The documentation is great! Thank you very much for the effort putting it altogether.
A few minor suggested upgrades left on the newly added content and this is good to go.
|
Thanks for the suggestions, I've implemented them and a few other minor improvements in f1166f3 |
Head branch was pushed to by a user without write access
|
Hello Dafny Developers, @BurstingF is doing a CS Master project at Eindhoven University of Technology, Netherlands, where a VS code plugin is developed that offers more advanced refactoring and other Dafny support features. It would be helpful if this pull request would be honored, so that our plugin under development can use the official plugin, and in particular its Dafny Language Server. Otherwise, our plugin will have to install its own Dafny Language Server, which adds weight and overhead. In the future, it is imaginable that some features of our plugin (after it has been tested and proven useful) can be ported to the official plugin. Thanks for your consideration. If further work on our side on this PR is needed, then it would be good to hear concretely what work is still expected from us. |
Description
This change will add an interface for plugins to add request handlers to the Dafny language server, which allows plugins to provide more features than just code actions.
How has this been tested?
Test has been added to
DafnyLanguageServer.Testin a similar way to how a test forGetDafnyCodeActionProviders()was added.By submitting this pull request, I confirm that my contribution is made under the terms of the MIT license.