@likec4/language-server 1.12.1 → 1.13.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.
Files changed (43) hide show
  1. package/dist/browser.cjs +1 -1
  2. package/dist/browser.d.cts +2 -2
  3. package/dist/browser.d.mts +2 -2
  4. package/dist/browser.d.ts +2 -2
  5. package/dist/browser.mjs +2 -2
  6. package/dist/index.cjs +1 -1
  7. package/dist/index.d.cts +2 -2
  8. package/dist/index.d.mts +2 -2
  9. package/dist/index.d.ts +2 -2
  10. package/dist/index.mjs +2 -2
  11. package/dist/model-graph/index.cjs +1 -1
  12. package/dist/model-graph/index.d.cts +1 -1
  13. package/dist/model-graph/index.d.mts +1 -1
  14. package/dist/model-graph/index.d.ts +1 -1
  15. package/dist/model-graph/index.mjs +1 -1
  16. package/dist/shared/{language-server.CzkWpuWT.d.mts → language-server.B-9_mDoo.d.mts} +7 -2
  17. package/dist/shared/{language-server.BH0brgLf.cjs → language-server.C2ebP2pZ.cjs} +80 -90
  18. package/dist/shared/{language-server.DJAHXekh.d.cts → language-server.C3oS5yhF.d.cts} +7 -2
  19. package/dist/shared/{language-server.3Bh0zvVS.cjs → language-server.CbDa016p.cjs} +9 -7
  20. package/dist/shared/{language-server.DtLmc4Fz.d.cts → language-server.Cnq_hgfm.d.cts} +6 -1
  21. package/dist/shared/{language-server.BYjS7OIz.mjs → language-server.CrE0nFSB.mjs} +79 -89
  22. package/dist/shared/{language-server.BxxqS4Id.mjs → language-server.DFLaUdYu.mjs} +7 -6
  23. package/dist/shared/{language-server.BCDM5gt9.d.ts → language-server.eY70DuKx.d.ts} +6 -1
  24. package/dist/shared/{language-server.B8Ce0R_D.d.ts → language-server.r5AXAWzc.d.ts} +7 -2
  25. package/dist/shared/{language-server.BN7V1vQA.d.mts → language-server.ryB8CivX.d.mts} +6 -1
  26. package/package.json +7 -7
  27. package/src/ast.ts +1 -1
  28. package/src/generated/ast.ts +3 -1
  29. package/src/generated/grammar.ts +1 -1
  30. package/src/like-c4.langium +4 -2
  31. package/src/lsp/CompletionProvider.ts +2 -2
  32. package/src/model/model-parser.ts +78 -69
  33. package/src/model-change/ModelChanges.ts +0 -28
  34. package/src/model-change/changeViewLayout.ts +5 -5
  35. package/src/model-graph/compute-view/compute.ts +1 -1
  36. package/src/model-graph/dynamic-view/compute.ts +1 -1
  37. package/src/model-graph/utils/sortNodes.ts +3 -3
  38. package/src/test/testServices.ts +9 -5
  39. package/src/utils/graphlib.ts +5 -7
  40. package/src/validation/_shared.ts +2 -1
  41. package/src/validation/index.ts +0 -2
  42. package/src/validation/specification.ts +0 -11
  43. package/src/view-utils/resolve-extended-views.ts +2 -2
package/dist/browser.cjs CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  const lsp = require('langium/lsp');
4
4
  const browser = require('vscode-languageserver/browser');
5
- const module$1 = require('./shared/language-server.BH0brgLf.cjs');
5
+ const module$1 = require('./shared/language-server.C2ebP2pZ.cjs');
6
6
 
