-
-
Notifications
You must be signed in to change notification settings - Fork 2.5k
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
Add pullDiagnostics lsp feature #7757
Comments
We need to wait until gluon-lang/lsp-types#258 is merged. Right now library has no primitives to implement |
The new lsp types version contains the necessary PR so this is not blocked anymore. It might be a bit of work to implement tougnh |
Are there any other language servers that you know of that support pull diagnostics? I've tried omnisharp, pyright, RA, zls, and a few others, but none have implemented this feature. Some of them will probably support this later because they also depend on |
This issue was motivated by |
I played around with the implementation a bit and here are some notes. helix/helix-term/src/commands/lsp.rs Lines 1291 to 1293 in 57f093d
This is how all commands interact with lsp (via future + callback). On the other hand, the current diagnosis (publish) comes to us in the form of notifications, so we no longer need to interact with async, just change the document and listen for additional notifications. So my question is how can we simultaneously process an asynchronous request and then make changes to the document helix/helix-view/src/document.rs Lines 915 to 919 in 57f093d
because P.S. if you also want to try to implement this feature, |
We have mechanismis for exactly this: You need to create a |
What would be required now that #8021 is merged? I could give this a shot, if it is not too difficult. I would like to try out Roslyn Language Server (successor to OmniSharp) for C# and it only supports pull diagnostics. |
I think that would be not very difficult, because all building blocks are probably in the code base already. But you need to carefully read and understand lsp specification to support ?all? capabilities, etc. |
Some of LSP support only pull diagnostics
source here #7725
The text was updated successfully, but these errors were encountered: