Changes for page Developing for KEITH or LS
Last modified by Alexander Schulz-Rosengarten on 2023/09/07 15:07
Change comment:
There is no comment for this version
Summary
-
Page properties (1 modified, 0 added, 0 removed)
-
Objects (1 modified, 0 added, 0 removed)
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 -5780301 71 +57803019 - URL
-
... ... @@ -1,1 +1,1 @@ 1 -https://rtsys.informatik.uni-kiel.de/confluence//wiki/spaces/KIELER/pages/5780301 7/Developing for KEITH (or LS)1 +https://rtsys.informatik.uni-kiel.de/confluence//wiki/spaces/KIELER/pages/57803019/Developing for KEITH (or LS)