-
Notifications
You must be signed in to change notification settings - Fork 40
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
Language Server Protocol #26
Comments
An OCaml implementation of LSP data structures is here: https://github.com/facebook/hhvm/blob/master/hphp/hack/src/utils/lsp.ml Would we get then a TODO list, it should be easy to support this in a basic sense. Some more advances capabilites of the LSP are quite hard to do due to Coq internals. |
This is well on the road and working now; it wouldn't be unreasonable to expect SerAPI to build on the LSP kernel for 0.7.0 |
I'd like to help with this issue, do you know of some relatively self-contained work that needs to get done to support LSP? |
@LilRed as I mentioned in the other issue, there is an in-progress branch. If you can I can give you access, but we'd still like to rewrite the whole server implementation before releasing to better account for the nuances of inter-process communication. |
@ejgallego any chance I can get access to the in-progress branch? |
@LilRed I could give you access to the tree however that wouldn't help a lot; the main issue here and where work is concentrated now is in the base Coq API for incremental document checking. Until that is ready, proper LSP is too hard to implement reliably IMO. So first we are working on I hope a first "alpha" version of As for now, the Coq branch of the LSP server is basically this code but adapted to Coq without significant changes. |
Broadly, to invest in something Coq-related for ~150 hours with between February and April. Also, I'd like to do my part towards moving on from CoqIDE to something more flexible and modern. Not that CoqIDE is particularly bad, in fact it's surprisingly good, but it's not easily extensible and I haven't figured out how to "look under the hood" and work around its warts.
Can you point me to that work? Or is it not publicly accessible? Best |
Hi @LilRed , indeed I think your timeframe should work pretty well.
Sure, I will give you some pointers in the next weeks; the reason the current prototype is not publicily accessible is that it is still not usable and I feel it would make many people lose a lot of time. Indeed, the current prototype needs a full rewrite once we improve the Coq API itself, but that should happen pretty soon as we have made quite a bit of progress on the Coq side; the Coq PR allowing for the icheck / LSP prototype to function should land in |
What PR would that be? :) |
@LilRed for example coq/coq#10681 and coq/coq#10884 and a couple other more that have not been submitted yet. See also coq/coq#10041 |
Note that VsCoq (https://github.com/coq-community/vscoq) is pursuing very similar goals. |
Welp, that's indeed on the Coq side, and rather deeper stuff than I can chew as of right now. If that's where the action is I'm going to start digging into Coq internals as soon as I have time. If you know of any particularly useful introductory material or well-defined low-hanging fruit that a newcomer could likely deal with, let me know. |
Thanks @LilRed , I'm unsure if there is any resource that would help right now; hopefully the situation does improve before Christmas. |
We should support LSP to some degree.
https://github.com/Microsoft/language-server-protocol/blob/master/protocol.md
The text was updated successfully, but these errors were encountered: