Closed tortmayr closed 5 years ago
Sounds like a good idea in general. What do you think, @spoenemann? AFAICS, we have three scenarios
Is GLSP completely independent of LSP?
Before we start reviewing the code, could you please rebase it to master? The API has changed quite a bit (DiagramManager is provided by TheiaConnector, DiagramManagerProvider is removed).
Yes I agree this should be the three core scenarios. Maybe @planger can also give some input on this.
Technically the GLSP framework is completely independent from LSP but of course we have some overlap. (e.g. client-server communication is also JSON-RPC/Websocket based).
The code should already be rebased to the lastest master and the API changes should be included.
Sounds good. sprotty-theia
should be about integrating Sprotty with Theia, which does not necessarily have to be via LSP.
I have already an example that uses the older theia-sprotty
without any server component:
https://github.com/TypeFox/npm-dependency-graph
Thanks a lot for your fast feedback!
Yes I agree this should be the three core scenarios. Maybe @planger can also give some input on this.
No, not really. Those three main scenarios sound good to me (LSP-based, servers that are not based on LSP, and no server at all).
Is GLSP completely independent of LSP?
Right, GLSP is completely independent. It provides an own server (framework) that doesn't require any LSP-based language server running alongside it. This is actually one of the main goals we are pursuing with GLSP. In many of our use cases, we don't have an LSP-based server that has authority over the model, but rather have stand-alone models (managed by an own component) and different types of editors for different parts of the model (diagrams, forms, trees, etc.; maybe text, but not necessarily).
PR is now rebased on the current master. In addition, I tested the change with the xtext-theia-sprotty-example
Please rebase to current sprotty-theia. Sorry for the hassle.
No worries. PR and test branch are now rebased
Great, thanks for the patch!
I moved the LS specific part into the language-server directory, so instead of creating a pull request against your fork I did a new one https://github.com/eclipse/sprotty-theia/pull/22 with an additional commit.
Currently the glue code for using sprotty diagrams in Theia is tightly coupled to the language server protocol. It's not possible to use this integration code with non LSP-based sprotty servers without major modifications.
This change is a proposal to loose the coupling of the sprotty-theia integration and LSP by:
With this changes the glue code can be reused for all types of sprotty servers and communication protocols by implementing customized TheiaSprottyConnector and TheiaDiagramServer classes.
In particular this would enable the GLSP project to reuse this glue code without maintaining a fork.