@likec4/language-server 1.2.2 → 1.4.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/package.json +19 -8
- package/src/ast.ts +2 -0
- package/src/generated/ast.ts +157 -123
- package/src/generated/grammar.ts +2 -2
- package/src/generated/module.ts +1 -1
- package/src/like-c4.langium +53 -34
- package/src/logger.ts +21 -7
- package/src/lsp/CompletionProvider.ts +7 -0
- package/src/lsp/SemanticTokenProvider.ts +78 -17
- package/src/lsp/index.ts +1 -0
- package/src/model/model-builder.ts +3 -39
- package/src/model/model-parser.ts +19 -4
- package/src/model-change/ModelChanges.ts +58 -53
- package/src/model-change/changeElementStyle.ts +5 -6
- package/src/model-change/saveManualLayout.ts +43 -0
- package/src/model-graph/LikeC4ModelGraph.ts +304 -0
- package/src/model-graph/compute-view/__test__/fixture.ts +438 -0
- package/src/model-graph/compute-view/compute.ts +430 -0
- package/src/model-graph/compute-view/index.ts +33 -0
- package/src/model-graph/compute-view/predicates.ts +404 -0
- package/src/model-graph/dynamic-view/__test__/fixture.ts +56 -0
- package/src/model-graph/dynamic-view/compute.ts +198 -0
- package/src/model-graph/dynamic-view/index.ts +29 -0
- package/src/model-graph/index.ts +3 -0
- package/src/model-graph/utils/applyElementCustomProperties.ts +49 -0
- package/src/model-graph/utils/applyViewRuleStyles.ts +68 -0
- package/src/model-graph/utils/buildComputeNodes.ts +61 -0
- package/src/model-graph/utils/sortNodes.ts +105 -0
- package/src/module.ts +3 -0
- package/src/protocol.ts +3 -18
- package/src/references/scope-computation.ts +29 -11
- package/src/references/scope-provider.ts +22 -16
- package/src/validation/view.ts +9 -4
- package/src/view-utils/manual-layout.ts +93 -0
- package/contrib/likec4.monarch.ts +0 -41
- package/src/lsp/DocumentLinkProvider.test.ts +0 -66
package/src/generated/ast.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/******************************************************************************
|
|
2
|
-
* This file was generated by langium-cli 3.0.
|
|
2
|
+
* This file was generated by langium-cli 3.1.0.
|
|
3
3
|
* DO NOT EDIT MANUALLY!
|
|
4
4
|
******************************************************************************/
|
|
5
5
|
|
|
@@ -15,8 +15,9 @@ export const LikeC4Terminals = {
|
|
|
15
15
|
URI_RELATIVE: /\.{0,2}\/[^\/]\S+/,
|
|
16
16
|
DotUnderscore: /\b\._/,
|
|
17
17
|
DotWildcard: /\b\.\*/,
|
|
18
|
-
|
|
19
|
-
|
|
18
|
+
Hash: /#/,
|
|
19
|
+
StickyDot: /\b\./,
|
|
20
|
+
Dot: /\./,
|
|
20
21
|
NotEqual: /\!\={1,2}/,
|
|
21
22
|
Eq: /\={1,2}/,
|
|
22
23
|
Colon: /:/,
|
|
@@ -39,6 +40,12 @@ export function isBorderStyleValue(item: unknown): item is BorderStyleValue {
|
|
|
39
40
|
return isLineOptions(item) || item === 'none';
|
|
40
41
|
}
|
|
41
42
|
|
|
43
|
+
export type DotId = string;
|
|
44
|
+
|
|
45
|
+
export function isDotId(item: unknown): item is DotId {
|
|
46
|
+
return typeof item === 'string';
|
|
47
|
+
}
|
|
48
|
+
|
|
42
49
|
export type DynamicViewRule = DynamicViewRulePredicate | ViewRuleAutoLayout | ViewRuleStyle;
|
|
43
50
|
|
|
44
51
|
export const DynamicViewRule = 'DynamicViewRule';
|
|
@@ -113,6 +120,14 @@ export function isRelationshipStyleProperty(item: unknown): item is Relationship
|
|
|
113
120
|
return reflection.isInstance(item, RelationshipStyleProperty);
|
|
114
121
|
}
|
|
115
122
|
|
|
123
|
+
export type StringProperty = ElementStringProperty | ViewStringProperty;
|
|
124
|
+
|
|
125
|
+
export const StringProperty = 'StringProperty';
|
|
126
|
+
|
|
127
|
+
export function isStringProperty(item: unknown): item is StringProperty {
|
|
128
|
+
return reflection.isInstance(item, StringProperty);
|
|
129
|
+
}
|
|
130
|
+
|
|
116
131
|
export type StyleProperty = BorderProperty | ColorProperty | IconProperty | OpacityProperty | ShapeProperty;
|
|
117
132
|
|
|
118
133
|
export const StyleProperty = 'StyleProperty';
|
|
@@ -284,6 +299,7 @@ export function isDynamicViewBody(item: unknown): item is DynamicViewBody {
|
|
|
284
299
|
export interface DynamicViewRulePredicate extends AstNode {
|
|
285
300
|
readonly $container: DynamicViewBody;
|
|
286
301
|
readonly $type: 'DynamicViewRulePredicate';
|
|
302
|
+
commas: Array<string>;
|
|
287
303
|
expressions: Array<ViewRulePredicateExpr>;
|
|
288
304
|
}
|
|
289
305
|
|
|
@@ -366,6 +382,7 @@ export function isElementKindExpr(item: unknown): item is ElementKindExpr {
|
|
|
366
382
|
export interface ElementRef extends AstNode {
|
|
367
383
|
readonly $container: CustomElementExpr | DescedantsExpr | DynamicViewRulePredicate | DynamicViewStep | ElementRef | ElementView | ExcludePredicate | ExpandElementExpr | ExplicitRelation | ImplicitRelation | IncludePredicate | IncomingExpr | OutgoingExpr | RelationExpr | ViewRuleStyle;
|
|
368
384
|
readonly $type: 'ElementRef';
|
|
385
|
+
dot?: string;
|
|
369
386
|
el: Reference<Element>;
|
|
370
387
|
parent?: ElementRef;
|
|
371
388
|
}
|
|
@@ -446,6 +463,7 @@ export function isElementViewRef(item: unknown): item is ElementViewRef {
|
|
|
446
463
|
export interface ExcludePredicate extends AstNode {
|
|
447
464
|
readonly $container: ElementViewBody;
|
|
448
465
|
readonly $type: 'ExcludePredicate';
|
|
466
|
+
commas: Array<string>;
|
|
449
467
|
expressions: Array<ViewRulePredicateExpr>;
|
|
450
468
|
}
|
|
451
469
|
|
|
@@ -512,6 +530,7 @@ export function isExtendElementBody(item: unknown): item is ExtendElementBody {
|
|
|
512
530
|
export interface FqnElementRef extends AstNode {
|
|
513
531
|
readonly $container: ExtendElement | FqnElementRef;
|
|
514
532
|
readonly $type: 'FqnElementRef';
|
|
533
|
+
dot?: string;
|
|
515
534
|
el: Reference<Element>;
|
|
516
535
|
parent?: FqnElementRef;
|
|
517
536
|
}
|
|
@@ -554,6 +573,7 @@ export function isImplicitRelation(item: unknown): item is ImplicitRelation {
|
|
|
554
573
|
export interface IncludePredicate extends AstNode {
|
|
555
574
|
readonly $container: ElementViewBody;
|
|
556
575
|
readonly $type: 'IncludePredicate';
|
|
576
|
+
commas: Array<string>;
|
|
557
577
|
expressions: Array<ViewRulePredicateExpr>;
|
|
558
578
|
}
|
|
559
579
|
|
|
@@ -655,6 +675,7 @@ export function isModelViews(item: unknown): item is ModelViews {
|
|
|
655
675
|
export interface NavigateToProperty extends AstNode {
|
|
656
676
|
readonly $container: CustomElementExprBody;
|
|
657
677
|
readonly $type: 'NavigateToProperty';
|
|
678
|
+
key: 'navigateTo';
|
|
658
679
|
value: ViewRef;
|
|
659
680
|
}
|
|
660
681
|
|
|
@@ -848,6 +869,7 @@ export function isTag(item: unknown): item is Tag {
|
|
|
848
869
|
export interface Tags extends AstNode {
|
|
849
870
|
readonly $container: DynamicViewBody | ElementBody | ElementViewBody | ExplicitRelation | ImplicitRelation | RelationBody;
|
|
850
871
|
readonly $type: 'Tags';
|
|
872
|
+
comma: Array<string>;
|
|
851
873
|
value: Array<Reference<Tag>>;
|
|
852
874
|
}
|
|
853
875
|
|
|
@@ -884,6 +906,7 @@ export function isViewRuleAutoLayout(item: unknown): item is ViewRuleAutoLayout
|
|
|
884
906
|
export interface ViewRuleStyle extends AstNode {
|
|
885
907
|
readonly $container: DynamicViewBody | ElementViewBody;
|
|
886
908
|
readonly $type: 'ViewRuleStyle';
|
|
909
|
+
commas: Array<string>;
|
|
887
910
|
styleprops: Array<StyleProperty>;
|
|
888
911
|
targets: Array<ElementExpr>;
|
|
889
912
|
}
|
|
@@ -976,6 +999,7 @@ export type LikeC4AstType = {
|
|
|
976
999
|
SpecificationRelationshipKind: SpecificationRelationshipKind
|
|
977
1000
|
SpecificationRule: SpecificationRule
|
|
978
1001
|
SpecificationTag: SpecificationTag
|
|
1002
|
+
StringProperty: StringProperty
|
|
979
1003
|
StyleProperties: StyleProperties
|
|
980
1004
|
StyleProperty: StyleProperty
|
|
981
1005
|
Tag: Tag
|
|
@@ -994,7 +1018,7 @@ export type LikeC4AstType = {
|
|
|
994
1018
|
export class LikeC4AstReflection extends AbstractAstReflection {
|
|
995
1019
|
|
|
996
1020
|
getAllTypes(): string[] {
|
|
997
|
-
return [
|
|
1021
|
+
return [ArrowProperty, BorderProperty, ColorProperty, CustomElementExpr, CustomElementExprBody, DescedantsExpr, DynamicView, DynamicViewBody, DynamicViewRule, DynamicViewRulePredicate, DynamicViewStep, Element, ElementBody, ElementExpr, ElementKind, ElementKindExpr, ElementProperty, ElementRef, ElementStringProperty, ElementTagExpr, ElementView, ElementViewBody, ElementViewRef, ExcludePredicate, ExpandElementExpr, ExplicitRelation, ExtendElement, ExtendElementBody, FqnElementRef, IconProperty, ImplicitRelation, InOutExpr, IncludePredicate, IncomingExpr, LikeC4Grammar, LikeC4View, LineProperty, LinkProperty, Model, ModelViews, NavigateToProperty, OpacityProperty, OutgoingExpr, Relation, RelationBody, RelationExpr, RelationProperty, RelationStringProperty, RelationStyleProperty, RelationshipKind, RelationshipStyleProperty, ShapeProperty, SpecificationElementKind, SpecificationRelationshipKind, SpecificationRule, SpecificationTag, StringProperty, StyleProperties, StyleProperty, Tag, Tags, ViewProperty, ViewRef, ViewRule, ViewRuleAutoLayout, ViewRulePredicate, ViewRulePredicateExpr, ViewRuleStyle, ViewStringProperty, WildcardExpr];
|
|
998
1022
|
}
|
|
999
1023
|
|
|
1000
1024
|
protected override computeIsSubtype(subtype: string, supertype: string): boolean {
|
|
@@ -1035,9 +1059,8 @@ export class LikeC4AstReflection extends AbstractAstReflection {
|
|
|
1035
1059
|
case DynamicViewRulePredicate: {
|
|
1036
1060
|
return this.isSubtype(DynamicViewRule, supertype);
|
|
1037
1061
|
}
|
|
1038
|
-
case ElementStringProperty:
|
|
1039
|
-
|
|
1040
|
-
return this.isSubtype(ElementProperty, supertype);
|
|
1062
|
+
case ElementStringProperty: {
|
|
1063
|
+
return this.isSubtype(ElementProperty, supertype) || this.isSubtype(StringProperty, supertype);
|
|
1041
1064
|
}
|
|
1042
1065
|
case ExcludePredicate:
|
|
1043
1066
|
case IncludePredicate: {
|
|
@@ -1054,6 +1077,9 @@ export class LikeC4AstReflection extends AbstractAstReflection {
|
|
|
1054
1077
|
case RelationStyleProperty: {
|
|
1055
1078
|
return this.isSubtype(RelationProperty, supertype);
|
|
1056
1079
|
}
|
|
1080
|
+
case StyleProperties: {
|
|
1081
|
+
return this.isSubtype(ElementProperty, supertype);
|
|
1082
|
+
}
|
|
1057
1083
|
case ViewRuleAutoLayout:
|
|
1058
1084
|
case ViewRuleStyle: {
|
|
1059
1085
|
return this.isSubtype(DynamicViewRule, supertype) || this.isSubtype(ViewRule, supertype);
|
|
@@ -1062,7 +1088,7 @@ export class LikeC4AstReflection extends AbstractAstReflection {
|
|
|
1062
1088
|
return this.isSubtype(ViewRule, supertype);
|
|
1063
1089
|
}
|
|
1064
1090
|
case ViewStringProperty: {
|
|
1065
|
-
return this.isSubtype(ViewProperty, supertype);
|
|
1091
|
+
return this.isSubtype(StringProperty, supertype) || this.isSubtype(ViewProperty, supertype);
|
|
1066
1092
|
}
|
|
1067
1093
|
default: {
|
|
1068
1094
|
return false;
|
|
@@ -1104,70 +1130,70 @@ export class LikeC4AstReflection extends AbstractAstReflection {
|
|
|
1104
1130
|
|
|
1105
1131
|
getTypeMetaData(type: string): TypeMetaData {
|
|
1106
1132
|
switch (type) {
|
|
1107
|
-
case
|
|
1133
|
+
case ArrowProperty: {
|
|
1108
1134
|
return {
|
|
1109
|
-
name:
|
|
1135
|
+
name: ArrowProperty,
|
|
1110
1136
|
properties: [
|
|
1111
1137
|
{ name: 'key' },
|
|
1112
1138
|
{ name: 'value' }
|
|
1113
1139
|
]
|
|
1114
1140
|
};
|
|
1115
1141
|
}
|
|
1116
|
-
case
|
|
1142
|
+
case BorderProperty: {
|
|
1117
1143
|
return {
|
|
1118
|
-
name:
|
|
1144
|
+
name: BorderProperty,
|
|
1119
1145
|
properties: [
|
|
1120
1146
|
{ name: 'key' },
|
|
1121
1147
|
{ name: 'value' }
|
|
1122
1148
|
]
|
|
1123
1149
|
};
|
|
1124
1150
|
}
|
|
1125
|
-
case
|
|
1151
|
+
case ColorProperty: {
|
|
1126
1152
|
return {
|
|
1127
|
-
name:
|
|
1153
|
+
name: ColorProperty,
|
|
1128
1154
|
properties: [
|
|
1129
1155
|
{ name: 'key' },
|
|
1130
1156
|
{ name: 'value' }
|
|
1131
1157
|
]
|
|
1132
1158
|
};
|
|
1133
1159
|
}
|
|
1134
|
-
case
|
|
1160
|
+
case CustomElementExpr: {
|
|
1135
1161
|
return {
|
|
1136
|
-
name:
|
|
1162
|
+
name: CustomElementExpr,
|
|
1137
1163
|
properties: [
|
|
1138
1164
|
{ name: 'body' },
|
|
1139
1165
|
{ name: 'target' }
|
|
1140
1166
|
]
|
|
1141
1167
|
};
|
|
1142
1168
|
}
|
|
1143
|
-
case
|
|
1169
|
+
case CustomElementExprBody: {
|
|
1144
1170
|
return {
|
|
1145
|
-
name:
|
|
1171
|
+
name: CustomElementExprBody,
|
|
1146
1172
|
properties: [
|
|
1147
1173
|
{ name: 'props', defaultValue: [] }
|
|
1148
1174
|
]
|
|
1149
1175
|
};
|
|
1150
1176
|
}
|
|
1151
|
-
case
|
|
1177
|
+
case DescedantsExpr: {
|
|
1152
1178
|
return {
|
|
1153
|
-
name:
|
|
1179
|
+
name: DescedantsExpr,
|
|
1154
1180
|
properties: [
|
|
1155
1181
|
{ name: 'parent' }
|
|
1156
1182
|
]
|
|
1157
1183
|
};
|
|
1158
1184
|
}
|
|
1159
|
-
case
|
|
1185
|
+
case DynamicView: {
|
|
1160
1186
|
return {
|
|
1161
|
-
name:
|
|
1187
|
+
name: DynamicView,
|
|
1162
1188
|
properties: [
|
|
1163
1189
|
{ name: 'body' },
|
|
1164
1190
|
{ name: 'name' }
|
|
1165
1191
|
]
|
|
1166
1192
|
};
|
|
1167
1193
|
}
|
|
1168
|
-
case
|
|
1194
|
+
case DynamicViewBody: {
|
|
1169
1195
|
return {
|
|
1170
|
-
name:
|
|
1196
|
+
name: DynamicViewBody,
|
|
1171
1197
|
properties: [
|
|
1172
1198
|
{ name: 'props', defaultValue: [] },
|
|
1173
1199
|
{ name: 'rules', defaultValue: [] },
|
|
@@ -1176,17 +1202,18 @@ export class LikeC4AstReflection extends AbstractAstReflection {
|
|
|
1176
1202
|
]
|
|
1177
1203
|
};
|
|
1178
1204
|
}
|
|
1179
|
-
case
|
|
1205
|
+
case DynamicViewRulePredicate: {
|
|
1180
1206
|
return {
|
|
1181
|
-
name:
|
|
1207
|
+
name: DynamicViewRulePredicate,
|
|
1182
1208
|
properties: [
|
|
1209
|
+
{ name: 'commas', defaultValue: [] },
|
|
1183
1210
|
{ name: 'expressions', defaultValue: [] }
|
|
1184
1211
|
]
|
|
1185
1212
|
};
|
|
1186
1213
|
}
|
|
1187
|
-
case
|
|
1214
|
+
case DynamicViewStep: {
|
|
1188
1215
|
return {
|
|
1189
|
-
name:
|
|
1216
|
+
name: DynamicViewStep,
|
|
1190
1217
|
properties: [
|
|
1191
1218
|
{ name: 'isBackward', defaultValue: false },
|
|
1192
1219
|
{ name: 'kind' },
|
|
@@ -1196,20 +1223,20 @@ export class LikeC4AstReflection extends AbstractAstReflection {
|
|
|
1196
1223
|
]
|
|
1197
1224
|
};
|
|
1198
1225
|
}
|
|
1199
|
-
case
|
|
1226
|
+
case Element: {
|
|
1200
1227
|
return {
|
|
1201
|
-
name:
|
|
1228
|
+
name: Element,
|
|
1202
1229
|
properties: [
|
|
1203
1230
|
{ name: 'body' },
|
|
1204
1231
|
{ name: 'kind' },
|
|
1205
1232
|
{ name: 'name' },
|
|
1206
|
-
{ name: 'props' }
|
|
1233
|
+
{ name: 'props', defaultValue: [] }
|
|
1207
1234
|
]
|
|
1208
1235
|
};
|
|
1209
1236
|
}
|
|
1210
|
-
case
|
|
1237
|
+
case ElementBody: {
|
|
1211
1238
|
return {
|
|
1212
|
-
name:
|
|
1239
|
+
name: ElementBody,
|
|
1213
1240
|
properties: [
|
|
1214
1241
|
{ name: 'elements', defaultValue: [] },
|
|
1215
1242
|
{ name: 'props', defaultValue: [] },
|
|
@@ -1217,53 +1244,54 @@ export class LikeC4AstReflection extends AbstractAstReflection {
|
|
|
1217
1244
|
]
|
|
1218
1245
|
};
|
|
1219
1246
|
}
|
|
1220
|
-
case
|
|
1247
|
+
case ElementKind: {
|
|
1221
1248
|
return {
|
|
1222
|
-
name:
|
|
1249
|
+
name: ElementKind,
|
|
1223
1250
|
properties: [
|
|
1224
1251
|
{ name: 'name' }
|
|
1225
1252
|
]
|
|
1226
1253
|
};
|
|
1227
1254
|
}
|
|
1228
|
-
case
|
|
1255
|
+
case ElementKindExpr: {
|
|
1229
1256
|
return {
|
|
1230
|
-
name:
|
|
1257
|
+
name: ElementKindExpr,
|
|
1231
1258
|
properties: [
|
|
1232
1259
|
{ name: 'isEqual', defaultValue: false },
|
|
1233
1260
|
{ name: 'kind' }
|
|
1234
1261
|
]
|
|
1235
1262
|
};
|
|
1236
1263
|
}
|
|
1237
|
-
case
|
|
1264
|
+
case ElementRef: {
|
|
1238
1265
|
return {
|
|
1239
|
-
name:
|
|
1266
|
+
name: ElementRef,
|
|
1240
1267
|
properties: [
|
|
1268
|
+
{ name: 'dot' },
|
|
1241
1269
|
{ name: 'el' },
|
|
1242
1270
|
{ name: 'parent' }
|
|
1243
1271
|
]
|
|
1244
1272
|
};
|
|
1245
1273
|
}
|
|
1246
|
-
case
|
|
1274
|
+
case ElementStringProperty: {
|
|
1247
1275
|
return {
|
|
1248
|
-
name:
|
|
1276
|
+
name: ElementStringProperty,
|
|
1249
1277
|
properties: [
|
|
1250
1278
|
{ name: 'key' },
|
|
1251
1279
|
{ name: 'value' }
|
|
1252
1280
|
]
|
|
1253
1281
|
};
|
|
1254
1282
|
}
|
|
1255
|
-
case
|
|
1283
|
+
case ElementTagExpr: {
|
|
1256
1284
|
return {
|
|
1257
|
-
name:
|
|
1285
|
+
name: ElementTagExpr,
|
|
1258
1286
|
properties: [
|
|
1259
1287
|
{ name: 'isEqual', defaultValue: false },
|
|
1260
1288
|
{ name: 'tag' }
|
|
1261
1289
|
]
|
|
1262
1290
|
};
|
|
1263
1291
|
}
|
|
1264
|
-
case
|
|
1292
|
+
case ElementView: {
|
|
1265
1293
|
return {
|
|
1266
|
-
name:
|
|
1294
|
+
name: ElementView,
|
|
1267
1295
|
properties: [
|
|
1268
1296
|
{ name: 'body' },
|
|
1269
1297
|
{ name: 'extends' },
|
|
@@ -1272,9 +1300,9 @@ export class LikeC4AstReflection extends AbstractAstReflection {
|
|
|
1272
1300
|
]
|
|
1273
1301
|
};
|
|
1274
1302
|
}
|
|
1275
|
-
case
|
|
1303
|
+
case ElementViewBody: {
|
|
1276
1304
|
return {
|
|
1277
|
-
name:
|
|
1305
|
+
name: ElementViewBody,
|
|
1278
1306
|
properties: [
|
|
1279
1307
|
{ name: 'props', defaultValue: [] },
|
|
1280
1308
|
{ name: 'rules', defaultValue: [] },
|
|
@@ -1282,33 +1310,34 @@ export class LikeC4AstReflection extends AbstractAstReflection {
|
|
|
1282
1310
|
]
|
|
1283
1311
|
};
|
|
1284
1312
|
}
|
|
1285
|
-
case
|
|
1313
|
+
case ElementViewRef: {
|
|
1286
1314
|
return {
|
|
1287
|
-
name:
|
|
1315
|
+
name: ElementViewRef,
|
|
1288
1316
|
properties: [
|
|
1289
1317
|
{ name: 'view' }
|
|
1290
1318
|
]
|
|
1291
1319
|
};
|
|
1292
1320
|
}
|
|
1293
|
-
case
|
|
1321
|
+
case ExcludePredicate: {
|
|
1294
1322
|
return {
|
|
1295
|
-
name:
|
|
1323
|
+
name: ExcludePredicate,
|
|
1296
1324
|
properties: [
|
|
1325
|
+
{ name: 'commas', defaultValue: [] },
|
|
1297
1326
|
{ name: 'expressions', defaultValue: [] }
|
|
1298
1327
|
]
|
|
1299
1328
|
};
|
|
1300
1329
|
}
|
|
1301
|
-
case
|
|
1330
|
+
case ExpandElementExpr: {
|
|
1302
1331
|
return {
|
|
1303
|
-
name:
|
|
1332
|
+
name: ExpandElementExpr,
|
|
1304
1333
|
properties: [
|
|
1305
1334
|
{ name: 'parent' }
|
|
1306
1335
|
]
|
|
1307
1336
|
};
|
|
1308
1337
|
}
|
|
1309
|
-
case
|
|
1338
|
+
case ExplicitRelation: {
|
|
1310
1339
|
return {
|
|
1311
|
-
name:
|
|
1340
|
+
name: ExplicitRelation,
|
|
1312
1341
|
properties: [
|
|
1313
1342
|
{ name: 'body' },
|
|
1314
1343
|
{ name: 'kind' },
|
|
@@ -1319,44 +1348,45 @@ export class LikeC4AstReflection extends AbstractAstReflection {
|
|
|
1319
1348
|
]
|
|
1320
1349
|
};
|
|
1321
1350
|
}
|
|
1322
|
-
case
|
|
1351
|
+
case ExtendElement: {
|
|
1323
1352
|
return {
|
|
1324
|
-
name:
|
|
1353
|
+
name: ExtendElement,
|
|
1325
1354
|
properties: [
|
|
1326
1355
|
{ name: 'body' },
|
|
1327
1356
|
{ name: 'element' }
|
|
1328
1357
|
]
|
|
1329
1358
|
};
|
|
1330
1359
|
}
|
|
1331
|
-
case
|
|
1360
|
+
case ExtendElementBody: {
|
|
1332
1361
|
return {
|
|
1333
|
-
name:
|
|
1362
|
+
name: ExtendElementBody,
|
|
1334
1363
|
properties: [
|
|
1335
1364
|
{ name: 'elements', defaultValue: [] }
|
|
1336
1365
|
]
|
|
1337
1366
|
};
|
|
1338
1367
|
}
|
|
1339
|
-
case
|
|
1368
|
+
case FqnElementRef: {
|
|
1340
1369
|
return {
|
|
1341
|
-
name:
|
|
1370
|
+
name: FqnElementRef,
|
|
1342
1371
|
properties: [
|
|
1372
|
+
{ name: 'dot' },
|
|
1343
1373
|
{ name: 'el' },
|
|
1344
1374
|
{ name: 'parent' }
|
|
1345
1375
|
]
|
|
1346
1376
|
};
|
|
1347
1377
|
}
|
|
1348
|
-
case
|
|
1378
|
+
case IconProperty: {
|
|
1349
1379
|
return {
|
|
1350
|
-
name:
|
|
1380
|
+
name: IconProperty,
|
|
1351
1381
|
properties: [
|
|
1352
1382
|
{ name: 'key' },
|
|
1353
1383
|
{ name: 'value' }
|
|
1354
1384
|
]
|
|
1355
1385
|
};
|
|
1356
1386
|
}
|
|
1357
|
-
case
|
|
1387
|
+
case ImplicitRelation: {
|
|
1358
1388
|
return {
|
|
1359
|
-
name:
|
|
1389
|
+
name: ImplicitRelation,
|
|
1360
1390
|
properties: [
|
|
1361
1391
|
{ name: 'body' },
|
|
1362
1392
|
{ name: 'kind' },
|
|
@@ -1366,33 +1396,34 @@ export class LikeC4AstReflection extends AbstractAstReflection {
|
|
|
1366
1396
|
]
|
|
1367
1397
|
};
|
|
1368
1398
|
}
|
|
1369
|
-
case
|
|
1399
|
+
case IncludePredicate: {
|
|
1370
1400
|
return {
|
|
1371
|
-
name:
|
|
1401
|
+
name: IncludePredicate,
|
|
1372
1402
|
properties: [
|
|
1403
|
+
{ name: 'commas', defaultValue: [] },
|
|
1373
1404
|
{ name: 'expressions', defaultValue: [] }
|
|
1374
1405
|
]
|
|
1375
1406
|
};
|
|
1376
1407
|
}
|
|
1377
|
-
case
|
|
1408
|
+
case IncomingExpr: {
|
|
1378
1409
|
return {
|
|
1379
|
-
name:
|
|
1410
|
+
name: IncomingExpr,
|
|
1380
1411
|
properties: [
|
|
1381
1412
|
{ name: 'to' }
|
|
1382
1413
|
]
|
|
1383
1414
|
};
|
|
1384
1415
|
}
|
|
1385
|
-
case
|
|
1416
|
+
case InOutExpr: {
|
|
1386
1417
|
return {
|
|
1387
|
-
name:
|
|
1418
|
+
name: InOutExpr,
|
|
1388
1419
|
properties: [
|
|
1389
1420
|
{ name: 'inout' }
|
|
1390
1421
|
]
|
|
1391
1422
|
};
|
|
1392
1423
|
}
|
|
1393
|
-
case
|
|
1424
|
+
case LikeC4Grammar: {
|
|
1394
1425
|
return {
|
|
1395
|
-
name:
|
|
1426
|
+
name: LikeC4Grammar,
|
|
1396
1427
|
properties: [
|
|
1397
1428
|
{ name: 'models', defaultValue: [] },
|
|
1398
1429
|
{ name: 'specifications', defaultValue: [] },
|
|
@@ -1400,79 +1431,80 @@ export class LikeC4AstReflection extends AbstractAstReflection {
|
|
|
1400
1431
|
]
|
|
1401
1432
|
};
|
|
1402
1433
|
}
|
|
1403
|
-
case
|
|
1434
|
+
case LineProperty: {
|
|
1404
1435
|
return {
|
|
1405
|
-
name:
|
|
1436
|
+
name: LineProperty,
|
|
1406
1437
|
properties: [
|
|
1407
1438
|
{ name: 'key' },
|
|
1408
1439
|
{ name: 'value' }
|
|
1409
1440
|
]
|
|
1410
1441
|
};
|
|
1411
1442
|
}
|
|
1412
|
-
case
|
|
1443
|
+
case LinkProperty: {
|
|
1413
1444
|
return {
|
|
1414
|
-
name:
|
|
1445
|
+
name: LinkProperty,
|
|
1415
1446
|
properties: [
|
|
1416
1447
|
{ name: 'key' },
|
|
1417
1448
|
{ name: 'value' }
|
|
1418
1449
|
]
|
|
1419
1450
|
};
|
|
1420
1451
|
}
|
|
1421
|
-
case
|
|
1452
|
+
case Model: {
|
|
1422
1453
|
return {
|
|
1423
|
-
name:
|
|
1454
|
+
name: Model,
|
|
1424
1455
|
properties: [
|
|
1425
1456
|
{ name: 'elements', defaultValue: [] },
|
|
1426
1457
|
{ name: 'name' }
|
|
1427
1458
|
]
|
|
1428
1459
|
};
|
|
1429
1460
|
}
|
|
1430
|
-
case
|
|
1461
|
+
case ModelViews: {
|
|
1431
1462
|
return {
|
|
1432
|
-
name:
|
|
1463
|
+
name: ModelViews,
|
|
1433
1464
|
properties: [
|
|
1434
1465
|
{ name: 'name' },
|
|
1435
1466
|
{ name: 'views', defaultValue: [] }
|
|
1436
1467
|
]
|
|
1437
1468
|
};
|
|
1438
1469
|
}
|
|
1439
|
-
case
|
|
1470
|
+
case NavigateToProperty: {
|
|
1440
1471
|
return {
|
|
1441
|
-
name:
|
|
1472
|
+
name: NavigateToProperty,
|
|
1442
1473
|
properties: [
|
|
1474
|
+
{ name: 'key' },
|
|
1443
1475
|
{ name: 'value' }
|
|
1444
1476
|
]
|
|
1445
1477
|
};
|
|
1446
1478
|
}
|
|
1447
|
-
case
|
|
1479
|
+
case OpacityProperty: {
|
|
1448
1480
|
return {
|
|
1449
|
-
name:
|
|
1481
|
+
name: OpacityProperty,
|
|
1450
1482
|
properties: [
|
|
1451
1483
|
{ name: 'key' },
|
|
1452
1484
|
{ name: 'value' }
|
|
1453
1485
|
]
|
|
1454
1486
|
};
|
|
1455
1487
|
}
|
|
1456
|
-
case
|
|
1488
|
+
case OutgoingExpr: {
|
|
1457
1489
|
return {
|
|
1458
|
-
name:
|
|
1490
|
+
name: OutgoingExpr,
|
|
1459
1491
|
properties: [
|
|
1460
1492
|
{ name: 'from' }
|
|
1461
1493
|
]
|
|
1462
1494
|
};
|
|
1463
1495
|
}
|
|
1464
|
-
case
|
|
1496
|
+
case RelationBody: {
|
|
1465
1497
|
return {
|
|
1466
|
-
name:
|
|
1498
|
+
name: RelationBody,
|
|
1467
1499
|
properties: [
|
|
1468
1500
|
{ name: 'props', defaultValue: [] },
|
|
1469
1501
|
{ name: 'tags' }
|
|
1470
1502
|
]
|
|
1471
1503
|
};
|
|
1472
1504
|
}
|
|
1473
|
-
case
|
|
1505
|
+
case RelationExpr: {
|
|
1474
1506
|
return {
|
|
1475
|
-
name:
|
|
1507
|
+
name: RelationExpr,
|
|
1476
1508
|
properties: [
|
|
1477
1509
|
{ name: 'isBidirectional', defaultValue: false },
|
|
1478
1510
|
{ name: 'source' },
|
|
@@ -1480,62 +1512,62 @@ export class LikeC4AstReflection extends AbstractAstReflection {
|
|
|
1480
1512
|
]
|
|
1481
1513
|
};
|
|
1482
1514
|
}
|
|
1483
|
-
case
|
|
1515
|
+
case RelationshipKind: {
|
|
1484
1516
|
return {
|
|
1485
|
-
name:
|
|
1517
|
+
name: RelationshipKind,
|
|
1486
1518
|
properties: [
|
|
1487
1519
|
{ name: 'name' }
|
|
1488
1520
|
]
|
|
1489
1521
|
};
|
|
1490
1522
|
}
|
|
1491
|
-
case
|
|
1523
|
+
case RelationStringProperty: {
|
|
1492
1524
|
return {
|
|
1493
|
-
name:
|
|
1525
|
+
name: RelationStringProperty,
|
|
1494
1526
|
properties: [
|
|
1495
1527
|
{ name: 'key' },
|
|
1496
1528
|
{ name: 'value' }
|
|
1497
1529
|
]
|
|
1498
1530
|
};
|
|
1499
1531
|
}
|
|
1500
|
-
case
|
|
1532
|
+
case RelationStyleProperty: {
|
|
1501
1533
|
return {
|
|
1502
|
-
name:
|
|
1534
|
+
name: RelationStyleProperty,
|
|
1503
1535
|
properties: [
|
|
1504
1536
|
{ name: 'key' },
|
|
1505
1537
|
{ name: 'props', defaultValue: [] }
|
|
1506
1538
|
]
|
|
1507
1539
|
};
|
|
1508
1540
|
}
|
|
1509
|
-
case
|
|
1541
|
+
case ShapeProperty: {
|
|
1510
1542
|
return {
|
|
1511
|
-
name:
|
|
1543
|
+
name: ShapeProperty,
|
|
1512
1544
|
properties: [
|
|
1513
1545
|
{ name: 'key' },
|
|
1514
1546
|
{ name: 'value' }
|
|
1515
1547
|
]
|
|
1516
1548
|
};
|
|
1517
1549
|
}
|
|
1518
|
-
case
|
|
1550
|
+
case SpecificationElementKind: {
|
|
1519
1551
|
return {
|
|
1520
|
-
name:
|
|
1552
|
+
name: SpecificationElementKind,
|
|
1521
1553
|
properties: [
|
|
1522
1554
|
{ name: 'kind' },
|
|
1523
1555
|
{ name: 'style' }
|
|
1524
1556
|
]
|
|
1525
1557
|
};
|
|
1526
1558
|
}
|
|
1527
|
-
case
|
|
1559
|
+
case SpecificationRelationshipKind: {
|
|
1528
1560
|
return {
|
|
1529
|
-
name:
|
|
1561
|
+
name: SpecificationRelationshipKind,
|
|
1530
1562
|
properties: [
|
|
1531
1563
|
{ name: 'kind' },
|
|
1532
1564
|
{ name: 'props', defaultValue: [] }
|
|
1533
1565
|
]
|
|
1534
1566
|
};
|
|
1535
1567
|
}
|
|
1536
|
-
case
|
|
1568
|
+
case SpecificationRule: {
|
|
1537
1569
|
return {
|
|
1538
|
-
name:
|
|
1570
|
+
name: SpecificationRule,
|
|
1539
1571
|
properties: [
|
|
1540
1572
|
{ name: 'elements', defaultValue: [] },
|
|
1541
1573
|
{ name: 'name' },
|
|
@@ -1544,76 +1576,78 @@ export class LikeC4AstReflection extends AbstractAstReflection {
|
|
|
1544
1576
|
]
|
|
1545
1577
|
};
|
|
1546
1578
|
}
|
|
1547
|
-
case
|
|
1579
|
+
case SpecificationTag: {
|
|
1548
1580
|
return {
|
|
1549
|
-
name:
|
|
1581
|
+
name: SpecificationTag,
|
|
1550
1582
|
properties: [
|
|
1551
1583
|
{ name: 'tag' }
|
|
1552
1584
|
]
|
|
1553
1585
|
};
|
|
1554
1586
|
}
|
|
1555
|
-
case
|
|
1587
|
+
case StyleProperties: {
|
|
1556
1588
|
return {
|
|
1557
|
-
name:
|
|
1589
|
+
name: StyleProperties,
|
|
1558
1590
|
properties: [
|
|
1559
1591
|
{ name: 'key' },
|
|
1560
1592
|
{ name: 'props', defaultValue: [] }
|
|
1561
1593
|
]
|
|
1562
1594
|
};
|
|
1563
1595
|
}
|
|
1564
|
-
case
|
|
1596
|
+
case Tag: {
|
|
1565
1597
|
return {
|
|
1566
|
-
name:
|
|
1598
|
+
name: Tag,
|
|
1567
1599
|
properties: [
|
|
1568
1600
|
{ name: 'name' }
|
|
1569
1601
|
]
|
|
1570
1602
|
};
|
|
1571
1603
|
}
|
|
1572
|
-
case
|
|
1604
|
+
case Tags: {
|
|
1573
1605
|
return {
|
|
1574
|
-
name:
|
|
1606
|
+
name: Tags,
|
|
1575
1607
|
properties: [
|
|
1608
|
+
{ name: 'comma', defaultValue: [] },
|
|
1576
1609
|
{ name: 'value', defaultValue: [] }
|
|
1577
1610
|
]
|
|
1578
1611
|
};
|
|
1579
1612
|
}
|
|
1580
|
-
case
|
|
1613
|
+
case ViewRef: {
|
|
1581
1614
|
return {
|
|
1582
|
-
name:
|
|
1615
|
+
name: ViewRef,
|
|
1583
1616
|
properties: [
|
|
1584
1617
|
{ name: 'view' }
|
|
1585
1618
|
]
|
|
1586
1619
|
};
|
|
1587
1620
|
}
|
|
1588
|
-
case
|
|
1621
|
+
case ViewRuleAutoLayout: {
|
|
1589
1622
|
return {
|
|
1590
|
-
name:
|
|
1623
|
+
name: ViewRuleAutoLayout,
|
|
1591
1624
|
properties: [
|
|
1592
1625
|
{ name: 'direction' }
|
|
1593
1626
|
]
|
|
1594
1627
|
};
|
|
1595
1628
|
}
|
|
1596
|
-
case
|
|
1629
|
+
case ViewRuleStyle: {
|
|
1597
1630
|
return {
|
|
1598
|
-
name:
|
|
1631
|
+
name: ViewRuleStyle,
|
|
1599
1632
|
properties: [
|
|
1633
|
+
{ name: 'commas', defaultValue: [] },
|
|
1600
1634
|
{ name: 'styleprops', defaultValue: [] },
|
|
1601
1635
|
{ name: 'targets', defaultValue: [] }
|
|
1602
1636
|
]
|
|
1603
1637
|
};
|
|
1604
1638
|
}
|
|
1605
|
-
case
|
|
1639
|
+
case ViewStringProperty: {
|
|
1606
1640
|
return {
|
|
1607
|
-
name:
|
|
1641
|
+
name: ViewStringProperty,
|
|
1608
1642
|
properties: [
|
|
1609
1643
|
{ name: 'key' },
|
|
1610
1644
|
{ name: 'value' }
|
|
1611
1645
|
]
|
|
1612
1646
|
};
|
|
1613
1647
|
}
|
|
1614
|
-
case
|
|
1648
|
+
case WildcardExpr: {
|
|
1615
1649
|
return {
|
|
1616
|
-
name:
|
|
1650
|
+
name: WildcardExpr,
|
|
1617
1651
|
properties: [
|
|
1618
1652
|
{ name: 'isWildcard', defaultValue: false }
|
|
1619
1653
|
]
|