@likec4/language-server 1.8.1 → 1.10.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 (85) hide show
  1. package/contrib/likec4.tmLanguage.json +1 -1
  2. package/dist/browser.cjs +21 -0
  3. package/dist/browser.d.cts +22 -0
  4. package/dist/browser.d.mts +22 -0
  5. package/dist/browser.d.ts +22 -0
  6. package/dist/browser.mjs +19 -0
  7. package/dist/index.cjs +10 -0
  8. package/dist/index.d.cts +18 -0
  9. package/dist/index.d.mts +18 -0
  10. package/dist/index.d.ts +18 -0
  11. package/dist/index.mjs +1 -0
  12. package/dist/likec4lib.cjs +961 -0
  13. package/dist/likec4lib.d.cts +6 -0
  14. package/dist/likec4lib.d.mts +6 -0
  15. package/dist/likec4lib.d.ts +6 -0
  16. package/dist/likec4lib.mjs +957 -0
  17. package/dist/model-graph/index.cjs +10 -0
  18. package/dist/model-graph/index.d.cts +79 -0
  19. package/dist/model-graph/index.d.mts +79 -0
  20. package/dist/model-graph/index.d.ts +79 -0
  21. package/dist/model-graph/index.mjs +1 -0
  22. package/dist/node.cjs +18 -0
  23. package/dist/node.d.cts +20 -0
  24. package/dist/node.d.mts +20 -0
  25. package/dist/node.d.ts +20 -0
  26. package/dist/node.mjs +16 -0
  27. package/dist/protocol.cjs +25 -0
  28. package/dist/protocol.d.cts +43 -0
  29. package/dist/protocol.d.mts +43 -0
  30. package/dist/protocol.d.ts +43 -0
  31. package/dist/protocol.mjs +17 -0
  32. package/dist/shared/language-server.CjFzaJwI.d.cts +1223 -0
  33. package/dist/shared/language-server.CtKHXJDD.d.ts +1223 -0
  34. package/dist/shared/language-server.D-84I33F.d.mts +1223 -0
  35. package/dist/shared/language-server.DBJJUUgF.mjs +5737 -0
  36. package/dist/shared/language-server.DtBRb9os.mjs +1656 -0
  37. package/dist/shared/language-server.DwyCJvXm.cjs +1669 -0
  38. package/dist/shared/language-server.JWkqVjGv.cjs +5748 -0
  39. package/package.json +36 -20
  40. package/src/ast.ts +48 -36
  41. package/src/browser.ts +0 -3
  42. package/src/elementRef.ts +1 -1
  43. package/src/formatting/LikeC4Formatter.ts +388 -0
  44. package/src/formatting/utils.ts +26 -0
  45. package/src/generated/ast.ts +170 -12
  46. package/src/generated/grammar.ts +1 -1
  47. package/src/generated-lib/icons.ts +1 -1
  48. package/src/like-c4.langium +49 -8
  49. package/src/likec4lib.ts +2 -3
  50. package/src/logger.ts +9 -1
  51. package/src/lsp/DocumentLinkProvider.ts +27 -15
  52. package/src/lsp/RenameProvider.ts +8 -0
  53. package/src/lsp/SemanticTokenProvider.ts +20 -2
  54. package/src/lsp/index.ts +1 -0
  55. package/src/model/fqn-computation.ts +33 -23
  56. package/src/model/fqn-index.ts +5 -21
  57. package/src/model/model-builder.ts +180 -112
  58. package/src/model/model-locator.ts +1 -1
  59. package/src/model/model-parser-where.ts +3 -2
  60. package/src/model/model-parser.ts +99 -39
  61. package/src/model-graph/LikeC4ModelGraph.ts +42 -21
  62. package/src/model-graph/compute-view/__test__/fixture.ts +16 -14
  63. package/src/model-graph/compute-view/compute.ts +110 -81
  64. package/src/model-graph/compute-view/predicates.ts +6 -8
  65. package/src/model-graph/dynamic-view/__test__/fixture.ts +1 -0
  66. package/src/model-graph/dynamic-view/compute.ts +98 -61
  67. package/src/model-graph/utils/buildElementNotations.ts +1 -1
  68. package/src/model-graph/utils/elementExpressionToPredicate.ts +1 -1
  69. package/src/model-graph/utils/sortNodes.ts +2 -6
  70. package/src/module.ts +21 -4
  71. package/src/protocol.ts +4 -5
  72. package/src/references/scope-computation.ts +10 -1
  73. package/src/references/scope-provider.ts +2 -1
  74. package/src/shared/NodeKindProvider.ts +73 -34
  75. package/src/test/setup.ts +3 -8
  76. package/src/test/testServices.ts +27 -7
  77. package/src/utils/graphlib.ts +11 -0
  78. package/src/validation/index.ts +2 -1
  79. package/src/validation/property-checks.ts +13 -1
  80. package/src/validation/specification.ts +3 -3
  81. package/src/view-utils/manual-layout.ts +1 -1
  82. package/src/view-utils/resolve-extended-views.ts +19 -10
  83. package/src/view-utils/resolve-relative-paths.ts +19 -24
  84. package/src/view-utils/view-hash.ts +1 -1
  85. package/src/reset.d.ts +0 -2