7
7
  function startLanguageServer() {
8
8
  const messageReader = new browser.BrowserMessageReader(self);
@@ -1,5 +1,5 @@
1
- import { L as LikeC4SharedServices, a as LikeC4Services } from './shared/language-server.DtLmc4Fz.cjs';
2
- export { f as FqnIndex, F as FqnIndexEntry, I as IsValidFn, k as LanguageServicesContext, j as LikeC4AddedServices, g as LikeC4ModelBuilder, h as LikeC4ModelLocator, i as LikeC4ModelParser, d as LikeC4Module, M as ModelParsedListener, e as computeDocumentFqn, c as createCustomLanguageServices, b as createLanguageServices, l as createSharedServices, s as setLogLevel } from './shared/language-server.DtLmc4Fz.cjs';
1
+ import { L as LikeC4SharedServices, a as LikeC4Services } from './shared/language-server.Cnq_hgfm.cjs';
2
+ export { f as FqnIndex, F as FqnIndexEntry, I as IsValidFn, k as LanguageServicesContext, j as LikeC4AddedServices, g as LikeC4ModelBuilder, h as LikeC4ModelLocator, i as LikeC4ModelParser, d as LikeC4Module, M as ModelParsedListener, e as computeDocumentFqn, c as createCustomLanguageServices, b as createLanguageServices, l as createSharedServices, s as setLogLevel } from './shared/language-server.Cnq_hgfm.cjs';
3
3
  import * as vscode_languageserver from 'vscode-languageserver';
4
4
  import { BrowserMessageReader, BrowserMessageWriter } from 'vscode-languageserver/browser';
5
5
  import 'langium';
@@ -1,5 +1,5 @@
1
- import { L as LikeC4SharedServices, a as LikeC4Services } from './shared/language-server.BN7V1vQA.mjs';
2
- export { f as FqnIndex, F as FqnIndexEntry, I as IsValidFn, k as LanguageServicesContext, j as LikeC4AddedServices, g as LikeC4ModelBuilder, h as LikeC4ModelLocator, i as LikeC4ModelParser, d as LikeC4Module, M as ModelParsedListener, e as computeDocumentFqn, c as createCustomLanguageServices, b as createLanguageServices, l as createSharedServices, s as setLogLevel } from './shared/language-server.BN7V1vQA.mjs';
1
+ import { L as LikeC4SharedServices, a as LikeC4Services } from './shared/language-server.ryB8CivX.mjs';
2
+ export { f as FqnIndex, F as FqnIndexEntry, I as IsValidFn, k as LanguageServicesContext, j as LikeC4AddedServices, g as LikeC4ModelBuilder, h as LikeC4ModelLocator, i as LikeC4ModelParser, d as LikeC4Module, M as ModelParsedListener, e as computeDocumentFqn, c as createCustomLanguageServices, b as createLanguageServices, l as createSharedServices, s as setLogLevel } from './shared/language-server.ryB8CivX.mjs';
3
3
  import * as vscode_languageserver from 'vscode-languageserver';
4
4
  import { BrowserMessageReader, BrowserMessageWriter } from 'vscode-languageserver/browser';
5
5
  import 'langium';
package/dist/browser.d.ts CHANGED
@@ -1,5 +1,5 @@
1
- import { L as LikeC4SharedServices, a as LikeC4Services } from './shared/language-server.BCDM5gt9.js';
2
- export { f as FqnIndex, F as FqnIndexEntry, I as IsValidFn, k as LanguageServicesContext, j as LikeC4AddedServices, g as LikeC4ModelBuilder, h as LikeC4ModelLocator, i as LikeC4ModelParser, d as LikeC4Module, M as ModelParsedListener, e as computeDocumentFqn, c as createCustomLanguageServices, b as createLanguageServices, l as createSharedServices, s as setLogLevel } from './shared/language-server.BCDM5gt9.js';
1
+ import { L as LikeC4SharedServices, a as LikeC4Services } from './shared/language-server.eY70DuKx.js';
2
+ export { f as FqnIndex, F as FqnIndexEntry, I as IsValidFn, k as LanguageServicesContext, j as LikeC4AddedServices, g as LikeC4ModelBuilder, h as LikeC4ModelLocator, i as LikeC4ModelParser, d as LikeC4Module, M as ModelParsedListener, e as computeDocumentFqn, c as createCustomLanguageServices, b as createLanguageServices, l as createSharedServices, s as setLogLevel } from './shared/language-server.eY70DuKx.js';
3
3
  import * as vscode_languageserver from 'vscode-languageserver';
4
4
  import { BrowserMessageReader, BrowserMessageWriter } from 'vscode-languageserver/browser';
5
5
  import 'langium';
package/dist/browser.mjs CHANGED
@@ -1,7 +1,7 @@
1
1
  import { startLanguageServer as startLanguageServer$1 } from 'langium/lsp';
2
2
  import { BrowserMessageReader, BrowserMessageWriter, createConnection } from 'vscode-languageserver/browser';
3
- import { c as createLanguageServices } from './shared/language-server.BYjS7OIz.mjs';
4
- export { L as LikeC4Module, a as createCustomLanguageServices, s as setLogLevel } from './shared/language-server.BYjS7OIz.mjs';
3
+ import { c as createLanguageServices } from './shared/language-server.CrE0nFSB.mjs';
4
+ export { L as LikeC4Module, a as createCustomLanguageServices, s as setLogLevel } from './shared/language-server.CrE0nFSB.mjs';
5
5
 
6
6
  function startLanguageServer() {
7
7
  const messageReader = new BrowserMessageReader(self);
package/dist/index.cjs CHANGED
@@ -3,7 +3,7 @@
3
3
  const lsp = require('langium/lsp');
4
4
  const node$1 = require('langium/node');
5
5
  const node = require('vscode-languageserver/node');
6
- const module$1 = require('./shared/language-server.BH0brgLf.cjs');
6
+ const module$1 = require('./shared/language-server.C2ebP2pZ.cjs');
7
7
 
8
8
  function startLanguageServer() {
9
9
  const connection = node.createConnection(node.ProposedFeatures.all);
package/dist/index.d.cts CHANGED
@@ -1,5 +1,5 @@
1
- import { L as LikeC4SharedServices, a as LikeC4Services } from './shared/language-server.DtLmc4Fz.cjs';
2
- export { f as FqnIndex, F as FqnIndexEntry, I as IsValidFn, k as LanguageServicesContext, j as LikeC4AddedServices, g as LikeC4ModelBuilder, h as LikeC4ModelLocator, i as LikeC4ModelParser, d as LikeC4Module, M as ModelParsedListener, e as computeDocumentFqn, c as createCustomLanguageServices, b as createLanguageServices, l as createSharedServices, m as lspLogger, s as setLogLevel } from './shared/language-server.DtLmc4Fz.cjs';
1
+ import { L as LikeC4SharedServices, a as LikeC4Services } from './shared/language-server.Cnq_hgfm.cjs';
2
+ export { f as FqnIndex, F as FqnIndexEntry, I as IsValidFn, k as LanguageServicesContext, j as LikeC4AddedServices, g as LikeC4ModelBuilder, h as LikeC4ModelLocator, i as LikeC4ModelParser, d as LikeC4Module, M as ModelParsedListener, e as computeDocumentFqn, c as createCustomLanguageServices, b as createLanguageServices, l as createSharedServices, m as lspLogger, s as setLogLevel } from './shared/language-server.Cnq_hgfm.cjs';
3
3
  import * as vscode_languageserver_lib_common_inlineCompletion_proposed from 'vscode-languageserver/lib/common/inlineCompletion.proposed';
4
4
  import * as vscode_languageserver from 'vscode-languageserver';
5
5
  import 'langium';
package/dist/index.d.mts CHANGED
@@ -1,5 +1,5 @@
1
- import { L as LikeC4SharedServices, a as LikeC4Services } from './shared/language-server.BN7V1vQA.mjs';
2
- export { f as FqnIndex, F as FqnIndexEntry, I as IsValidFn, k as LanguageServicesContext, j as LikeC4AddedServices, g as LikeC4ModelBuilder, h as LikeC4ModelLocator, i as LikeC4ModelParser, d as LikeC4Module, M as ModelParsedListener, e as computeDocumentFqn, c as createCustomLanguageServices, b as createLanguageServices, l as createSharedServices, m as lspLogger, s as setLogLevel } from './shared/language-server.BN7V1vQA.mjs';
1
+ import { L as LikeC4SharedServices, a as LikeC4Services } from './shared/language-server.ryB8CivX.mjs';
2
+ export { f as FqnIndex, F as FqnIndexEntry, I as IsValidFn, k as LanguageServicesContext, j as LikeC4AddedServices, g as LikeC4ModelBuilder, h as LikeC4ModelLocator, i as LikeC4ModelParser, d as LikeC4Module, M as ModelParsedListener, e as computeDocumentFqn, c as createCustomLanguageServices, b as createLanguageServices, l as createSharedServices, m as lspLogger, s as setLogLevel } from './shared/language-server.ryB8CivX.mjs';
3
3
  import * as vscode_languageserver_lib_common_inlineCompletion_proposed from 'vscode-languageserver/lib/common/inlineCompletion.proposed';
4
4
  import * as vscode_languageserver from 'vscode-languageserver';
5
5
  import 'langium';
package/dist/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
- import { L as LikeC4SharedServices, a as LikeC4Services } from './shared/language-server.BCDM5gt9.js';
2
- export { f as FqnIndex, F as FqnIndexEntry, I as IsValidFn, k as LanguageServicesContext, j as LikeC4AddedServices, g as LikeC4ModelBuilder, h as LikeC4ModelLocator, i as LikeC4ModelParser, d as LikeC4Module, M as ModelParsedListener, e as computeDocumentFqn, c as createCustomLanguageServices, b as createLanguageServices, l as createSharedServices, m as lspLogger, s as setLogLevel } from './shared/language-server.BCDM5gt9.js';
1
+ import { L as LikeC4SharedServices, a as LikeC4Services } from './shared/language-server.eY70DuKx.js';
2
+ export { f as FqnIndex, F as FqnIndexEntry, I as IsValidFn, k as LanguageServicesContext, j as LikeC4AddedServices, g as LikeC4ModelBuilder, h as LikeC4ModelLocator, i as LikeC4ModelParser, d as LikeC4Module, M as ModelParsedListener, e as computeDocumentFqn, c as createCustomLanguageServices, b as createLanguageServices, l as createSharedServices, m as lspLogger, s as setLogLevel } from './shared/language-server.eY70DuKx.js';
3
3
  import * as vscode_languageserver_lib_common_inlineCompletion_proposed from 'vscode-languageserver/lib/common/inlineCompletion.proposed';
4
4
  import * as vscode_languageserver from 'vscode-languageserver';
5
5
  import 'langium';
package/dist/index.mjs CHANGED
@@ -1,8 +1,8 @@
1
1
  import { startLanguageServer as startLanguageServer$1 } from 'langium/lsp';
2
2
  import { NodeFileSystem } from 'langium/node';
3
3
  import { createConnection, ProposedFeatures } from 'vscode-languageserver/node';
4
- import { c as createLanguageServices } from './shared/language-server.BYjS7OIz.mjs';
5
- export { L as LikeC4Module, a as createCustomLanguageServices, l as lspLogger, s as setLogLevel } from './shared/language-server.BYjS7OIz.mjs';
4
+ import { c as createLanguageServices } from './shared/language-server.CrE0nFSB.mjs';
5
+ export { L as LikeC4Module, a as createCustomLanguageServices, l as lspLogger, s as setLogLevel } from './shared/language-server.CrE0nFSB.mjs';
6
6
 
7
7
  function startLanguageServer() {
8
8
  const connection = createConnection(ProposedFeatures.all);
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- const LikeC4ModelGraph = require('../shared/language-server.3Bh0zvVS.cjs');
3
+ const LikeC4ModelGraph = require('../shared/language-server.CbDa016p.cjs');
4
4
 
5
5
 
6
6
 
@@ -55,7 +55,7 @@ declare class LikeC4ModelGraph {
55
55
  private _internalOf;
56
56
  }
57
57
 
58
- declare function computeElementView(view: ElementView, graph: LikeC4ModelGraph): ComputedElementView;
58
+ declare function computeElementView(view: ElementView, graph: LikeC4ModelGraph): ComputedElementView<string, string>;
59
59
  type ComputeViewResult$1 = {
60
60
  isSuccess: true;
61
61
  view: ComputedElementView;
@@ -55,7 +55,7 @@ declare class LikeC4ModelGraph {
55
55
  private _internalOf;
56
56
  }
57
57
 
58
- declare function computeElementView(view: ElementView, graph: LikeC4ModelGraph): ComputedElementView;
58
+ declare function computeElementView(view: ElementView, graph: LikeC4ModelGraph): ComputedElementView<string, string>;
59
59
  type ComputeViewResult$1 = {
60
60
  isSuccess: true;
61
61
  view: ComputedElementView;
@@ -55,7 +55,7 @@ declare class LikeC4ModelGraph {
55
55
  private _internalOf;
56
56
  }
57
57
 
58
- declare function computeElementView(view: ElementView, graph: LikeC4ModelGraph): ComputedElementView;
58
+ declare function computeElementView(view: ElementView, graph: LikeC4ModelGraph): ComputedElementView<string, string>;
59
59
  type ComputeViewResult$1 = {
60
60
  isSuccess: true;
61
61
  view: ComputedElementView;
@@ -1 +1 @@
1
- export { L as LikeC4ModelGraph, b as computeDynamicView, c as computeElementView, a as computeView } from '../shared/language-server.BxxqS4Id.mjs';
1
+ export { L as LikeC4ModelGraph, b as computeDynamicView, c as computeElementView, a as computeView } from '../shared/language-server.DFLaUdYu.mjs';
@@ -448,6 +448,7 @@ interface ModelViews extends AstNode {
448
448
  readonly $container: LikeC4Grammar;
449
449
  readonly $type: 'ModelViews';
450
450
  name: 'views';
451
+ styles: Array<ViewRuleStyle>;
451
452
  views: Array<LikeC4View>;
452
453
  }
453
454
  declare const ModelViews = "ModelViews";
@@ -650,7 +651,7 @@ interface ViewRuleAutoLayout extends AstNode {
650
651
  }
651
652
  declare const ViewRuleAutoLayout = "ViewRuleAutoLayout";
652
653
  interface ViewRuleStyle extends AstNode {
653
- readonly $container: DynamicViewBody | ElementViewBody;
654
+ readonly $container: DynamicViewBody | ElementViewBody | ModelViews;
654
655
  readonly $type: 'ViewRuleStyle';
655
656
  props: Array<NotationProperty | StyleProperty>;
656
657
  target: ElementExpressionsIterator;
@@ -955,7 +956,7 @@ interface ParsedLikeC4LangiumDocument extends Omit<LangiumDocument<LikeC4Grammar
955
956
  }
956
957
  type Guard<N extends AstNode> = (n: AstNode) => n is N;
957
958
  type Guarded<G> = G extends Guard<infer N> ? N : never;
958
- declare const isValidatableAstNode: (n: AstNode) => n is Guarded<typeof isRelation | typeof isExtendElement | typeof isElement | typeof isLikeC4View | typeof isDynamicViewPredicateIterator | typeof isElementPredicateWith | typeof isRelationPredicateWith | typeof isElementExpression | typeof isRelationExpression | typeof isDynamicViewParallelSteps | typeof isDynamicViewStep | typeof isViewProperty | typeof isStyleProperty | typeof isTags | typeof isViewRule | typeof isDynamicViewRule | typeof isElementViewBody | typeof isDynamicViewBody | typeof isRelationProperty | typeof isRelationBody | typeof isElementProperty | typeof isElementBody | typeof isExtendElementBody | typeof isSpecificationElementKind | typeof isSpecificationRelationshipKind | typeof isSpecificationTag | typeof isSpecificationColor | typeof isSpecificationRule | typeof isModelViews | typeof isModel>;
959
+ declare const isValidatableAstNode: (n: AstNode) => n is Guarded<typeof isRelation | typeof isLikeC4View | typeof isExtendElement | typeof isElement | typeof isDynamicViewPredicateIterator | typeof isElementPredicateWith | typeof isRelationPredicateWith | typeof isElementExpression | typeof isRelationExpression | typeof isDynamicViewParallelSteps | typeof isDynamicViewStep | typeof isViewProperty | typeof isStyleProperty | typeof isTags | typeof isViewRule | typeof isDynamicViewRule | typeof isElementViewBody | typeof isDynamicViewBody | typeof isRelationProperty | typeof isRelationBody | typeof isElementProperty | typeof isElementBody | typeof isExtendElementBody | typeof isSpecificationElementKind | typeof isSpecificationRelationshipKind | typeof isSpecificationTag | typeof isSpecificationColor | typeof isSpecificationRule | typeof isModelViews | typeof isModel>;
959
960
  type ValidatableAstNode = Guarded<typeof isValidatableAstNode>;
960
961
  declare function checksFromDiagnostics(doc: LikeC4LangiumDocument): {
961
962
  isValid: (n: ValidatableAstNode) => boolean;
@@ -1087,11 +1088,15 @@ declare class LikeC4ModelParser {
1087
1088
  private parseRelationPredicateWith;
1088
1089
  private parseRelationExpr;
1089
1090
  private parseViewRule;
1091
+ private parseViewRuleStyle;
1092
+ private parseRuleStyle;
1090
1093
  private parseViewManualLaout;
1091
1094
  private parseDynamicParallelSteps;
1092
1095
  private parseDynamicStep;
1093
1096
  private parseElementView;
1094
1097
  private parseDynamicElementView;
1098
+ private parseDynamicViewRule;
1099
+ private parseDynamicViewIncludePredicate;
1095
1100
  protected resolveFqn(node: Element | ExtendElement): c4.Fqn;
1096
1101
  private getAstNodePath;
1097
1102
  private getMetadata;