Page History
Table of Contents | ||
---|---|---|
|
Starting the Language Server (LS)
This part of the guide covers the server side development for KEITH, the language server (LS).
Register start hook (Eclipse)
Currently the LS is an eclipse application and it has to be started as one. To do this the Manifest.mf in the META-INF folder of your langauge server plugin has to be changed. In extensions tab a new extension point for org.eclipse.core.runtime.applications has to be created. This has to map to your start class of your language server, which has to be an IApplication that implements a start method.
Language Registration
Bindings
Starting and connecting
Connection via Socket
Connection via stdin/stdout
Developing a LS extension
...
Code Block |
---|
var iLanguageServerExtensions = <Object>newArrayList(languageServer) // list of all language server extensions for (lse : KielerServiceLoader.load(ILanguageServerContribution)) { // dynamically load all contributions to add LS extensions iLanguageServerExtensions.add(lse.getLanguageServerExtension(injector)) } |
The resulting list of implementions is used to add the extensions to the language server.
Info |
---|
The interfaces used for dynamic registration are in the semantics repository. If you define a pragmatics LS extension you have to statically add these extensions to your list. |
Register an extension (on server side)
...