@lionweb/io-lionweb-mps-specific
v0.9.0
Published
TypeScript implementation of the io.lionweb.mps.specific language
Downloads
1,018
Readme
The io-lionweb-mps-specific package
This NPM package contains an implementation of the io.lionweb.mps.specific language.
The MPS implementation of that language is part of the lionweb-mps plug-in.
The annotations in this language are used to export MPS-specific language (structure) metadata as part of LionWeb language exports from MPS (in the LionCore M3 format).
More specifically, this pertains to metadata like the alias, short description, documentation, etc., of a language concept.
It can be added to a TypeScript codebase as follows:
$ npm add @lionweb/io-lionweb-mps-specificAPI
The API consists of the following things exported from this package:
- The implementation of the language consists of the following classes:
ConceptDescription,Deprecated,KeyedDescription,ShortDescription,VirtualPackage. Also see this PlantUml diagram for some more information. - The language is defined through the constant
ioLionWebMpsSpecificLanguage(of typeLanguage). Its classifiers are exported separately through theioLionWebMpsSpecificClassifiersdictionary. - The
deserializeLanguagesWithIoLionWebMpsSpecificfunction deserializes a LionWeb serialization chunk as an array ofLanguages, potentially being annotated with instances of annotations from theio.lionweb.mps.specificlanguage. - The
ioLionWebMpsSpecificAnnotationsFromfunction returns the (instances of the)io.lionweb.mps.specificlanguage's annotations that annotate the given language element (of typeM3Concept). - The
textualizationOfAnnotationsInfunction renders a textualization of all instances ofio.lionweb.mps.specificannotations, in the given languages' tree structure. Note: only language elements having annotations (at any nesting depth) are rendered. This is useful to get a quick overview of the annotations.
LionWeb version
The implementation is explicitly tied to LionWeb version 2023.1, meaning that its definition refers to the LionCore and LionCore builtins languages in that version. No parametrization in the LionWeb version is provided at the moment.
