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

I gave ls-api a try, using the InterProcessThroughJSONExample example. A couple of questions:

Is there an easy way to integrate ls-api into a OSGi project? Specifically, a way to create ls-api as an OSGi bundle? I'm not familiar with Gradle, so I don't know if this is something that is already supported in the build system.

Second, ls-api is written in XTend. What does this mean if we want to attach (Java) sources to the ls-api bundle, so that it's easier to debug an ls-api client (step into ls-api code, etc). Does XTend compile to Java source code or Java byte code? If it is the former, how readable is that code?


On 14 June 2016 at 16:13, Sven Efftinge (sven@xxxxxxxxxxx) <sven@xxxxxxxxxxx> wrote:
Hi Sopot,

I added an example, where the same server is used through interprocess communication.
The ls-api provides a so called JsonBasedLanguageServer, that takes care of the communication.
That one also implements the LanguageServer interface so it is really the same API afterwards.


Cheers,
Sven

2016-06-14 11:35 GMT+02:00 Sopot Cela <scela@xxxxxxxxxx>:
Hi Sven,

is there an example around of connecting to an already running server (such as vscode language server) using this ls-api?

Where we are stuck is basically having a vscode lang server sending a response to a basic request, rather than reimplementing a language server from scratch. The only good 'server' we have now in sight is the vscode extension which provides the JS/TS language service so we're trying to connect to that but with no luck.

In your example app I see that you 'obtain' the server through injection but in real life we'd have to connect somehow to a stream (whether socket, stdi/o etc.) and we're looking for examples of these.

Sopot

----- Oorspronkelijk bericht -----
Van: "Sven Efftinge (sven@xxxxxxxxxxx)" <sven@xxxxxxxxxxx>
Aan: "Discussions about the IDE" <ide-dev@xxxxxxxxxxx>
Verzonden: Maandag 13 juni 2016 22:10:01
Onderwerp: Re: [ide-dev] Language Server Protocol

Hi Mickael,

I've put a small example together that should give you an idea of how the LanguageServer API works:
https://github.com/TypeFox/languageserver-example

Let me know if it helps.
Sven

2016-06-13 18:34 GMT+02:00 Mickael Istria < mistria@xxxxxxxxxx > :



On 06/10/2016 10:08 PM, Sven Efftinge ( sven@xxxxxxxxxxx ) wrote:



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.
Thanks Sven.
I'm trying to use this API to connect to VSCode implementation of language server (shipped with VSCode or with https://github.com/Microsoft/vscode-languageserver-node ) . As I'm new to ls-api and not fluent enough in JS/TS to find out the connection strategy by reading the code from vscode-ls-node, I'm currently stuck at setting up the connection to this external language server.
Does the ls-api allow connections to this external language server? In any case, do you have any example or hint of how to achieve that?
--
Mickael Istria
Eclipse developer at JBoss, by Red Hat
My blog - My Tweets

_______________________________________________
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
_______________________________________________
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



--