@likec4/language-server 1.31.0 → 1.32.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/dist/LikeC4LanguageServices.d.ts +2 -1
- package/dist/LikeC4LanguageServices.js +4 -3
- package/dist/Rpc.js +11 -4
- package/dist/ast.d.ts +11 -15
- package/dist/bundled.mjs +2539 -2476
- package/dist/formatting/LikeC4Formatter.js +7 -6
- package/dist/generated/ast.d.ts +33 -14
- package/dist/generated/ast.js +38 -16
- package/dist/generated/grammar.js +1 -1
- package/dist/lsp/CompletionProvider.js +1 -1
- package/dist/lsp/DocumentLinkProvider.js +4 -3
- package/dist/lsp/HoverProvider.js +9 -1
- package/dist/lsp/SemanticTokenProvider.js +18 -4
- package/dist/mcp/LikeC4MCPServerFactory.d.ts +5 -2
- package/dist/mcp/LikeC4MCPServerFactory.js +2 -72
- package/dist/mcp/LikeC4MCPTools.js +5 -3
- package/dist/mcp/sseserver/MCPServerFactory.d.ts +8 -0
- package/dist/mcp/sseserver/MCPServerFactory.js +78 -0
- package/dist/mcp/sseserver/with-mcp-server.d.ts +2 -0
- package/dist/mcp/sseserver/with-mcp-server.js +5 -1
- package/dist/mcp/utils.d.ts +5 -4
- package/dist/mcp/utils.js +2 -2
- package/dist/model/builder/MergedExtends.d.ts +4 -4
- package/dist/model/builder/MergedExtends.js +1 -1
- package/dist/model/builder/MergedSpecification.d.ts +4 -3
- package/dist/model/builder/MergedSpecification.js +9 -8
- package/dist/model/builder/assignTagColors.d.ts +7 -0
- package/dist/model/builder/assignTagColors.js +51 -0
- package/dist/model/builder/buildModel.d.ts +2 -2
- package/dist/model/builder/buildModel.js +40 -18
- package/dist/model/deployments-index.js +2 -2
- package/dist/model/fqn-index.d.ts +1 -1
- package/dist/model/fqn-index.js +6 -6
- package/dist/model/model-builder.d.ts +10 -4
- package/dist/model/model-builder.js +22 -19
- package/dist/model/model-locator.d.ts +10 -2
- package/dist/model/model-locator.js +65 -9
- package/dist/model/model-parser-where.d.ts +1 -1
- package/dist/model/model-parser-where.js +1 -1
- package/dist/model/model-parser.d.ts +10 -11
- package/dist/model/model-parser.js +11 -7
- package/dist/model/parser/Base.js +2 -3
- package/dist/model/parser/DeploymentModelParser.d.ts +1 -1
- package/dist/model/parser/DeploymentModelParser.js +7 -5
- package/dist/model/parser/DeploymentViewParser.d.ts +3 -3
- package/dist/model/parser/DeploymentViewParser.js +2 -1
- package/dist/model/parser/FqnRefParser.d.ts +1 -1
- package/dist/model/parser/FqnRefParser.js +2 -5
- package/dist/model/parser/GlobalsParser.d.ts +23 -24
- package/dist/model/parser/GlobalsParser.js +4 -4
- package/dist/model/parser/ModelParser.d.ts +1 -1
- package/dist/model/parser/ModelParser.js +1 -1
- package/dist/model/parser/PredicatesParser.d.ts +12 -12
- package/dist/model/parser/SpecificationParser.d.ts +5 -2
- package/dist/model/parser/SpecificationParser.js +18 -30
- package/dist/model/parser/ViewsParser.d.ts +23 -23
- package/dist/model/parser/ViewsParser.js +12 -19
- package/dist/model-change/changeElementStyle.d.ts +2 -2
- package/dist/model-change/changeElementStyle.js +6 -2
- package/dist/module.d.ts +1 -1
- package/dist/module.js +5 -2
- package/dist/protocol.d.ts +24 -3
- package/dist/protocol.js +4 -0
- package/dist/references/scope-computation.js +2 -3
- package/dist/test/testServices.d.ts +15 -0
- package/dist/test/testServices.js +1 -1
- package/dist/validation/relation.js +1 -1
- package/dist/validation/specification.js +1 -1
- package/dist/view-utils/assignNavigateTo.d.ts +1 -1
- package/dist/view-utils/assignNavigateTo.js +3 -3
- package/dist/views/likec4-views.d.ts +1 -3
- package/dist/views/likec4-views.js +68 -44
- package/package.json +21 -19
- /package/dist/mcp/sseserver/{SSELikeC4MCPServer.d.ts → MCPServer.d.ts} +0 -0
- /package/dist/mcp/sseserver/{SSELikeC4MCPServer.js → MCPServer.js} +0 -0
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import { nonexhaustive } from "@likec4/core";
|
|
2
|
-
import {
|
|
2
|
+
import {
|
|
3
|
+
GrammarUtils
|
|
4
|
+
} from "langium";
|
|
3
5
|
import { AbstractFormatter, Formatting } from "langium/lsp";
|
|
4
6
|
import { filter, isTruthy } from "remeda";
|
|
5
7
|
import * as ast from "../generated/ast.js";
|
|
@@ -62,7 +64,8 @@ export class LikeC4Formatter extends AbstractFormatter {
|
|
|
62
64
|
}
|
|
63
65
|
formatTags(node) {
|
|
64
66
|
this.on(node, ast.isTags, (n, f) => {
|
|
65
|
-
|
|
67
|
+
const tags = GrammarUtils.findNodesForProperty(n.$cstNode, "values").filter((x) => x).slice(1);
|
|
68
|
+
f.cst(tags).prepend(FormattingOptions.oneSpace);
|
|
66
69
|
f.keywords(",").prepend(FormattingOptions.noSpace).append(FormattingOptions.oneSpace);
|
|
67
70
|
});
|
|
68
71
|
}
|
|
@@ -102,8 +105,7 @@ export class LikeC4Formatter extends AbstractFormatter {
|
|
|
102
105
|
);
|
|
103
106
|
this.on(node, ast.isDynamicViewStep, (n, f) => {
|
|
104
107
|
f.keywords("->", "<-").surround(FormattingOptions.oneSpace);
|
|
105
|
-
|
|
106
|
-
kind.nodes[0]?.text.startsWith(".") && kind.surround(FormattingOptions.oneSpace);
|
|
108
|
+
f.property("dotKind").prepend(FormattingOptions.oneSpace).append(FormattingOptions.oneSpace);
|
|
107
109
|
f.keywords("]->").prepend(FormattingOptions.noSpace).append(FormattingOptions.oneSpace);
|
|
108
110
|
f.keywords("-[").prepend(FormattingOptions.oneSpace).append(FormattingOptions.noSpace);
|
|
109
111
|
f.properties("title").prepend(FormattingOptions.oneSpace);
|
|
@@ -369,8 +371,7 @@ export class LikeC4Formatter extends AbstractFormatter {
|
|
|
369
371
|
f.keywords("->", "<->").prepend(FormattingOptions.oneSpace);
|
|
370
372
|
f.keywords("-[").prepend(FormattingOptions.oneSpace).append(FormattingOptions.noSpace);
|
|
371
373
|
f.keywords("]->").prepend(FormattingOptions.noSpace).append(FormattingOptions.oneSpace);
|
|
372
|
-
|
|
373
|
-
kind.nodes[0]?.text.startsWith(".") && kind.surround(FormattingOptions.oneSpace);
|
|
374
|
+
f.property("dotKind").prepend(FormattingOptions.oneSpace).append(FormattingOptions.oneSpace);
|
|
374
375
|
});
|
|
375
376
|
this.on(node, ast.isDirectedRelationExpr, (n, f) => {
|
|
376
377
|
f.property("target").prepend(FormattingOptions.oneSpace);
|
package/dist/generated/ast.d.ts
CHANGED
|
@@ -46,8 +46,6 @@ export declare function isDeploymentNodeOrElementKind(item: unknown): item is De
|
|
|
46
46
|
export type DeploymentViewRule = DeploymentViewRulePredicate | DeploymentViewRuleStyle | ViewRuleAutoLayout;
|
|
47
47
|
export declare const DeploymentViewRule = "DeploymentViewRule";
|
|
48
48
|
export declare function isDeploymentViewRule(item: unknown): item is DeploymentViewRule;
|
|
49
|
-
export type DotId = string;
|
|
50
|
-
export declare function isDotId(item: unknown): item is DotId;
|
|
51
49
|
export type DynamicViewRule = DynamicViewGlobalPredicateRef | DynamicViewIncludePredicate | ViewRuleAutoLayout | ViewRuleStyleOrGlobalRef;
|
|
52
50
|
export declare const DynamicViewRule = "DynamicViewRule";
|
|
53
51
|
export declare function isDynamicViewRule(item: unknown): item is DynamicViewRule;
|
|
@@ -120,8 +118,6 @@ export declare function isStringProperty(item: unknown): item is StringProperty;
|
|
|
120
118
|
export type StyleProperty = BorderProperty | ColorProperty | IconProperty | MultipleProperty | OpacityProperty | PaddingSizeProperty | ShapeProperty | ShapeSizeProperty | TextSizeProperty;
|
|
121
119
|
export declare const StyleProperty = "StyleProperty";
|
|
122
120
|
export declare function isStyleProperty(item: unknown): item is StyleProperty;
|
|
123
|
-
export type TagId = string;
|
|
124
|
-
export declare function isTagId(item: unknown): item is TagId;
|
|
125
121
|
export type ThemeColor = 'amber' | 'blue' | 'gray' | 'green' | 'indigo' | 'muted' | 'primary' | 'red' | 'secondary' | 'sky' | 'slate';
|
|
126
122
|
export declare function isThemeColor(item: unknown): item is ThemeColor;
|
|
127
123
|
export type Uri = string;
|
|
@@ -253,6 +249,7 @@ export interface DeploymentRelation extends langium.AstNode {
|
|
|
253
249
|
readonly $container: DeployedInstanceBody | DeploymentNodeBody | ExtendDeploymentBody | ModelDeployments;
|
|
254
250
|
readonly $type: 'DeploymentRelation';
|
|
255
251
|
body?: DeploymentRelationBody;
|
|
252
|
+
dotKind?: RelationKindDotRef;
|
|
256
253
|
kind?: langium.Reference<RelationshipKind>;
|
|
257
254
|
source?: FqnRef;
|
|
258
255
|
tags?: Tags;
|
|
@@ -361,6 +358,7 @@ export interface DynamicViewStep extends langium.AstNode {
|
|
|
361
358
|
readonly $container: DynamicViewBody | DynamicViewParallelSteps;
|
|
362
359
|
readonly $type: 'DynamicViewStep';
|
|
363
360
|
custom?: CustomRelationProperties;
|
|
361
|
+
dotKind?: RelationKindDotRef;
|
|
364
362
|
isBackward: boolean;
|
|
365
363
|
kind?: langium.Reference<RelationshipKind>;
|
|
366
364
|
source: ElementRef;
|
|
@@ -399,7 +397,7 @@ export interface ElementKindExpression extends langium.AstNode {
|
|
|
399
397
|
readonly $container: DirectedRelationExpr | Expressions | FqnExprWhere | FqnExprWith | FqnExpressions | IncomingRelationExpr | OutgoingRelationExpr;
|
|
400
398
|
readonly $type: 'ElementKindExpression';
|
|
401
399
|
isEqual: boolean;
|
|
402
|
-
kind
|
|
400
|
+
kind: langium.Reference<ElementKind>;
|
|
403
401
|
}
|
|
404
402
|
export declare const ElementKindExpression = "ElementKindExpression";
|
|
405
403
|
export declare function isElementKindExpression(item: unknown): item is ElementKindExpression;
|
|
@@ -430,7 +428,7 @@ export interface ElementTagExpression extends langium.AstNode {
|
|
|
430
428
|
readonly $container: DirectedRelationExpr | Expressions | FqnExprWhere | FqnExprWith | FqnExpressions | IncomingRelationExpr | OutgoingRelationExpr;
|
|
431
429
|
readonly $type: 'ElementTagExpression';
|
|
432
430
|
isEqual: boolean;
|
|
433
|
-
tag
|
|
431
|
+
tag: TagRef;
|
|
434
432
|
}
|
|
435
433
|
export declare const ElementTagExpression = "ElementTagExpression";
|
|
436
434
|
export declare function isElementTagExpression(item: unknown): item is ElementTagExpression;
|
|
@@ -756,6 +754,7 @@ export declare function isOpacityProperty(item: unknown): item is OpacityPropert
|
|
|
756
754
|
export interface OutgoingRelationExpr extends langium.AstNode {
|
|
757
755
|
readonly $container: DirectedRelationExpr | Expressions | RelationExprWhere | RelationExprWith;
|
|
758
756
|
readonly $type: 'OutgoingRelationExpr';
|
|
757
|
+
dotKind?: RelationKindDotRef;
|
|
759
758
|
from: FqnExpr;
|
|
760
759
|
isBidirectional: boolean;
|
|
761
760
|
kind?: langium.Reference<RelationshipKind>;
|
|
@@ -774,6 +773,7 @@ export interface Relation extends langium.AstNode {
|
|
|
774
773
|
readonly $container: ElementBody | ExtendElementBody | Model;
|
|
775
774
|
readonly $type: 'Relation';
|
|
776
775
|
body?: RelationBody;
|
|
776
|
+
dotKind?: RelationKindDotRef;
|
|
777
777
|
kind?: langium.Reference<RelationshipKind>;
|
|
778
778
|
source?: FqnRef;
|
|
779
779
|
tags?: Tags;
|
|
@@ -807,6 +807,13 @@ export interface RelationExprWith extends langium.AstNode {
|
|
|
807
807
|
}
|
|
808
808
|
export declare const RelationExprWith = "RelationExprWith";
|
|
809
809
|
export declare function isRelationExprWith(item: unknown): item is RelationExprWith;
|
|
810
|
+
export interface RelationKindDotRef extends langium.AstNode {
|
|
811
|
+
readonly $container: DeploymentRelation | DynamicViewStep | OutgoingRelationExpr | Relation;
|
|
812
|
+
readonly $type: 'RelationKindDotRef';
|
|
813
|
+
kind: langium.Reference<RelationshipKind>;
|
|
814
|
+
}
|
|
815
|
+
export declare const RelationKindDotRef = "RelationKindDotRef";
|
|
816
|
+
export declare function isRelationKindDotRef(item: unknown): item is RelationKindDotRef;
|
|
810
817
|
export interface RelationNavigateToProperty extends langium.AstNode {
|
|
811
818
|
readonly $container: CustomRelationProperties | DeploymentRelationBody | RelationBody;
|
|
812
819
|
readonly $type: 'RelationNavigateToProperty';
|
|
@@ -867,6 +874,7 @@ export interface SpecificationDeploymentNodeKind extends langium.AstNode {
|
|
|
867
874
|
readonly $type: 'SpecificationDeploymentNodeKind';
|
|
868
875
|
kind: DeploymentNodeKind;
|
|
869
876
|
props: Array<ElementStyleProperty | SpecificationElementStringProperty>;
|
|
877
|
+
tags?: Tags;
|
|
870
878
|
}
|
|
871
879
|
export declare const SpecificationDeploymentNodeKind = "SpecificationDeploymentNodeKind";
|
|
872
880
|
export declare function isSpecificationDeploymentNodeKind(item: unknown): item is SpecificationDeploymentNodeKind;
|
|
@@ -875,6 +883,7 @@ export interface SpecificationElementKind extends langium.AstNode {
|
|
|
875
883
|
readonly $type: 'SpecificationElementKind';
|
|
876
884
|
kind: ElementKind;
|
|
877
885
|
props: Array<ElementStyleProperty | SpecificationElementStringProperty>;
|
|
886
|
+
tags?: Tags;
|
|
878
887
|
}
|
|
879
888
|
export declare const SpecificationElementKind = "SpecificationElementKind";
|
|
880
889
|
export declare function isSpecificationElementKind(item: unknown): item is SpecificationElementKind;
|
|
@@ -917,6 +926,7 @@ export declare function isSpecificationRule(item: unknown): item is Specificatio
|
|
|
917
926
|
export interface SpecificationTag extends langium.AstNode {
|
|
918
927
|
readonly $container: SpecificationRule;
|
|
919
928
|
readonly $type: 'SpecificationTag';
|
|
929
|
+
color?: CustomColorValue;
|
|
920
930
|
tag: Tag;
|
|
921
931
|
}
|
|
922
932
|
export declare const SpecificationTag = "SpecificationTag";
|
|
@@ -944,11 +954,18 @@ export interface Tag extends langium.AstNode {
|
|
|
944
954
|
}
|
|
945
955
|
export declare const Tag = "Tag";
|
|
946
956
|
export declare function isTag(item: unknown): item is Tag;
|
|
957
|
+
export interface TagRef extends langium.AstNode {
|
|
958
|
+
readonly $container: ElementTagExpression | Tags | WhereElementTag | WhereRelationParticipantTag | WhereRelationTag;
|
|
959
|
+
readonly $type: 'TagRef';
|
|
960
|
+
tag: langium.Reference<Tag>;
|
|
961
|
+
}
|
|
962
|
+
export declare const TagRef = "TagRef";
|
|
963
|
+
export declare function isTagRef(item: unknown): item is TagRef;
|
|
947
964
|
export interface Tags extends langium.AstNode {
|
|
948
|
-
readonly $container: DeployedInstanceBody | DeploymentNodeBody | DeploymentRelation | DeploymentRelationBody | DeploymentViewBody | DynamicViewBody | ElementBody | ElementViewBody | ExtendDeploymentBody | ExtendElementBody | Relation | RelationBody | Tags;
|
|
965
|
+
readonly $container: DeployedInstanceBody | DeploymentNodeBody | DeploymentRelation | DeploymentRelationBody | DeploymentViewBody | DynamicViewBody | ElementBody | ElementViewBody | ExtendDeploymentBody | ExtendElementBody | Relation | RelationBody | SpecificationDeploymentNodeKind | SpecificationElementKind | Tags;
|
|
949
966
|
readonly $type: 'Tags';
|
|
950
967
|
prev?: Tags;
|
|
951
|
-
values: Array<
|
|
968
|
+
values: Array<TagRef>;
|
|
952
969
|
}
|
|
953
970
|
export declare const Tags = "Tags";
|
|
954
971
|
export declare function isTags(item: unknown): item is Tags;
|
|
@@ -1037,7 +1054,7 @@ export interface WhereElementKind extends langium.AstNode {
|
|
|
1037
1054
|
readonly $type: 'WhereElementKind';
|
|
1038
1055
|
not: boolean;
|
|
1039
1056
|
operator: 'is' | string;
|
|
1040
|
-
value
|
|
1057
|
+
value: langium.Reference<DeploymentNodeOrElementKind>;
|
|
1041
1058
|
}
|
|
1042
1059
|
export declare const WhereElementKind = "WhereElementKind";
|
|
1043
1060
|
export declare function isWhereElementKind(item: unknown): item is WhereElementKind;
|
|
@@ -1053,7 +1070,7 @@ export interface WhereElementTag extends langium.AstNode {
|
|
|
1053
1070
|
readonly $type: 'WhereElementTag';
|
|
1054
1071
|
not: boolean;
|
|
1055
1072
|
operator: 'is' | string;
|
|
1056
|
-
value
|
|
1073
|
+
value: TagRef;
|
|
1057
1074
|
}
|
|
1058
1075
|
export declare const WhereElementTag = "WhereElementTag";
|
|
1059
1076
|
export declare function isWhereElementTag(item: unknown): item is WhereElementTag;
|
|
@@ -1062,7 +1079,7 @@ export interface WhereRelationKind extends langium.AstNode {
|
|
|
1062
1079
|
readonly $type: 'WhereRelationKind';
|
|
1063
1080
|
not: boolean;
|
|
1064
1081
|
operator: 'is' | string;
|
|
1065
|
-
value
|
|
1082
|
+
value: langium.Reference<RelationshipKind>;
|
|
1066
1083
|
}
|
|
1067
1084
|
export declare const WhereRelationKind = "WhereRelationKind";
|
|
1068
1085
|
export declare function isWhereRelationKind(item: unknown): item is WhereRelationKind;
|
|
@@ -1079,7 +1096,7 @@ export interface WhereRelationParticipantKind extends langium.AstNode {
|
|
|
1079
1096
|
not: boolean;
|
|
1080
1097
|
operator: 'is' | string;
|
|
1081
1098
|
participant: Participant;
|
|
1082
|
-
value
|
|
1099
|
+
value: langium.Reference<DeploymentNodeOrElementKind>;
|
|
1083
1100
|
}
|
|
1084
1101
|
export declare const WhereRelationParticipantKind = "WhereRelationParticipantKind";
|
|
1085
1102
|
export declare function isWhereRelationParticipantKind(item: unknown): item is WhereRelationParticipantKind;
|
|
@@ -1089,7 +1106,7 @@ export interface WhereRelationParticipantTag extends langium.AstNode {
|
|
|
1089
1106
|
not: boolean;
|
|
1090
1107
|
operator: 'is' | string;
|
|
1091
1108
|
participant: Participant;
|
|
1092
|
-
value
|
|
1109
|
+
value: TagRef;
|
|
1093
1110
|
}
|
|
1094
1111
|
export declare const WhereRelationParticipantTag = "WhereRelationParticipantTag";
|
|
1095
1112
|
export declare function isWhereRelationParticipantTag(item: unknown): item is WhereRelationParticipantTag;
|
|
@@ -1098,7 +1115,7 @@ export interface WhereRelationTag extends langium.AstNode {
|
|
|
1098
1115
|
readonly $type: 'WhereRelationTag';
|
|
1099
1116
|
not: boolean;
|
|
1100
1117
|
operator: 'is' | string;
|
|
1101
|
-
value
|
|
1118
|
+
value: TagRef;
|
|
1102
1119
|
}
|
|
1103
1120
|
export declare const WhereRelationTag = "WhereRelationTag";
|
|
1104
1121
|
export declare function isWhereRelationTag(item: unknown): item is WhereRelationTag;
|
|
@@ -1206,6 +1223,7 @@ export type LikeC4AstType = {
|
|
|
1206
1223
|
RelationExprOrWith: RelationExprOrWith;
|
|
1207
1224
|
RelationExprWhere: RelationExprWhere;
|
|
1208
1225
|
RelationExprWith: RelationExprWith;
|
|
1226
|
+
RelationKindDotRef: RelationKindDotRef;
|
|
1209
1227
|
RelationNavigateToProperty: RelationNavigateToProperty;
|
|
1210
1228
|
RelationProperty: RelationProperty;
|
|
1211
1229
|
RelationStringProperty: RelationStringProperty;
|
|
@@ -1228,6 +1246,7 @@ export type LikeC4AstType = {
|
|
|
1228
1246
|
StringProperty: StringProperty;
|
|
1229
1247
|
StyleProperty: StyleProperty;
|
|
1230
1248
|
Tag: Tag;
|
|
1249
|
+
TagRef: TagRef;
|
|
1231
1250
|
Tags: Tags;
|
|
1232
1251
|
TextSizeProperty: TextSizeProperty;
|
|
1233
1252
|
ViewProperty: ViewProperty;
|
package/dist/generated/ast.js
CHANGED
|
@@ -47,9 +47,6 @@ export const DeploymentViewRule = "DeploymentViewRule";
|
|
|
47
47
|
export function isDeploymentViewRule(item) {
|
|
48
48
|
return reflection.isInstance(item, DeploymentViewRule);
|
|
49
49
|
}
|
|
50
|
-
export function isDotId(item) {
|
|
51
|
-
return typeof item === "string";
|
|
52
|
-
}
|
|
53
50
|
export const DynamicViewRule = "DynamicViewRule";
|
|
54
51
|
export function isDynamicViewRule(item) {
|
|
55
52
|
return reflection.isInstance(item, DynamicViewRule);
|
|
@@ -148,9 +145,6 @@ export const StyleProperty = "StyleProperty";
|
|
|
148
145
|
export function isStyleProperty(item) {
|
|
149
146
|
return reflection.isInstance(item, StyleProperty);
|
|
150
147
|
}
|
|
151
|
-
export function isTagId(item) {
|
|
152
|
-
return typeof item === "string";
|
|
153
|
-
}
|
|
154
148
|
export function isThemeColor(item) {
|
|
155
149
|
return item === "primary" || item === "secondary" || item === "muted" || item === "slate" || item === "blue" || item === "indigo" || item === "sky" || item === "red" || item === "gray" || item === "green" || item === "amber";
|
|
156
150
|
}
|
|
@@ -512,6 +506,10 @@ export const RelationExprWith = "RelationExprWith";
|
|
|
512
506
|
export function isRelationExprWith(item) {
|
|
513
507
|
return reflection.isInstance(item, RelationExprWith);
|
|
514
508
|
}
|
|
509
|
+
export const RelationKindDotRef = "RelationKindDotRef";
|
|
510
|
+
export function isRelationKindDotRef(item) {
|
|
511
|
+
return reflection.isInstance(item, RelationKindDotRef);
|
|
512
|
+
}
|
|
515
513
|
export const RelationNavigateToProperty = "RelationNavigateToProperty";
|
|
516
514
|
export function isRelationNavigateToProperty(item) {
|
|
517
515
|
return reflection.isInstance(item, RelationNavigateToProperty);
|
|
@@ -580,6 +578,10 @@ export const Tag = "Tag";
|
|
|
580
578
|
export function isTag(item) {
|
|
581
579
|
return reflection.isInstance(item, Tag);
|
|
582
580
|
}
|
|
581
|
+
export const TagRef = "TagRef";
|
|
582
|
+
export function isTagRef(item) {
|
|
583
|
+
return reflection.isInstance(item, TagRef);
|
|
584
|
+
}
|
|
583
585
|
export const Tags = "Tags";
|
|
584
586
|
export function isTags(item) {
|
|
585
587
|
return reflection.isInstance(item, Tags);
|
|
@@ -662,7 +664,7 @@ export function isWildcardExpression(item) {
|
|
|
662
664
|
}
|
|
663
665
|
export class LikeC4AstReflection extends langium.AbstractAstReflection {
|
|
664
666
|
getAllTypes() {
|
|
665
|
-
return [ArrowProperty, BorderProperty, ColorProperty, CustomColor, CustomElementProperties, CustomRelationProperties, DeployedInstance, DeployedInstanceBody, DeploymentElement, DeploymentNode, DeploymentNodeBody, DeploymentNodeKind, DeploymentNodeOrElementKind, DeploymentRelation, DeploymentRelationBody, DeploymentView, DeploymentViewBody, DeploymentViewRule, DeploymentViewRulePredicate, DeploymentViewRuleStyle, DirectedRelationExpr, DynamicView, DynamicViewBody, DynamicViewGlobalPredicateRef, DynamicViewIncludePredicate, DynamicViewParallelSteps, DynamicViewRef, DynamicViewRule, DynamicViewStep, Element, ElementBody, ElementKind, ElementKindExpression, ElementProperty, ElementRef, ElementStringProperty, ElementStyleProperty, ElementTagExpression, ElementView, ElementViewBody, ElementViewRef, ExpressionV2, Expressions, ExtendDeployment, ExtendDeploymentBody, ExtendElement, ExtendElementBody, ExtendElementProperty, FqnExpr, FqnExprOrWhere, FqnExprOrWith, FqnExprWhere, FqnExprWith, FqnExpressions, FqnRef, FqnRefExpr, FqnReferenceable, GlobalDynamicPredicateGroup, GlobalPredicateGroup, GlobalStyle, GlobalStyleGroup, GlobalStyleId, Globals, IconProperty, Imported, ImportsFromPoject, InOutRelationExpr, IncomingRelationExpr, LibIcon, LikeC4Grammar, LikeC4Lib, LikeC4View, LineProperty, LinkProperty, MetadataAttribute, MetadataBody, MetadataProperty, Model, ModelDeployments, ModelReferenceable, ModelViews, MultipleProperty, NavigateToProperty, NotationProperty, NotesProperty, OpacityProperty, OutgoingRelationExpr, PaddingSizeProperty, Referenceable, Relation, RelationBody, RelationExpr, RelationExprOrWhere, RelationExprOrWith, RelationExprWhere, RelationExprWith, RelationNavigateToProperty, RelationProperty, RelationStringProperty, RelationStyleProperty, RelationshipKind, RelationshipStyleProperty, ShapeProperty, ShapeSizeProperty, SizeProperty, SpecificationColor, SpecificationDeploymentNodeKind, SpecificationElementKind, SpecificationElementStringProperty, SpecificationRelationshipKind, SpecificationRelationshipStringProperty, SpecificationRule, SpecificationTag, StrictFqnElementRef, StrictFqnRef, StringProperty, StyleProperty, Tag, Tags, TextSizeProperty, ViewProperty, ViewRef, ViewRule, ViewRuleAutoLayout, ViewRuleGlobalPredicateRef, ViewRuleGlobalStyle, ViewRuleGroup, ViewRulePredicate, ViewRuleStyle, ViewRuleStyleOrGlobalRef, ViewStringProperty, WhereBinaryExpression, WhereElement, WhereElementExpression, WhereElementKind, WhereElementNegation, WhereElementTag, WhereExpression, WhereKindEqual, WhereRelation, WhereRelationExpression, WhereRelationKind, WhereRelationNegation, WhereRelationParticipantKind, WhereRelationParticipantTag, WhereRelationTag, WhereTagEqual, WildcardExpression];
|
|
667
|
+
return [ArrowProperty, BorderProperty, ColorProperty, CustomColor, CustomElementProperties, CustomRelationProperties, DeployedInstance, DeployedInstanceBody, DeploymentElement, DeploymentNode, DeploymentNodeBody, DeploymentNodeKind, DeploymentNodeOrElementKind, DeploymentRelation, DeploymentRelationBody, DeploymentView, DeploymentViewBody, DeploymentViewRule, DeploymentViewRulePredicate, DeploymentViewRuleStyle, DirectedRelationExpr, DynamicView, DynamicViewBody, DynamicViewGlobalPredicateRef, DynamicViewIncludePredicate, DynamicViewParallelSteps, DynamicViewRef, DynamicViewRule, DynamicViewStep, Element, ElementBody, ElementKind, ElementKindExpression, ElementProperty, ElementRef, ElementStringProperty, ElementStyleProperty, ElementTagExpression, ElementView, ElementViewBody, ElementViewRef, ExpressionV2, Expressions, ExtendDeployment, ExtendDeploymentBody, ExtendElement, ExtendElementBody, ExtendElementProperty, FqnExpr, FqnExprOrWhere, FqnExprOrWith, FqnExprWhere, FqnExprWith, FqnExpressions, FqnRef, FqnRefExpr, FqnReferenceable, GlobalDynamicPredicateGroup, GlobalPredicateGroup, GlobalStyle, GlobalStyleGroup, GlobalStyleId, Globals, IconProperty, Imported, ImportsFromPoject, InOutRelationExpr, IncomingRelationExpr, LibIcon, LikeC4Grammar, LikeC4Lib, LikeC4View, LineProperty, LinkProperty, MetadataAttribute, MetadataBody, MetadataProperty, Model, ModelDeployments, ModelReferenceable, ModelViews, MultipleProperty, NavigateToProperty, NotationProperty, NotesProperty, OpacityProperty, OutgoingRelationExpr, PaddingSizeProperty, Referenceable, Relation, RelationBody, RelationExpr, RelationExprOrWhere, RelationExprOrWith, RelationExprWhere, RelationExprWith, RelationKindDotRef, RelationNavigateToProperty, RelationProperty, RelationStringProperty, RelationStyleProperty, RelationshipKind, RelationshipStyleProperty, ShapeProperty, ShapeSizeProperty, SizeProperty, SpecificationColor, SpecificationDeploymentNodeKind, SpecificationElementKind, SpecificationElementStringProperty, SpecificationRelationshipKind, SpecificationRelationshipStringProperty, SpecificationRule, SpecificationTag, StrictFqnElementRef, StrictFqnRef, StringProperty, StyleProperty, Tag, TagRef, Tags, TextSizeProperty, ViewProperty, ViewRef, ViewRule, ViewRuleAutoLayout, ViewRuleGlobalPredicateRef, ViewRuleGlobalStyle, ViewRuleGroup, ViewRulePredicate, ViewRuleStyle, ViewRuleStyleOrGlobalRef, ViewStringProperty, WhereBinaryExpression, WhereElement, WhereElementExpression, WhereElementKind, WhereElementNegation, WhereElementTag, WhereExpression, WhereKindEqual, WhereRelation, WhereRelationExpression, WhereRelationKind, WhereRelationNegation, WhereRelationParticipantKind, WhereRelationParticipantTag, WhereRelationTag, WhereTagEqual, WildcardExpression];
|
|
666
668
|
}
|
|
667
669
|
computeIsSubtype(subtype, supertype) {
|
|
668
670
|
switch (subtype) {
|
|
@@ -845,6 +847,7 @@ export class LikeC4AstReflection extends langium.AbstractAstReflection {
|
|
|
845
847
|
case "DynamicViewStep:kind":
|
|
846
848
|
case "OutgoingRelationExpr:kind":
|
|
847
849
|
case "Relation:kind":
|
|
850
|
+
case "RelationKindDotRef:kind":
|
|
848
851
|
case "WhereRelationKind:value": {
|
|
849
852
|
return RelationshipKind;
|
|
850
853
|
}
|
|
@@ -858,13 +861,6 @@ export class LikeC4AstReflection extends langium.AbstractAstReflection {
|
|
|
858
861
|
case "ElementKindExpression:kind": {
|
|
859
862
|
return ElementKind;
|
|
860
863
|
}
|
|
861
|
-
case "ElementTagExpression:tag":
|
|
862
|
-
case "Tags:values":
|
|
863
|
-
case "WhereElementTag:value":
|
|
864
|
-
case "WhereRelationParticipantTag:value":
|
|
865
|
-
case "WhereRelationTag:value": {
|
|
866
|
-
return Tag;
|
|
867
|
-
}
|
|
868
864
|
case "ElementViewRef:view": {
|
|
869
865
|
return ElementView;
|
|
870
866
|
}
|
|
@@ -879,6 +875,9 @@ export class LikeC4AstReflection extends langium.AbstractAstReflection {
|
|
|
879
875
|
case "StrictFqnElementRef:el": {
|
|
880
876
|
return Element;
|
|
881
877
|
}
|
|
878
|
+
case "TagRef:tag": {
|
|
879
|
+
return Tag;
|
|
880
|
+
}
|
|
882
881
|
case "ViewRef:view": {
|
|
883
882
|
return LikeC4View;
|
|
884
883
|
}
|
|
@@ -1006,6 +1005,7 @@ export class LikeC4AstReflection extends langium.AbstractAstReflection {
|
|
|
1006
1005
|
name: DeploymentRelation,
|
|
1007
1006
|
properties: [
|
|
1008
1007
|
{ name: "body" },
|
|
1008
|
+
{ name: "dotKind" },
|
|
1009
1009
|
{ name: "kind" },
|
|
1010
1010
|
{ name: "source" },
|
|
1011
1011
|
{ name: "tags" },
|
|
@@ -1127,6 +1127,7 @@ export class LikeC4AstReflection extends langium.AbstractAstReflection {
|
|
|
1127
1127
|
name: DynamicViewStep,
|
|
1128
1128
|
properties: [
|
|
1129
1129
|
{ name: "custom" },
|
|
1130
|
+
{ name: "dotKind" },
|
|
1130
1131
|
{ name: "isBackward", defaultValue: false },
|
|
1131
1132
|
{ name: "kind" },
|
|
1132
1133
|
{ name: "source" },
|
|
@@ -1571,6 +1572,7 @@ export class LikeC4AstReflection extends langium.AbstractAstReflection {
|
|
|
1571
1572
|
return {
|
|
1572
1573
|
name: OutgoingRelationExpr,
|
|
1573
1574
|
properties: [
|
|
1575
|
+
{ name: "dotKind" },
|
|
1574
1576
|
{ name: "from" },
|
|
1575
1577
|
{ name: "isBidirectional", defaultValue: false },
|
|
1576
1578
|
{ name: "kind" }
|
|
@@ -1591,6 +1593,7 @@ export class LikeC4AstReflection extends langium.AbstractAstReflection {
|
|
|
1591
1593
|
name: Relation,
|
|
1592
1594
|
properties: [
|
|
1593
1595
|
{ name: "body" },
|
|
1596
|
+
{ name: "dotKind" },
|
|
1594
1597
|
{ name: "kind" },
|
|
1595
1598
|
{ name: "source" },
|
|
1596
1599
|
{ name: "tags" },
|
|
@@ -1627,6 +1630,14 @@ export class LikeC4AstReflection extends langium.AbstractAstReflection {
|
|
|
1627
1630
|
]
|
|
1628
1631
|
};
|
|
1629
1632
|
}
|
|
1633
|
+
case RelationKindDotRef: {
|
|
1634
|
+
return {
|
|
1635
|
+
name: RelationKindDotRef,
|
|
1636
|
+
properties: [
|
|
1637
|
+
{ name: "kind" }
|
|
1638
|
+
]
|
|
1639
|
+
};
|
|
1640
|
+
}
|
|
1630
1641
|
case RelationNavigateToProperty: {
|
|
1631
1642
|
return {
|
|
1632
1643
|
name: RelationNavigateToProperty,
|
|
@@ -1694,7 +1705,8 @@ export class LikeC4AstReflection extends langium.AbstractAstReflection {
|
|
|
1694
1705
|
name: SpecificationDeploymentNodeKind,
|
|
1695
1706
|
properties: [
|
|
1696
1707
|
{ name: "kind" },
|
|
1697
|
-
{ name: "props", defaultValue: [] }
|
|
1708
|
+
{ name: "props", defaultValue: [] },
|
|
1709
|
+
{ name: "tags" }
|
|
1698
1710
|
]
|
|
1699
1711
|
};
|
|
1700
1712
|
}
|
|
@@ -1703,7 +1715,8 @@ export class LikeC4AstReflection extends langium.AbstractAstReflection {
|
|
|
1703
1715
|
name: SpecificationElementKind,
|
|
1704
1716
|
properties: [
|
|
1705
1717
|
{ name: "kind" },
|
|
1706
|
-
{ name: "props", defaultValue: [] }
|
|
1718
|
+
{ name: "props", defaultValue: [] },
|
|
1719
|
+
{ name: "tags" }
|
|
1707
1720
|
]
|
|
1708
1721
|
};
|
|
1709
1722
|
}
|
|
@@ -1751,6 +1764,7 @@ export class LikeC4AstReflection extends langium.AbstractAstReflection {
|
|
|
1751
1764
|
return {
|
|
1752
1765
|
name: SpecificationTag,
|
|
1753
1766
|
properties: [
|
|
1767
|
+
{ name: "color" },
|
|
1754
1768
|
{ name: "tag" }
|
|
1755
1769
|
]
|
|
1756
1770
|
};
|
|
@@ -1781,6 +1795,14 @@ export class LikeC4AstReflection extends langium.AbstractAstReflection {
|
|
|
1781
1795
|
]
|
|
1782
1796
|
};
|
|
1783
1797
|
}
|
|
1798
|
+
case TagRef: {
|
|
1799
|
+
return {
|
|
1800
|
+
name: TagRef,
|
|
1801
|
+
properties: [
|
|
1802
|
+
{ name: "tag" }
|
|
1803
|
+
]
|
|
1804
|
+
};
|
|
1805
|
+
}
|
|
1784
1806
|
case Tags: {
|
|
1785
1807
|
return {
|
|
1786
1808
|
name: Tags,
|