@likec4/language-server 1.8.0 → 1.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/contrib/likec4.tmLanguage.json +1 -1
- package/dist/browser.cjs +21 -0
- package/dist/browser.d.cts +22 -0
- package/dist/browser.d.mts +22 -0
- package/dist/browser.d.ts +22 -0
- package/dist/browser.mjs +19 -0
- package/dist/index.cjs +10 -0
- package/dist/index.d.cts +18 -0
- package/dist/index.d.mts +18 -0
- package/dist/index.d.ts +18 -0
- package/dist/index.mjs +1 -0
- package/dist/likec4lib.cjs +961 -0
- package/dist/likec4lib.d.cts +6 -0
- package/dist/likec4lib.d.mts +6 -0
- package/dist/likec4lib.d.ts +6 -0
- package/dist/likec4lib.mjs +957 -0
- package/dist/model-graph/index.cjs +10 -0
- package/dist/model-graph/index.d.cts +79 -0
- package/dist/model-graph/index.d.mts +79 -0
- package/dist/model-graph/index.d.ts +79 -0
- package/dist/model-graph/index.mjs +1 -0
- package/dist/node.cjs +18 -0
- package/dist/node.d.cts +20 -0
- package/dist/node.d.mts +20 -0
- package/dist/node.d.ts +20 -0
- package/dist/node.mjs +16 -0
- package/dist/protocol.cjs +25 -0
- package/dist/protocol.d.cts +43 -0
- package/dist/protocol.d.mts +43 -0
- package/dist/protocol.d.ts +43 -0
- package/dist/protocol.mjs +17 -0
- package/dist/shared/language-server.86lmJ8ZN.d.cts +1194 -0
- package/dist/shared/language-server.B1TZgyoH.cjs +5371 -0
- package/dist/shared/language-server.CCB4ESN5.mjs +1606 -0
- package/dist/shared/language-server.CFTY6j4e.d.mts +1194 -0
- package/dist/shared/language-server.D0bOlrCi.cjs +1619 -0
- package/dist/shared/language-server.Q-wtPShM.mjs +5360 -0
- package/dist/shared/language-server.RjhrBZS0.d.ts +1194 -0
- package/package.json +35 -20
- package/src/ast.ts +44 -32
- package/src/browser.ts +0 -3
- package/src/elementRef.ts +1 -1
- package/src/generated/ast.ts +105 -86
- package/src/generated/grammar.ts +1 -1
- package/src/generated-lib/icons.ts +1 -1
- package/src/like-c4.langium +30 -18
- package/src/likec4lib.ts +2 -3
- package/src/logger.ts +9 -1
- package/src/lsp/RenameProvider.ts +8 -0
- package/src/lsp/SemanticTokenProvider.ts +19 -1
- package/src/lsp/index.ts +1 -0
- package/src/model/fqn-computation.ts +33 -23
- package/src/model/fqn-index.ts +5 -20
- package/src/model/model-builder.ts +147 -90
- package/src/model/model-locator.ts +1 -1
- package/src/model/model-parser-where.ts +3 -2
- package/src/model/model-parser.ts +57 -19
- package/src/model-graph/LikeC4ModelGraph.ts +42 -21
- package/src/model-graph/compute-view/__test__/fixture.ts +16 -14
- package/src/model-graph/compute-view/compute.ts +9 -6
- package/src/model-graph/compute-view/predicates.ts +3 -3
- package/src/model-graph/dynamic-view/__test__/fixture.ts +1 -0
- package/src/model-graph/dynamic-view/compute.ts +2 -1
- package/src/model-graph/utils/elementExpressionToPredicate.ts +1 -1
- package/src/model-graph/utils/sortNodes.ts +2 -6
- package/src/module.ts +23 -3
- package/src/protocol.ts +4 -5
- package/src/references/scope-computation.ts +10 -1
- package/src/references/scope-provider.ts +22 -9
- package/src/shared/NodeKindProvider.ts +73 -34
- package/src/test/setup.ts +3 -8
- package/src/utils/graphlib.ts +11 -0
- package/src/validation/_shared.ts +24 -0
- package/src/validation/element.ts +9 -9
- package/src/validation/index.ts +2 -1
- package/src/validation/relation.ts +45 -39
- package/src/validation/specification.ts +15 -2
- package/src/validation/view.ts +7 -0
- package/src/view-utils/manual-layout.ts +1 -1
- package/src/view-utils/resolve-extended-views.ts +19 -10
- package/src/view-utils/resolve-relative-paths.ts +5 -7
- package/src/view-utils/view-hash.ts +1 -1
- package/src/reset.d.ts +0 -2
package/src/generated/ast.ts
CHANGED
|
@@ -24,6 +24,7 @@ export const LikeC4Terminals = {
|
|
|
24
24
|
Percent: /\b\d+%/,
|
|
25
25
|
String: /"[^"]*"|'[^']*'/,
|
|
26
26
|
IdTerminal: /[_]*[a-zA-Z][-\w]*/,
|
|
27
|
+
Hex: /[a-zA-Z0-9]+/,
|
|
27
28
|
};
|
|
28
29
|
|
|
29
30
|
export type ArrowType = 'crow' | 'diamond' | 'dot' | 'none' | 'normal' | 'odiamond' | 'odot' | 'onormal' | 'open' | 'vee';
|
|
@@ -38,6 +39,18 @@ export function isBorderStyleValue(item: unknown): item is BorderStyleValue {
|
|
|
38
39
|
return isLineOptions(item) || item === 'none';
|
|
39
40
|
}
|
|
40
41
|
|
|
42
|
+
export type CustomColorId = 'element' | 'model' | ArrowType | ElementShape | LineOptions | string;
|
|
43
|
+
|
|
44
|
+
export function isCustomColorId(item: unknown): item is CustomColorId {
|
|
45
|
+
return isElementShape(item) || isArrowType(item) || isLineOptions(item) || item === 'element' || item === 'model' || (typeof item === 'string' && (/[_]*[a-zA-Z][-\w]*/.test(item)));
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
export type CustomColorValue = string;
|
|
49
|
+
|
|
50
|
+
export function isCustomColorValue(item: unknown): item is CustomColorValue {
|
|
51
|
+
return typeof item === 'string';
|
|
52
|
+
}
|
|
53
|
+
|
|
41
54
|
export type DotId = string;
|
|
42
55
|
|
|
43
56
|
export function isDotId(item: unknown): item is DotId {
|
|
@@ -132,14 +145,6 @@ export function isPredicate(item: unknown): item is Predicate {
|
|
|
132
145
|
return reflection.isInstance(item, Predicate);
|
|
133
146
|
}
|
|
134
147
|
|
|
135
|
-
export type Relation = ExplicitRelation | ImplicitRelation;
|
|
136
|
-
|
|
137
|
-
export const Relation = 'Relation';
|
|
138
|
-
|
|
139
|
-
export function isRelation(item: unknown): item is Relation {
|
|
140
|
-
return reflection.isInstance(item, Relation);
|
|
141
|
-
}
|
|
142
|
-
|
|
143
148
|
export type RelationExpression = DirectedRelationExpression | InOutRelationExpression | IncomingRelationExpression | OutgoingRelationExpression;
|
|
144
149
|
|
|
145
150
|
export const RelationExpression = 'RelationExpression';
|
|
@@ -329,8 +334,9 @@ export function isBorderProperty(item: unknown): item is BorderProperty {
|
|
|
329
334
|
export interface ColorProperty extends AstNode {
|
|
330
335
|
readonly $container: CustomElementProperties | CustomRelationProperties | ElementStyleProperty | RelationStyleProperty | SpecificationRelationshipKind | ViewRuleStyle;
|
|
331
336
|
readonly $type: 'ColorProperty';
|
|
337
|
+
customColor?: Reference<CustomColor>;
|
|
332
338
|
key: 'color';
|
|
333
|
-
|
|
339
|
+
themeColor?: ThemeColor;
|
|
334
340
|
}
|
|
335
341
|
|
|
336
342
|
export const ColorProperty = 'ColorProperty';
|
|
@@ -339,6 +345,18 @@ export function isColorProperty(item: unknown): item is ColorProperty {
|
|
|
339
345
|
return reflection.isInstance(item, ColorProperty);
|
|
340
346
|
}
|
|
341
347
|
|
|
348
|
+
export interface CustomColor extends AstNode {
|
|
349
|
+
readonly $container: SpecificationColor;
|
|
350
|
+
readonly $type: 'CustomColor';
|
|
351
|
+
name: CustomColorId;
|
|
352
|
+
}
|
|
353
|
+
|
|
354
|
+
export const CustomColor = 'CustomColor';
|
|
355
|
+
|
|
356
|
+
export function isCustomColor(item: unknown): item is CustomColor {
|
|
357
|
+
return reflection.isInstance(item, CustomColor);
|
|
358
|
+
}
|
|
359
|
+
|
|
342
360
|
export interface CustomElementProperties extends AstNode {
|
|
343
361
|
readonly $container: ElementPredicateWith;
|
|
344
362
|
readonly $type: 'CustomElementProperties';
|
|
@@ -552,7 +570,7 @@ export function isElementPredicateWith(item: unknown): item is ElementPredicateW
|
|
|
552
570
|
}
|
|
553
571
|
|
|
554
572
|
export interface ElementRef extends AstNode {
|
|
555
|
-
readonly $container: DirectedRelationExpression | DynamicViewPredicateIterator | DynamicViewStep | ElementDescedantsExpression | ElementExpressionsIterator | ElementPredicateWhere | ElementPredicateWith | ElementRef | ElementView | ExpandElementExpression |
|
|
573
|
+
readonly $container: DirectedRelationExpression | DynamicViewPredicateIterator | DynamicViewStep | ElementDescedantsExpression | ElementExpressionsIterator | ElementPredicateWhere | ElementPredicateWith | ElementRef | ElementView | ExpandElementExpression | IncomingRelationExpression | OutgoingRelationExpression | Predicates | Relation;
|
|
556
574
|
readonly $type: 'ElementRef';
|
|
557
575
|
el: Reference<Element>;
|
|
558
576
|
parent?: ElementRef;
|
|
@@ -668,24 +686,6 @@ export function isExpandElementExpression(item: unknown): item is ExpandElementE
|
|
|
668
686
|
return reflection.isInstance(item, ExpandElementExpression);
|
|
669
687
|
}
|
|
670
688
|
|
|
671
|
-
export interface ExplicitRelation extends AstNode {
|
|
672
|
-
readonly $container: ElementBody | ExtendElementBody | Model;
|
|
673
|
-
readonly $type: 'ExplicitRelation';
|
|
674
|
-
body?: RelationBody;
|
|
675
|
-
kind?: Reference<RelationshipKind>;
|
|
676
|
-
source: ElementRef;
|
|
677
|
-
tags?: Tags;
|
|
678
|
-
target: ElementRef;
|
|
679
|
-
technology?: string;
|
|
680
|
-
title?: string;
|
|
681
|
-
}
|
|
682
|
-
|
|
683
|
-
export const ExplicitRelation = 'ExplicitRelation';
|
|
684
|
-
|
|
685
|
-
export function isExplicitRelation(item: unknown): item is ExplicitRelation {
|
|
686
|
-
return reflection.isInstance(item, ExplicitRelation);
|
|
687
|
-
}
|
|
688
|
-
|
|
689
689
|
export interface ExtendElement extends AstNode {
|
|
690
690
|
readonly $container: Model;
|
|
691
691
|
readonly $type: 'ExtendElement';
|
|
@@ -702,7 +702,7 @@ export function isExtendElement(item: unknown): item is ExtendElement {
|
|
|
702
702
|
export interface ExtendElementBody extends AstNode {
|
|
703
703
|
readonly $container: ExtendElement;
|
|
704
704
|
readonly $type: 'ExtendElementBody';
|
|
705
|
-
elements: Array<Element |
|
|
705
|
+
elements: Array<Element | Relation>;
|
|
706
706
|
}
|
|
707
707
|
|
|
708
708
|
export const ExtendElementBody = 'ExtendElementBody';
|
|
@@ -738,23 +738,6 @@ export function isIconProperty(item: unknown): item is IconProperty {
|
|
|
738
738
|
return reflection.isInstance(item, IconProperty);
|
|
739
739
|
}
|
|
740
740
|
|
|
741
|
-
export interface ImplicitRelation extends AstNode {
|
|
742
|
-
readonly $container: ElementBody;
|
|
743
|
-
readonly $type: 'ImplicitRelation';
|
|
744
|
-
body?: RelationBody;
|
|
745
|
-
kind?: Reference<RelationshipKind>;
|
|
746
|
-
tags?: Tags;
|
|
747
|
-
target: ElementRef;
|
|
748
|
-
technology?: string;
|
|
749
|
-
title?: string;
|
|
750
|
-
}
|
|
751
|
-
|
|
752
|
-
export const ImplicitRelation = 'ImplicitRelation';
|
|
753
|
-
|
|
754
|
-
export function isImplicitRelation(item: unknown): item is ImplicitRelation {
|
|
755
|
-
return reflection.isInstance(item, ImplicitRelation);
|
|
756
|
-
}
|
|
757
|
-
|
|
758
741
|
export interface IncludePredicate extends AstNode {
|
|
759
742
|
readonly $container: ElementViewBody;
|
|
760
743
|
readonly $type: 'IncludePredicate';
|
|
@@ -884,7 +867,7 @@ export function isMetadataBody(item: unknown): item is MetadataBody {
|
|
|
884
867
|
export interface Model extends AstNode {
|
|
885
868
|
readonly $container: LikeC4Grammar;
|
|
886
869
|
readonly $type: 'Model';
|
|
887
|
-
elements: Array<Element |
|
|
870
|
+
elements: Array<Element | ExtendElement | Relation>;
|
|
888
871
|
name: 'model';
|
|
889
872
|
}
|
|
890
873
|
|
|
@@ -973,8 +956,26 @@ export function isPredicates(item: unknown): item is Predicates {
|
|
|
973
956
|
return reflection.isInstance(item, Predicates);
|
|
974
957
|
}
|
|
975
958
|
|
|
959
|
+
export interface Relation extends AstNode {
|
|
960
|
+
readonly $container: ElementBody | ExtendElementBody | Model;
|
|
961
|
+
readonly $type: 'Relation';
|
|
962
|
+
body?: RelationBody;
|
|
963
|
+
kind?: Reference<RelationshipKind>;
|
|
964
|
+
source?: ElementRef;
|
|
965
|
+
tags?: Tags;
|
|
966
|
+
target: ElementRef;
|
|
967
|
+
technology?: string;
|
|
968
|
+
title?: string;
|
|
969
|
+
}
|
|
970
|
+
|
|
971
|
+
export const Relation = 'Relation';
|
|
972
|
+
|
|
973
|
+
export function isRelation(item: unknown): item is Relation {
|
|
974
|
+
return reflection.isInstance(item, Relation);
|
|
975
|
+
}
|
|
976
|
+
|
|
976
977
|
export interface RelationBody extends AstNode {
|
|
977
|
-
readonly $container:
|
|
978
|
+
readonly $container: Relation;
|
|
978
979
|
readonly $type: 'RelationBody';
|
|
979
980
|
props: Array<RelationProperty>;
|
|
980
981
|
tags?: Tags;
|
|
@@ -1063,6 +1064,19 @@ export function isShapeProperty(item: unknown): item is ShapeProperty {
|
|
|
1063
1064
|
return reflection.isInstance(item, ShapeProperty);
|
|
1064
1065
|
}
|
|
1065
1066
|
|
|
1067
|
+
export interface SpecificationColor extends AstNode {
|
|
1068
|
+
readonly $container: SpecificationRule;
|
|
1069
|
+
readonly $type: 'SpecificationColor';
|
|
1070
|
+
color: CustomColorValue;
|
|
1071
|
+
name: CustomColor;
|
|
1072
|
+
}
|
|
1073
|
+
|
|
1074
|
+
export const SpecificationColor = 'SpecificationColor';
|
|
1075
|
+
|
|
1076
|
+
export function isSpecificationColor(item: unknown): item is SpecificationColor {
|
|
1077
|
+
return reflection.isInstance(item, SpecificationColor);
|
|
1078
|
+
}
|
|
1079
|
+
|
|
1066
1080
|
export interface SpecificationElementKind extends AstNode {
|
|
1067
1081
|
readonly $container: SpecificationRule;
|
|
1068
1082
|
readonly $type: 'SpecificationElementKind';
|
|
@@ -1118,6 +1132,7 @@ export function isSpecificationRelationshipStringProperty(item: unknown): item i
|
|
|
1118
1132
|
export interface SpecificationRule extends AstNode {
|
|
1119
1133
|
readonly $container: LikeC4Grammar;
|
|
1120
1134
|
readonly $type: 'SpecificationRule';
|
|
1135
|
+
colors: Array<SpecificationColor>;
|
|
1121
1136
|
elements: Array<SpecificationElementKind>;
|
|
1122
1137
|
name: 'specification';
|
|
1123
1138
|
relationships: Array<SpecificationRelationshipKind>;
|
|
@@ -1155,7 +1170,7 @@ export function isTag(item: unknown): item is Tag {
|
|
|
1155
1170
|
}
|
|
1156
1171
|
|
|
1157
1172
|
export interface Tags extends AstNode {
|
|
1158
|
-
readonly $container: DynamicViewBody | ElementBody | ElementViewBody |
|
|
1173
|
+
readonly $container: DynamicViewBody | ElementBody | ElementViewBody | Relation | RelationBody | Tags;
|
|
1159
1174
|
readonly $type: 'Tags';
|
|
1160
1175
|
prev?: Tags;
|
|
1161
1176
|
values: Array<Reference<Tag>>;
|
|
@@ -1327,6 +1342,7 @@ export type LikeC4AstType = {
|
|
|
1327
1342
|
ArrowProperty: ArrowProperty
|
|
1328
1343
|
BorderProperty: BorderProperty
|
|
1329
1344
|
ColorProperty: ColorProperty
|
|
1345
|
+
CustomColor: CustomColor
|
|
1330
1346
|
CustomElementProperties: CustomElementProperties
|
|
1331
1347
|
CustomRelationProperties: CustomRelationProperties
|
|
1332
1348
|
DirectedRelationExpression: DirectedRelationExpression
|
|
@@ -1357,12 +1373,10 @@ export type LikeC4AstType = {
|
|
|
1357
1373
|
ElementViewRef: ElementViewRef
|
|
1358
1374
|
ExcludePredicate: ExcludePredicate
|
|
1359
1375
|
ExpandElementExpression: ExpandElementExpression
|
|
1360
|
-
ExplicitRelation: ExplicitRelation
|
|
1361
1376
|
ExtendElement: ExtendElement
|
|
1362
1377
|
ExtendElementBody: ExtendElementBody
|
|
1363
1378
|
FqnElementRef: FqnElementRef
|
|
1364
1379
|
IconProperty: IconProperty
|
|
1365
|
-
ImplicitRelation: ImplicitRelation
|
|
1366
1380
|
InOutRelationExpression: InOutRelationExpression
|
|
1367
1381
|
IncludePredicate: IncludePredicate
|
|
1368
1382
|
IncomingRelationExpression: IncomingRelationExpression
|
|
@@ -1396,6 +1410,7 @@ export type LikeC4AstType = {
|
|
|
1396
1410
|
RelationshipKind: RelationshipKind
|
|
1397
1411
|
RelationshipStyleProperty: RelationshipStyleProperty
|
|
1398
1412
|
ShapeProperty: ShapeProperty
|
|
1413
|
+
SpecificationColor: SpecificationColor
|
|
1399
1414
|
SpecificationElementKind: SpecificationElementKind
|
|
1400
1415
|
SpecificationElementStringProperty: SpecificationElementStringProperty
|
|
1401
1416
|
SpecificationRelationshipKind: SpecificationRelationshipKind
|
|
@@ -1433,7 +1448,7 @@ export type LikeC4AstType = {
|
|
|
1433
1448
|
export class LikeC4AstReflection extends AbstractAstReflection {
|
|
1434
1449
|
|
|
1435
1450
|
getAllTypes(): string[] {
|
|
1436
|
-
return [ArrowProperty, BorderProperty, ColorProperty, CustomElementProperties, CustomRelationProperties, DirectedRelationExpression, DynamicView, DynamicViewBody, DynamicViewIncludePredicate, DynamicViewPredicateIterator, DynamicViewRule, DynamicViewStep, Element, ElementBody, ElementDescedantsExpression, ElementExpression, ElementExpressionsIterator, ElementKind, ElementKindExpression, ElementPredicate, ElementPredicateOrWhere, ElementPredicateWhere, ElementPredicateWith, ElementProperty, ElementRef, ElementStringProperty, ElementStyleProperty, ElementTagExpression, ElementView, ElementViewBody, ElementViewRef, ExcludePredicate, ExpandElementExpression,
|
|
1451
|
+
return [ArrowProperty, BorderProperty, ColorProperty, CustomColor, CustomElementProperties, CustomRelationProperties, DirectedRelationExpression, DynamicView, DynamicViewBody, DynamicViewIncludePredicate, DynamicViewPredicateIterator, DynamicViewRule, DynamicViewStep, Element, ElementBody, ElementDescedantsExpression, ElementExpression, ElementExpressionsIterator, ElementKind, ElementKindExpression, ElementPredicate, ElementPredicateOrWhere, ElementPredicateWhere, ElementPredicateWith, ElementProperty, ElementRef, ElementStringProperty, ElementStyleProperty, ElementTagExpression, ElementView, ElementViewBody, ElementViewRef, ExcludePredicate, ExpandElementExpression, ExtendElement, ExtendElementBody, FqnElementRef, IconProperty, InOutRelationExpression, IncludePredicate, IncomingRelationExpression, LibIcon, LikeC4Grammar, LikeC4Lib, LikeC4View, LineProperty, LinkProperty, MetadataAttribute, MetadataBody, MetadataProperty, Model, ModelViews, NavigateToProperty, NotationProperty, OpacityProperty, OutgoingRelationExpression, Predicate, Predicates, Relation, RelationBody, RelationExpression, RelationPredicate, RelationPredicateOrWhere, RelationPredicateWhere, RelationPredicateWith, RelationProperty, RelationStringProperty, RelationStyleProperty, RelationshipKind, RelationshipStyleProperty, ShapeProperty, SpecificationColor, SpecificationElementKind, SpecificationElementStringProperty, SpecificationRelationshipKind, SpecificationRelationshipStringProperty, SpecificationRule, SpecificationTag, StringProperty, StyleProperty, Tag, Tags, ViewProperty, ViewRef, ViewRule, ViewRuleAutoLayout, ViewRulePredicate, ViewRuleStyle, ViewStringProperty, WhereBinaryExpression, WhereElement, WhereElementExpression, WhereElementKind, WhereElementNegation, WhereElementTag, WhereExpression, WhereKindEqual, WhereRelation, WhereRelationExpression, WhereRelationKind, WhereRelationNegation, WhereRelationTag, WhereTagEqual, WildcardExpression];
|
|
1437
1452
|
}
|
|
1438
1453
|
|
|
1439
1454
|
protected override computeIsSubtype(subtype: string, supertype: string): boolean {
|
|
@@ -1493,10 +1508,6 @@ export class LikeC4AstReflection extends AbstractAstReflection {
|
|
|
1493
1508
|
case IncludePredicate: {
|
|
1494
1509
|
return this.isSubtype(ViewRulePredicate, supertype);
|
|
1495
1510
|
}
|
|
1496
|
-
case ExplicitRelation:
|
|
1497
|
-
case ImplicitRelation: {
|
|
1498
|
-
return this.isSubtype(Relation, supertype);
|
|
1499
|
-
}
|
|
1500
1511
|
case IconProperty: {
|
|
1501
1512
|
return this.isSubtype(ElementProperty, supertype) || this.isSubtype(StyleProperty, supertype);
|
|
1502
1513
|
}
|
|
@@ -1575,10 +1586,12 @@ export class LikeC4AstReflection extends AbstractAstReflection {
|
|
|
1575
1586
|
getReferenceType(refInfo: ReferenceInfo): string {
|
|
1576
1587
|
const referenceId = `${refInfo.container.$type}:${refInfo.property}`;
|
|
1577
1588
|
switch (referenceId) {
|
|
1589
|
+
case 'ColorProperty:customColor': {
|
|
1590
|
+
return CustomColor;
|
|
1591
|
+
}
|
|
1578
1592
|
case 'DynamicViewStep:kind':
|
|
1579
|
-
case 'ExplicitRelation:kind':
|
|
1580
|
-
case 'ImplicitRelation:kind':
|
|
1581
1593
|
case 'OutgoingRelationExpression:kind':
|
|
1594
|
+
case 'Relation:kind':
|
|
1582
1595
|
case 'WhereRelationKind:value': {
|
|
1583
1596
|
return RelationshipKind;
|
|
1584
1597
|
}
|
|
@@ -1636,8 +1649,17 @@ export class LikeC4AstReflection extends AbstractAstReflection {
|
|
|
1636
1649
|
return {
|
|
1637
1650
|
name: ColorProperty,
|
|
1638
1651
|
properties: [
|
|
1652
|
+
{ name: 'customColor' },
|
|
1639
1653
|
{ name: 'key' },
|
|
1640
|
-
{ name: '
|
|
1654
|
+
{ name: 'themeColor' }
|
|
1655
|
+
]
|
|
1656
|
+
};
|
|
1657
|
+
}
|
|
1658
|
+
case CustomColor: {
|
|
1659
|
+
return {
|
|
1660
|
+
name: CustomColor,
|
|
1661
|
+
properties: [
|
|
1662
|
+
{ name: 'name' }
|
|
1641
1663
|
]
|
|
1642
1664
|
};
|
|
1643
1665
|
}
|
|
@@ -1870,20 +1892,6 @@ export class LikeC4AstReflection extends AbstractAstReflection {
|
|
|
1870
1892
|
]
|
|
1871
1893
|
};
|
|
1872
1894
|
}
|
|
1873
|
-
case ExplicitRelation: {
|
|
1874
|
-
return {
|
|
1875
|
-
name: ExplicitRelation,
|
|
1876
|
-
properties: [
|
|
1877
|
-
{ name: 'body' },
|
|
1878
|
-
{ name: 'kind' },
|
|
1879
|
-
{ name: 'source' },
|
|
1880
|
-
{ name: 'tags' },
|
|
1881
|
-
{ name: 'target' },
|
|
1882
|
-
{ name: 'technology' },
|
|
1883
|
-
{ name: 'title' }
|
|
1884
|
-
]
|
|
1885
|
-
};
|
|
1886
|
-
}
|
|
1887
1895
|
case ExtendElement: {
|
|
1888
1896
|
return {
|
|
1889
1897
|
name: ExtendElement,
|
|
@@ -1920,19 +1928,6 @@ export class LikeC4AstReflection extends AbstractAstReflection {
|
|
|
1920
1928
|
]
|
|
1921
1929
|
};
|
|
1922
1930
|
}
|
|
1923
|
-
case ImplicitRelation: {
|
|
1924
|
-
return {
|
|
1925
|
-
name: ImplicitRelation,
|
|
1926
|
-
properties: [
|
|
1927
|
-
{ name: 'body' },
|
|
1928
|
-
{ name: 'kind' },
|
|
1929
|
-
{ name: 'tags' },
|
|
1930
|
-
{ name: 'target' },
|
|
1931
|
-
{ name: 'technology' },
|
|
1932
|
-
{ name: 'title' }
|
|
1933
|
-
]
|
|
1934
|
-
};
|
|
1935
|
-
}
|
|
1936
1931
|
case IncludePredicate: {
|
|
1937
1932
|
return {
|
|
1938
1933
|
name: IncludePredicate,
|
|
@@ -2084,6 +2079,20 @@ export class LikeC4AstReflection extends AbstractAstReflection {
|
|
|
2084
2079
|
]
|
|
2085
2080
|
};
|
|
2086
2081
|
}
|
|
2082
|
+
case Relation: {
|
|
2083
|
+
return {
|
|
2084
|
+
name: Relation,
|
|
2085
|
+
properties: [
|
|
2086
|
+
{ name: 'body' },
|
|
2087
|
+
{ name: 'kind' },
|
|
2088
|
+
{ name: 'source' },
|
|
2089
|
+
{ name: 'tags' },
|
|
2090
|
+
{ name: 'target' },
|
|
2091
|
+
{ name: 'technology' },
|
|
2092
|
+
{ name: 'title' }
|
|
2093
|
+
]
|
|
2094
|
+
};
|
|
2095
|
+
}
|
|
2087
2096
|
case RelationBody: {
|
|
2088
2097
|
return {
|
|
2089
2098
|
name: RelationBody,
|
|
@@ -2146,6 +2155,15 @@ export class LikeC4AstReflection extends AbstractAstReflection {
|
|
|
2146
2155
|
]
|
|
2147
2156
|
};
|
|
2148
2157
|
}
|
|
2158
|
+
case SpecificationColor: {
|
|
2159
|
+
return {
|
|
2160
|
+
name: SpecificationColor,
|
|
2161
|
+
properties: [
|
|
2162
|
+
{ name: 'color' },
|
|
2163
|
+
{ name: 'name' }
|
|
2164
|
+
]
|
|
2165
|
+
};
|
|
2166
|
+
}
|
|
2149
2167
|
case SpecificationElementKind: {
|
|
2150
2168
|
return {
|
|
2151
2169
|
name: SpecificationElementKind,
|
|
@@ -2186,6 +2204,7 @@ export class LikeC4AstReflection extends AbstractAstReflection {
|
|
|
2186
2204
|
return {
|
|
2187
2205
|
name: SpecificationRule,
|
|
2188
2206
|
properties: [
|
|
2207
|
+
{ name: 'colors', defaultValue: [] },
|
|
2189
2208
|
{ name: 'elements', defaultValue: [] },
|
|
2190
2209
|
{ name: 'name' },
|
|
2191
2210
|
{ name: 'relationships', defaultValue: [] },
|