<
From version < 20.1 >
edited by Soeren Domroes
on 2019/05/16 10:31
To version < 21.1 >
edited by Soeren Domroes
on 2019/05/16 10:36
>
Change comment: There is no comment for this version

Summary

Details

Page properties
Content
... ... @@ -193,6 +193,7 @@
193 193  class KiCoolLanguageServerExtension implements ILanguageServerExtension, CommandExtension, ILanguageClientProvider {
194 194   // fancy extension stuff
195 195  
196 + var KeithLanguageClient client
196 196   // A language server extension must implement the initialize method,
197 197   // it is however only called if the extension is registered via a language.
198 198   // This should never be the case, so this is never called.
... ... @@ -199,6 +199,16 @@
199 199   override initialize(ILanguageServerAccess access) {
200 200   this.languageServerAccess = access
201 201   }
203 +
204 + // implement ILanguageClientProvider
205 + override setLanguageClient(LanguageClient client) {
206 + this.client = client as KeithLanguageClient
207 + }
208 +
209 + // implement ILanguageClientProvider
210 + override getLanguageClient() {
211 + return this.client
212 + }
202 202  
203 203  }
204 204  {{/code}}
... ... @@ -205,7 +205,7 @@
205 205  
206 206  The CommandExtension defines all commands (requests or notifications) that are send from client to server. An example how this looks like can be seen in the code snippet Example CommandExtension is an example how to [[define a server side extension interface.>>doc:||anchor="Registeranextension(onserverside)"]]
207 207  
208 -\\
219 +The ILanguageClientProvider should be implemented by an extension that plans to send [[messages from the server to the client>>doc:||anchor="ServerClientcommunicationinterface"]].
209 209  
210 210  This language server extension is provided by a corresponding contribution, which is later used to access it:
211 211  
... ... @@ -293,6 +293,12 @@
293 293  
294 294  This defines three json-rpc commands: "keith/kicool/compile", "keith/kicool/show", "keith/kicool/get-systems". These are implemented in KiCoolLanguageServerExtension.
295 295  
307 +\\
308 +
309 +== Server Client communication interface ==
310 +
311 +Not only messages from client to server but rather mesages from server client might be needed
312 +
296 296  == Register and calling an extension (on client side) ==
297 297  
298 298  Language server extension do not have to be registered on the client side. It is just called.
Confluence.Code.ConfluencePageClass[0]
Id
... ... @@ -1,1 +1,1 @@
1 -57802994
1 +57802996
URL
... ... @@ -1,1 +1,1 @@
1 -https://rtsys.informatik.uni-kiel.de/confluence//wiki/spaces/KIELER/pages/57802994/Running KEITH
1 +https://rtsys.informatik.uni-kiel.de/confluence//wiki/spaces/KIELER/pages/57802996/Running KEITH