@@ -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",
@@ -0,0 +1,21 @@
1
+ 'use strict';
2
+
3
+ const lsp = require('langium/lsp');
4
+ const browser = require('vscode-languageserver/browser');
5
+ const module$1 = require('./shared/language-server.JWkqVjGv.cjs');
6
+
7
+ function startLanguageServer() {
8
+ const messageReader = new browser.BrowserMessageReader(self);
9
+ const messageWriter = new browser.BrowserMessageWriter(self);
10
+ const connection = browser.createConnection(messageReader, messageWriter);
11
+ const services = module$1.createLanguageServices({ connection });
12
+ lsp.startLanguageServer(services.shared);
13
+ return {
14
+ ...services,
15
+ connection,
16
+ messageReader,
17
+ messageWriter
18
+ };
19
+ }
20
+
21
+ exports.startLanguageServer = startLanguageServer;
@@ -0,0 +1,22 @@
1
+ import { i as LikeC4SharedServices, a as LikeC4Services } from './shared/language-server.CjFzaJwI.cjs';
2
+ import * as vscode_languageserver_browser from 'vscode-languageserver/browser';
3
+ import { BrowserMessageReader, BrowserMessageWriter } from 'vscode-languageserver/browser';
4
+ import '@likec4/core';
5
+ import 'langium';
6
+ import 'type-fest';
7
+ import 'vscode-languageserver-types';
8
+ import 'langium/lsp';
9
+ import 'vscode-languageserver';
10
+ import './protocol.cjs';
11
+ import 'vscode-jsonrpc';
12
+ import 'vscode-uri';
13
+
14
+ declare function startLanguageServer(): {
15
+ connection: vscode_languageserver_browser.Connection;
16
+ messageReader: BrowserMessageReader;
17
+ messageWriter: BrowserMessageWriter;
18
+ shared: LikeC4SharedServices;
19
+ likec4: LikeC4Services;
20
+ };
21
+
22
+ export { startLanguageServer };
@@ -0,0 +1,22 @@
1
+ import { i as LikeC4SharedServices, a as LikeC4Services } from './shared/language-server.D-84I33F.mjs';
2
+ import * as vscode_languageserver_browser from 'vscode-languageserver/browser';
3
+ import { BrowserMessageReader, BrowserMessageWriter } from 'vscode-languageserver/browser';
4
+ import '@likec4/core';
5
+ import 'langium';
6
+ import 'type-fest';
7
+ import 'vscode-languageserver-types';
8
+ import 'langium/lsp';
9
+ import 'vscode-languageserver';
10
+ import './protocol.mjs';
11
+ import 'vscode-jsonrpc';
12
+ import 'vscode-uri';
13
+
14
+ declare function startLanguageServer(): {
15
+ connection: vscode_languageserver_browser.Connection;
16
+ messageReader: BrowserMessageReader;
17
+ messageWriter: BrowserMessageWriter;
18
+ shared: LikeC4SharedServices;
19
+ likec4: LikeC4Services;
20
+ };
21
+
22
+ export { startLanguageServer };
@@ -0,0 +1,22 @@
1
+ import { i as LikeC4SharedServices, a as LikeC4Services } from './shared/language-server.CtKHXJDD.js';
2
+ import * as vscode_languageserver_browser from 'vscode-languageserver/browser';
3
+ import { BrowserMessageReader, BrowserMessageWriter } from 'vscode-languageserver/browser';
4
+ import '@likec4/core';
5
+ import 'langium';
6
+ import 'type-fest';
7
+ import 'vscode-languageserver-types';
8
+ import 'langium/lsp';
9
+ import 'vscode-languageserver';
10
+ import './protocol.js';
11
+ import 'vscode-jsonrpc';
12
+ import 'vscode-uri';
13
+
14
+ declare function startLanguageServer(): {
15
+ connection: vscode_languageserver_browser.Connection;
16
+ messageReader: BrowserMessageReader;
17
+ messageWriter: BrowserMessageWriter;
18
+ shared: LikeC4SharedServices;
19
+ likec4: LikeC4Services;
20
+ };
21
+
22
+ export { startLanguageServer };
@@ -0,0 +1,19 @@
1
+ import { startLanguageServer as startLanguageServer$1 } from 'langium/lsp';
2
+ import { BrowserMessageReader, BrowserMessageWriter, createConnection } from 'vscode-languageserver/browser';
3
+ import { a as createLanguageServices } from './shared/language-server.DBJJUUgF.mjs';
4
+
5
+ function startLanguageServer() {
6
+ const messageReader = new BrowserMessageReader(self);
7
+ const messageWriter = new BrowserMessageWriter(self);
8
+ const connection = createConnection(messageReader, messageWriter);
9
+ const services = createLanguageServices({ connection });
10
+ startLanguageServer$1(services.shared);
11
+ return {
12
+ ...services,
13
+ connection,
14
+ messageReader,
15
+ messageWriter
16
+ };
17
+ }
18
+
19
+ export { startLanguageServer };
package/dist/index.cjs ADDED
@@ -0,0 +1,10 @@
1
+ 'use strict';
2
+
3
+ const module$1 = require('./shared/language-server.JWkqVjGv.cjs');
4
+
5
+
6
+
7
+ exports.LikeC4Module = module$1.LikeC4Module;
8
+ exports.createCustomLanguageServices = module$1.createCustomLanguageServices;
9
+ exports.createLanguageServices = module$1.createLanguageServices;
10
+ exports.setLogLevel = module$1.setLogLevel;
@@ -0,0 +1,18 @@
1
+ import { LogLevels } from '@likec4/log';
2
+ import { L as LikeC4LangiumDocument, a as LikeC4Services } from './shared/language-server.CjFzaJwI.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.CjFzaJwI.cjs';
4
+ import '@likec4/core';
5
+ import 'langium';
6
+ import 'type-fest';
7
+ import 'vscode-languageserver-types';
8
+ import 'langium/lsp';
9
+ import 'vscode-languageserver';
10
+ import './protocol.cjs';
11
+ import 'vscode-jsonrpc';
12
+ import 'vscode-uri';
13
+
14
+ declare function setLogLevel(level: keyof typeof LogLevels): void;
15
+
16
+ declare function computeDocumentFqn(document: LikeC4LangiumDocument, services: LikeC4Services): void;
17
+
18
+ export { LikeC4Services, computeDocumentFqn, setLogLevel };
@@ -0,0 +1,18 @@
1
+ import { LogLevels } from '@likec4/log';
2
+ import { L as LikeC4LangiumDocument, a as LikeC4Services } from './shared/language-server.D-84I33F.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.D-84I33F.mjs';
4
+ import '@likec4/core';
5
+ import 'langium';
6
+ import 'type-fest';
7
+ import 'vscode-languageserver-types';
8
+ import 'langium/lsp';
9
+ import 'vscode-languageserver';
10
+ import './protocol.mjs';
11
+ import 'vscode-jsonrpc';
12
+ import 'vscode-uri';
13
+
14
+ declare function setLogLevel(level: keyof typeof LogLevels): void;
15
+
16
+ declare function computeDocumentFqn(document: LikeC4LangiumDocument, services: LikeC4Services): void;
17
+
18
+ export { LikeC4Services, computeDocumentFqn, setLogLevel };
@@ -0,0 +1,18 @@
1
+ import { LogLevels } from '@likec4/log';
2
+ import { L as LikeC4LangiumDocument, a as LikeC4Services } from './shared/language-server.CtKHXJDD.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.CtKHXJDD.js';
4
+ import '@likec4/core';
5
+ import 'langium';
6
+ import 'type-fest';
7
+ import 'vscode-languageserver-types';
8
+ import 'langium/lsp';
9
+ import 'vscode-languageserver';
10
+ import './protocol.js';
11
+ import 'vscode-jsonrpc';
12
+ import 'vscode-uri';
13
+
14
+ declare function setLogLevel(level: keyof typeof LogLevels): void;
15
+
16
+ declare function computeDocumentFqn(document: LikeC4LangiumDocument, services: LikeC4Services): void;
17
+
18
+ export { LikeC4Services, computeDocumentFqn, setLogLevel };
package/dist/index.mjs ADDED
@@ -0,0 +1 @@
1
+ export { L as LikeC4Module, c as createCustomLanguageServices, a as createLanguageServices, s as setLogLevel } from './shared/language-server.DBJJUUgF.mjs';