@likec4/language-server 1.9.0 → 1.10.1

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 (52) hide show
  1. package/contrib/likec4.tmLanguage.json +1 -1
  2. package/dist/browser.cjs +1 -1
  3. package/dist/browser.d.cts +3 -4
  4. package/dist/browser.d.mts +3 -4
  5. package/dist/browser.d.ts +3 -4
  6. package/dist/browser.mjs +1 -1
  7. package/dist/index.cjs +1 -1
  8. package/dist/index.d.cts +2 -2
  9. package/dist/index.d.mts +2 -2
  10. package/dist/index.d.ts +2 -2
  11. package/dist/index.mjs +1 -1
  12. package/dist/model-graph/index.cjs +1 -1
  13. package/dist/model-graph/index.mjs +1 -1
  14. package/dist/node.cjs +1 -1
  15. package/dist/node.d.cts +3 -4
  16. package/dist/node.d.mts +3 -4
  17. package/dist/node.d.ts +3 -4
  18. package/dist/node.mjs +1 -1
  19. package/dist/shared/{language-server.Q-wtPShM.mjs → language-server.BFBeyvV8.mjs} +486 -108
  20. package/dist/shared/{language-server.86lmJ8ZN.d.cts → language-server.BGy3FJPJ.d.cts} +43 -14
  21. package/dist/shared/{language-server.B1TZgyoH.cjs → language-server.Bfc-5M8A.cjs} +482 -104
  22. package/dist/shared/{language-server.CCB4ESN5.mjs → language-server.CbqwHp7Q.mjs} +184 -120
  23. package/dist/shared/{language-server.RjhrBZS0.d.ts → language-server.CnVuAxDh.d.ts} +43 -14
  24. package/dist/shared/{language-server.CFTY6j4e.d.mts → language-server.DEK39RmI.d.mts} +43 -14
  25. package/dist/shared/{language-server.D0bOlrCi.cjs → language-server.DJhoJBWh.cjs} +180 -116
  26. package/package.json +13 -11
  27. package/src/ast.ts +8 -6
  28. package/src/formatting/LikeC4Formatter.ts +390 -0
  29. package/src/formatting/utils.ts +26 -0
  30. package/src/generated/ast.ts +203 -11
  31. package/src/generated/grammar.ts +2 -2
  32. package/src/generated/module.ts +1 -1
  33. package/src/like-c4.langium +34 -7
  34. package/src/lsp/CompletionProvider.ts +1 -1
  35. package/src/lsp/DocumentLinkProvider.ts +27 -15
  36. package/src/lsp/SemanticTokenProvider.ts +1 -1
  37. package/src/lsp/index.ts +1 -1
  38. package/src/model/fqn-index.ts +0 -1
  39. package/src/model/model-builder.ts +43 -32
  40. package/src/model/model-parser.ts +43 -21
  41. package/src/model-graph/compute-view/compute.ts +111 -80
  42. package/src/model-graph/compute-view/predicates.ts +3 -5
  43. package/src/model-graph/dynamic-view/compute.ts +96 -60
  44. package/src/model-graph/utils/buildElementNotations.ts +1 -1
  45. package/src/model-graph/utils/uniqueTags.test.ts +42 -0
  46. package/src/model-graph/utils/uniqueTags.ts +19 -0
  47. package/src/module.ts +6 -9
  48. package/src/test/testServices.ts +27 -7
  49. package/src/validation/index.ts +2 -1
  50. package/src/validation/property-checks.ts +13 -1
  51. package/src/validation/specification.ts +3 -3
  52. package/src/view-utils/resolve-relative-paths.ts +14 -17
@@ -12,7 +12,7 @@
12
12
  },
