[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [ide-dev] Language Server Protocol

A Java implementation of the protocol, that is VS Code independent can be found here:Âhttps://github.com/TypeFox/ls-api
It defines all the structures in Java interfaces and beans and takes care of the (de)serialization to/from json.
It is currently used by Che, Xtext, and the a JavaC based java language server.

2016-06-10 17:03 GMT+02:00 Gorkem Ercan <gorkem.ercan@xxxxxxxxx>:


On 10 Jun 2016, at 10:45, Bruno Medeiros wrote:

What I mean was that all the server implementations I looked at (from those
here:
https://github.com/Microsoft/vscode-languageserver-protocol/wiki/Protocol-Implementations#language-servers
), they all seem to require VSCode to be installed to run the server. I
couldn't find any instructions to install one of them in a stand-alone way.


This is because they are packaged as VS Code extension. A language server is in practice developed as a stand alone component
but it is packaged into a VS Code extension so that the extension can activate the server when VS Code needs its functionality.
You can see the server/client separation on the example server code clearly [1]. Unfortunately most implementations have not
laid out their code with this separation on mind.

I am building a Java server that uses JDT, M2E to provide its functionality and I should make the code available soon, which
has a very clear separation where server is a headless Eclipse that leaves on its own and provides possibility for multiple
transports (for VS Code it uses named pipes).

[1] https://github.com/Microsoft/vscode-languageserver-node


On 10 June 2016 at 15:13, Tyler Jewell <tyler@xxxxxxxxxxx> wrote:

You don't need VS Code to implement the protocol, but you do need some
sort of editor that supports it.

We'll have a branch available in about a week of Eclipse Che that lets you
take custom language servers, deploy them into a workspace and test the
implementation compatibility within the editor. VS Code is another tool
that you can use right now to test compatibility with the protocol.

We are working on some standards for how:
1. Various languages will advertise their server availability in a
registry.
2. How a language server can be auto-deployed into a different kind of
workspace.
3. File type <> language server association.

This will make it easier for different editors to adopt and make use of
the full library of language servers available.

Tyler Jewell | CEO | tyler@âcodenvy.âcom | 9â78â.8â84â.53â55

On Fri, Jun 10, 2016 at 6:56 AM, Bruno Medeiros <
bruno.do.medeiros@xxxxxxxxx> wrote:

This is quite interesting. It seems very related in scope to the work of
Melnorme Eclipse (https://github.com/bruno-medeiros/MelnormeEclipse/wiki),
since the Melnorme framework has a focus on using external tools for
language analysis (including daemon-style tools).

There is no common protocol for the language servers in Melnorme, since
none of the language implementations (Rust, Go, and D) have a common
protocol for their tools. But definitely a common protocol would be
welcome, especially as language server functionality becomes more complex.

Looking at the above, I wanted to give a quick look at one of the
VSCode's Language Server Protocol implementations, to see how easy it would
be to implement support for that in Melnrome, but it seems all the protocol
implementations require VSCode to be installed? Or at least the
installation instructions don't explain how to install otherwise. It left
me a bit confused for now.



On 8 June 2016 at 13:49, Sven Efftinge (sven@xxxxxxxxxxx) <
sven@xxxxxxxxxxx> wrote:

Hi all,

I just gave a session at EclipseCon France about our efforts and
collaborations around VSCode's Language Server Protocol. The idea is to
support this protocol in other editors than VSCode as well and by that
making it a widely supported interface for language implementors to provide
editing support.

The protocol itself is platform/language agnostic and is defined by
Erich Gamma's VSCode team:
https://github.com/Microsoft/vscode-languageserver-protocol/

We have started a wiki page that lists supporting editors, languages and
SDKs

https://github.com/Microsoft/vscode-languageserver-protocol/wiki/Protocol-Implementations

Mikael suggested to share this here to make sure we are all aware of
this. I'm sure there are many cool ways people could leverage this effort
in different Eclipse projects.
Some reasonable things to do would be :

Â- Support the protocol in Eclipse (I.e. have a generic editor plug-in)
Â- Use this protocol around existing language tooling (e.g. JDT, Orion +
Tern.js)

Codenvy and TypeFox are already collaborating and working on supporting
the protocol in Che and Xtext. Tom (Schindl) also is going to support it in
his JavaFX IDE.
Looking forward to your ideas, feedback and questions.

Regards,
Sven

_______________________________________________
ide-dev mailing list
ide-dev@xxxxxxxxxxx
To change your delivery options, retrieve your password, or unsubscribe
from this list, visit
https://dev.eclipse.org/mailman/listinfo/ide-dev




--
Bruno Medeiros
https://twitter.com/brunodomedeiros

_______________________________________________
ide-dev mailing list
ide-dev@xxxxxxxxxxx
To change your delivery options, retrieve your password, or unsubscribe
from this list, visit
https://dev.eclipse.org/mailman/listinfo/ide-dev



_______________________________________________
ide-dev mailing list
ide-dev@xxxxxxxxxxx
To change your delivery options, retrieve your password, or unsubscribe
from this list, visit
https://dev.eclipse.org/mailman/listinfo/ide-dev




--
Bruno Medeiros
https://twitter.com/brunodomedeiros
_______________________________________________
ide-dev mailing list
ide-dev@xxxxxxxxxxx
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/ide-dev
_______________________________________________
ide-dev mailing list
ide-dev@xxxxxxxxxxx
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/ide-dev