<
From version < 8.1 >
edited by Soeren Domroes
on 2019/05/17 12:00
To version < 9.1 >
edited by Soeren Domroes
on 2019/05/17 12:50
>
Change comment: There is no comment for this version

Summary

Details

Page properties
Content
... ... @@ -20,8 +20,34 @@
20 20  
21 21  === Language Registration ===
22 22  
23 -Language that are registered here are always xtext languages
23 +Language that are registered here are always xtext languages.
24 24  
25 +==== Registering languages that are defined in the semantic ====
26 +
27 +Since we are in the semantics repository we can use java ServiceLoader to add new ILSSetups, which register a language.
28 +
29 +{{code}}
30 +interface ILSSetup {
31 + def Injector doLSSetup()
32 +}
33 +
34 +class SCTXLSSetup implements ILSSetup {
35 + override doLSSetup() {
36 + return SCTXIdeSetup.doSetup()
37 + }
38 +}
39 +{{/code}}
40 +
41 +A language that wants to be included in the LS can implement this interface. Registering SCTXLSSetup via ServiceLoader allows to register all available languages like this:
42 +
43 +{{code}}
44 +for (contribution: KielerServiceLoader.load(ILSSetupContribution)) {
45 + contribution.LSSetup.doLSSetup()
46 + }
47 +{{/code}}
48 +
49 +\\
50 +
25 25  === Bindings ===
26 26  
27 27  \\
... ... @@ -306,3 +306,7 @@
306 306  == How to make a new module for sprotty (see actionModule, ...) ==
307 307  
308 308  WIP
335 +
336 +\\
337 +
338 += How to use ServiceLoader =
Confluence.Code.ConfluencePageClass[0]
Id
... ... @@ -1,1 +1,1 @@
1 -57803017
1 +57803019
URL
... ... @@ -1,1 +1,1 @@
1 -https://rtsys.informatik.uni-kiel.de/confluence//wiki/spaces/KIELER/pages/57803017/Developing for KEITH (or LS)
1 +https://rtsys.informatik.uni-kiel.de/confluence//wiki/spaces/KIELER/pages/57803019/Developing for KEITH (or LS)