13
13
  {
14
14
  "name": "keyword.control.likec4",
15
- "match": "\\b(BottomTop|LeftRight|RightLeft|TopBottom|amber|and|autoLayout|blue|border|browser|color|crow|cylinder|dashed|description|diamond|dot|dotted|dynamic|element|element\\.kind|element\\.tag|exclude|extend|extends|gray|green|head|icon|icons|include|indigo|is|kind|likec4lib|line|link|metadata|mobile|model|muted|navigateTo|none|normal|not|notation|odiamond|odot|of|onormal|opacity|open|or|person|primary|queue|rectangle|red|relationship|secondary|shape|sky|slate|solid|specification|storage|style|tag|tail|technology|title|vee|view|views|where|with)\\b"
15
+ "match": "\\b(BottomTop|LeftRight|RightLeft|TopBottom|amber|and|autoLayout|blue|border|browser|color|crow|cylinder|dashed|description|diamond|dot|dotted|dynamic|element|element\\.kind|element\\.tag|exclude|extend|extends|gray|green|head|icon|icons|include|indigo|is|kind|likec4lib|line|link|metadata|mobile|model|muted|navigateTo|none|normal|not|notation|notes|odiamond|odot|of|onormal|opacity|open|or|par|parallel|person|primary|queue|rectangle|red|relationship|secondary|shape|sky|slate|solid|specification|storage|style|tag|tail|technology|title|vee|view|views|where|with)\\b"
16
16
  },
17
17
  {
18
18
  "name": "string.quoted.double.likec4",
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.B1TZgyoH.cjs');
5
+ const module$1 = require('./shared/language-server.Bfc-5M8A.cjs');
6
6
 
7
7
  function startLanguageServer() {
8
8
  const messageReader = new browser.BrowserMessageReader(self);
@@ -1,18 +1,17 @@
1
- import { i as LikeC4SharedServices, a as LikeC4Services } from './shared/language-server.86lmJ8ZN.cjs';
2
- import * as vscode_languageserver_browser from 'vscode-languageserver/browser';
1
+ import { i as LikeC4SharedServices, a as LikeC4Services } from './shared/language-server.BGy3FJPJ.cjs';
2
+ import * as vscode_languageserver from 'vscode-languageserver';
3
3
  import { BrowserMessageReader, BrowserMessageWriter } from 'vscode-languageserver/browser';
4
4
  import '@likec4/core';
5
5
  import 'langium';
6
6
  import 'type-fest';
7
7
  import 'vscode-languageserver-types';
8
8
  import 'langium/lsp';
9
- import 'vscode-languageserver';
10
9
  import './protocol.cjs';
11
10
  import 'vscode-jsonrpc';
12
11
  import 'vscode-uri';
13
12
 
14
13
  declare function startLanguageServer(): {
15
- connection: vscode_languageserver_browser.Connection;
14
+ connection: vscode_languageserver.Connection;
16
15
  messageReader: BrowserMessageReader;
17
16
  messageWriter: BrowserMessageWriter;
18
17
  shared: LikeC4SharedServices;
@@ -1,18 +1,17 @@
1
- import { i as LikeC4SharedServices, a as LikeC4Services } from './shared/language-server.CFTY6j4e.mjs';
2
- import * as vscode_languageserver_browser from 'vscode-languageserver/browser';
1
+ import { i as LikeC4SharedServices, a as LikeC4Services } from './shared/language-server.DEK39RmI.mjs';
2
+ import * as vscode_languageserver from 'vscode-languageserver';
3
3
  import { BrowserMessageReader, BrowserMessageWriter } from 'vscode-languageserver/browser';
4
4
  import '@likec4/core';
5
5
  import 'langium';
6
6
  import 'type-fest';
7
7
  import 'vscode-languageserver-types';
8
8
  import 'langium/lsp';
9
- import 'vscode-languageserver';
10
9
  import './protocol.mjs';
11
10
  import 'vscode-jsonrpc';
12
11
  import 'vscode-uri';
13
12
 
14
13
  declare function startLanguageServer(): {
15
- connection: vscode_languageserver_browser.Connection;
14
+ connection: vscode_languageserver.Connection;
16
15
  messageReader: BrowserMessageReader;
17
16
  messageWriter: BrowserMessageWriter;
18
17
  shared: LikeC4SharedServices;
package/dist/browser.d.ts CHANGED
@@ -1,18 +1,17 @@
1
- import { i as LikeC4SharedServices, a as LikeC4Services } from './shared/language-server.RjhrBZS0.js';
2
- import * as vscode_languageserver_browser from 'vscode-languageserver/browser';
1
+ import { i as LikeC4SharedServices, a as LikeC4Services } from './shared/language-server.CnVuAxDh.js';
2
+ import * as vscode_languageserver from 'vscode-languageserver';
3
3
  import { BrowserMessageReader, BrowserMessageWriter } from 'vscode-languageserver/browser';
4
4
  import '@likec4/core';
5
5
  import 'langium';
6
6
  import 'type-fest';
7
7
  import 'vscode-languageserver-types';
8
8
  import 'langium/lsp';
9
- import 'vscode-languageserver';
10
9
  import './protocol.js';
11
10
  import 'vscode-jsonrpc';
12
11
  import 'vscode-uri';
13
12
 
14
13
  declare function startLanguageServer(): {
15
- connection: vscode_languageserver_browser.Connection;
14
+ connection: vscode_languageserver.Connection;
16
15
  messageReader: BrowserMessageReader;
17
16
  messageWriter: BrowserMessageWriter;
18
17
  shared: LikeC4SharedServices;
package/dist/browser.mjs CHANGED
@@ -1,6 +1,6 @@
1
1
  import { startLanguageServer as startLanguageServer$1 } from 'langium/lsp';
2
2
  import { BrowserMessageReader, BrowserMessageWriter, createConnection } from 'vscode-languageserver/browser';
3
- import { a as createLanguageServices } from './shared/language-server.Q-wtPShM.mjs';
3
+ import { a as createLanguageServices } from './shared/language-server.BFBeyvV8.mjs';
4
4
 
5
5
  function startLanguageServer() {
6
6
  const messageReader = new BrowserMessageReader(self);
package/dist/index.cjs CHANGED
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- const module$1 = require('./shared/language-server.B1TZgyoH.cjs');
3
+ const module$1 = require('./shared/language-server.Bfc-5M8A.cjs');
4
4
 
5
5
 
6
6
 
package/dist/index.d.cts CHANGED
@@ -1,6 +1,6 @@
1
1
  import { LogLevels } from '@likec4/log';
2
- import { L as LikeC4LangiumDocument, a as LikeC4Services } from './shared/language-server.86lmJ8ZN.cjs';
3
- export { e as FqnIndex, F as FqnIndexEntry, I as IsValidFn, k as LanguageServicesContext, j as LikeC4AddedServices, f as LikeC4ModelBuilder, g as LikeC4ModelLocator, h as LikeC4ModelParser, d as LikeC4Module, i as LikeC4SharedServices, M as ModelParsedListener, c as createCustomLanguageServices, b as createLanguageServices, l as createSharedServices } from './shared/language-server.86lmJ8ZN.cjs';
2
+ import { L as LikeC4LangiumDocument, a as LikeC4Services } from './shared/language-server.BGy3FJPJ.cjs';
3
+ export { e as FqnIndex, F as FqnIndexEntry, I as IsValidFn, k as LanguageServicesContext, j as LikeC4AddedServices, f as LikeC4ModelBuilder, g as LikeC4ModelLocator, h as LikeC4ModelParser, d as LikeC4Module, i as LikeC4SharedServices, M as ModelParsedListener, c as createCustomLanguageServices, b as createLanguageServices, l as createSharedServices } from './shared/language-server.BGy3FJPJ.cjs';
4
4
  import '@likec4/core';
5
5
  import 'langium';
6
6
  import 'type-fest';
package/dist/index.d.mts CHANGED
@@ -1,6 +1,6 @@
1
1
  import { LogLevels } from '@likec4/log';
2
- import { L as LikeC4LangiumDocument, a as LikeC4Services } from './shared/language-server.CFTY6j4e.mjs';
3
- export { e as FqnIndex, F as FqnIndexEntry, I as IsValidFn, k as LanguageServicesContext, j as LikeC4AddedServices, f as LikeC4ModelBuilder, g as LikeC4ModelLocator, h as LikeC4ModelParser, d as LikeC4Module, i as LikeC4SharedServices, M as ModelParsedListener, c as createCustomLanguageServices, b as createLanguageServices, l as createSharedServices } from './shared/language-server.CFTY6j4e.mjs';
2
+ import { L as LikeC4LangiumDocument, a as LikeC4Services } from './shared/language-server.DEK39RmI.mjs';
3
+ export { e as FqnIndex, F as FqnIndexEntry, I as IsValidFn, k as LanguageServicesContext, j as LikeC4AddedServices, f as LikeC4ModelBuilder, g as LikeC4ModelLocator, h as LikeC4ModelParser, d as LikeC4Module, i as LikeC4SharedServices, M as ModelParsedListener, c as createCustomLanguageServices, b as createLanguageServices, l as createSharedServices } from './shared/language-server.DEK39RmI.mjs';
4
4
  import '@likec4/core';
5
5
  import 'langium';
6
6
  import 'type-fest';
package/dist/index.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import { LogLevels } from '@likec4/log';
2
- import { L as LikeC4LangiumDocument, a as LikeC4Services } from './shared/language-server.RjhrBZS0.js';
3
- export { e as FqnIndex, F as FqnIndexEntry, I as IsValidFn, k as LanguageServicesContext, j as LikeC4AddedServices, f as LikeC4ModelBuilder, g as LikeC4ModelLocator, h as LikeC4ModelParser, d as LikeC4Module, i as LikeC4SharedServices, M as ModelParsedListener, c as createCustomLanguageServices, b as createLanguageServices, l as createSharedServices } from './shared/language-server.RjhrBZS0.js';
2
+ import { L as LikeC4LangiumDocument, a as LikeC4Services } from './shared/language-server.CnVuAxDh.js';
3
+ export { e as FqnIndex, F as FqnIndexEntry, I as IsValidFn, k as LanguageServicesContext, j as LikeC4AddedServices, f as LikeC4ModelBuilder, g as LikeC4ModelLocator, h as LikeC4ModelParser, d as LikeC4Module, i as LikeC4SharedServices, M as ModelParsedListener, c as createCustomLanguageServices, b as createLanguageServices, l as createSharedServices } from './shared/language-server.CnVuAxDh.js';
4
4
  import '@likec4/core';
5
5
  import 'langium';
6
6
  import 'type-fest';
package/dist/index.mjs CHANGED
@@ -1 +1 @@
1
- export { L as LikeC4Module, c as createCustomLanguageServices, a as createLanguageServices, s as setLogLevel } from './shared/language-server.Q-wtPShM.mjs';
1
+ export { L as LikeC4Module, c as createCustomLanguageServices, a as createLanguageServices, s as setLogLevel } from './shared/language-server.BFBeyvV8.mjs';
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- const LikeC4ModelGraph = require('../shared/language-server.D0bOlrCi.cjs');
3
+ const LikeC4ModelGraph = require('../shared/language-server.DJhoJBWh.cjs');
4
4
 
5
5
 
6
6
 
@@ -1 +1 @@
1
- export { L as LikeC4ModelGraph, b as computeDynamicView, c as computeElementView, a as computeView } from '../shared/language-server.CCB4ESN5.mjs';
1
+ export { L as LikeC4ModelGraph, b as computeDynamicView, c as computeElementView, a as computeView } from '../shared/language-server.CbqwHp7Q.mjs';
package/dist/node.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.B1TZgyoH.cjs');
6
+ const module$1 = require('./shared/language-server.Bfc-5M8A.cjs');
7
7
 
8
8
  function startLanguageServer() {
9
9
  const connection = node.createConnection(node.ProposedFeatures.all);
package/dist/node.d.cts CHANGED
@@ -1,18 +1,17 @@
1
- import { i as LikeC4SharedServices, a as LikeC4Services } from './shared/language-server.86lmJ8ZN.cjs';
1
+ import { i as LikeC4SharedServices, a as LikeC4Services } from './shared/language-server.BGy3FJPJ.cjs';
2
2
  import * as vscode_languageserver_lib_common_inlineCompletion_proposed from 'vscode-languageserver/lib/common/inlineCompletion.proposed';
3
- import * as vscode_languageserver_node from 'vscode-languageserver/node';
3
+ import * as vscode_languageserver from 'vscode-languageserver';
4
4
  import '@likec4/core';
5
5
  import 'langium';
6
6
  import 'type-fest';
7
7
  import 'vscode-languageserver-types';
8
8
  import 'langium/lsp';
9
- import 'vscode-languageserver';
10
9
  import './protocol.cjs';
11
10
  import 'vscode-jsonrpc';
12
11
  import 'vscode-uri';
13
12
 
14
13
  declare function startLanguageServer(): {
15
- connection: vscode_languageserver_node._Connection<vscode_languageserver_node._, vscode_languageserver_node._, vscode_languageserver_node._, vscode_languageserver_node._, vscode_languageserver_node._, vscode_languageserver_node._, vscode_languageserver_lib_common_inlineCompletion_proposed.InlineCompletionFeatureShape, vscode_languageserver_node._>;
14
+ connection: vscode_languageserver._Connection<vscode_languageserver._, vscode_languageserver._, vscode_languageserver._, vscode_languageserver._, vscode_languageserver._, vscode_languageserver._, vscode_languageserver_lib_common_inlineCompletion_proposed.InlineCompletionFeatureShape, vscode_languageserver._>;
16
15
  shared: LikeC4SharedServices;
17
16
  likec4: LikeC4Services;
18
17
  };
package/dist/node.d.mts CHANGED
@@ -1,18 +1,17 @@
1
- import { i as LikeC4SharedServices, a as LikeC4Services } from './shared/language-server.CFTY6j4e.mjs';
1
+ import { i as LikeC4SharedServices, a as LikeC4Services } from './shared/language-server.DEK39RmI.mjs';
2
2
  import * as vscode_languageserver_lib_common_inlineCompletion_proposed from 'vscode-languageserver/lib/common/inlineCompletion.proposed';
3
- import * as vscode_languageserver_node from 'vscode-languageserver/node';
3
+ import * as vscode_languageserver from 'vscode-languageserver';
4
4
  import '@likec4/core';
5
5
  import 'langium';
6
6
  import 'type-fest';
7
7
  import 'vscode-languageserver-types';
8
8
  import 'langium/lsp';
9
- import 'vscode-languageserver';
10
9
  import './protocol.mjs';
11
10
  import 'vscode-jsonrpc';
12
11
  import 'vscode-uri';
13
12
 
14
13
  declare function startLanguageServer(): {
15
- connection: vscode_languageserver_node._Connection<vscode_languageserver_node._, vscode_languageserver_node._, vscode_languageserver_node._, vscode_languageserver_node._, vscode_languageserver_node._, vscode_languageserver_node._, vscode_languageserver_lib_common_inlineCompletion_proposed.InlineCompletionFeatureShape, vscode_languageserver_node._>;
14
+ connection: vscode_languageserver._Connection<vscode_languageserver._, vscode_languageserver._, vscode_languageserver._, vscode_languageserver._, vscode_languageserver._, vscode_languageserver._, vscode_languageserver_lib_common_inlineCompletion_proposed.InlineCompletionFeatureShape, vscode_languageserver._>;
16
15
  shared: LikeC4SharedServices;
17
16
  likec4: LikeC4Services;
18
17
  };
package/dist/node.d.ts CHANGED
@@ -1,18 +1,17 @@
1
- import { i as LikeC4SharedServices, a as LikeC4Services } from './shared/language-server.RjhrBZS0.js';
1
+ import { i as LikeC4SharedServices, a as LikeC4Services } from './shared/language-server.CnVuAxDh.js';
2
2
  import * as vscode_languageserver_lib_common_inlineCompletion_proposed from 'vscode-languageserver/lib/common/inlineCompletion.proposed';
3
- import * as vscode_languageserver_node from 'vscode-languageserver/node';
3
+ import * as vscode_languageserver from 'vscode-languageserver';
4
4
  import '@likec4/core';
5
5
  import 'langium';
6
6
  import 'type-fest';
7
7
  import 'vscode-languageserver-types';
8
8
  import 'langium/lsp';
9
- import 'vscode-languageserver';
10
9
  import './protocol.js';
11
10
  import 'vscode-jsonrpc';
12
11
  import 'vscode-uri';
13
12
 
14
13
  declare function startLanguageServer(): {
15
- connection: vscode_languageserver_node._Connection<vscode_languageserver_node._, vscode_languageserver_node._, vscode_languageserver_node._, vscode_languageserver_node._, vscode_languageserver_node._, vscode_languageserver_node._, vscode_languageserver_lib_common_inlineCompletion_proposed.InlineCompletionFeatureShape, vscode_languageserver_node._>;
14
+ connection: vscode_languageserver._Connection<vscode_languageserver._, vscode_languageserver._, vscode_languageserver._, vscode_languageserver._, vscode_languageserver._, vscode_languageserver._, vscode_languageserver_lib_common_inlineCompletion_proposed.InlineCompletionFeatureShape, vscode_languageserver._>;
16
15
  shared: LikeC4SharedServices;
17
16
  likec4: LikeC4Services;
18
17
  };
package/dist/node.mjs CHANGED
@@ -1,7 +1,7 @@
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 { a as createLanguageServices } from './shared/language-server.Q-wtPShM.mjs';
4
+ import { a as createLanguageServices } from './shared/language-server.BFBeyvV8.mjs';
5
5
 
6
6
  function startLanguageServer() {
7
7
  const connection = createConnection(ProposedFeatures.all);