@likec4/language-server 1.21.0 → 1.22.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 (114) hide show
  1. package/README.md +4 -1
  2. package/bin/likec4-language-server.mjs +5 -2
  3. package/dist/LikeC4FileSystem.js +2 -2
  4. package/dist/browser.d.ts +3 -3
  5. package/dist/browser.js +17 -2
  6. package/dist/bundled.d.ts +8 -0
  7. package/dist/bundled.js +25 -0
  8. package/dist/bundled.mjs +2587 -4306
  9. package/dist/generated-lib/icons.js +1 -0
  10. package/dist/index.d.ts +3 -3
  11. package/dist/index.js +23 -2
  12. package/dist/logger.d.ts +9 -3
  13. package/dist/logger.js +35 -55
  14. package/dist/model/fqn-computation.js +2 -2
  15. package/dist/model/model-builder.js +13 -14
  16. package/dist/model-change/ModelChanges.js +2 -2
  17. package/dist/module.js +1 -4
  18. package/dist/references/scope-provider.js +3 -3
  19. package/dist/view-utils/manual-layout.js +2 -2
  20. package/dist/views/configurable-layouter.js +4 -4
  21. package/dist/views/likec4-views.d.ts +2 -1
  22. package/dist/views/likec4-views.js +2 -2
  23. package/package.json +14 -14
  24. package/dist/test/setup.d.ts +0 -1
  25. package/dist/test/setup.js +0 -7
  26. package/src/LikeC4FileSystem.ts +0 -38
  27. package/src/Rpc.ts +0 -134
  28. package/src/ast.ts +0 -556
  29. package/src/browser.ts +0 -35
  30. package/src/documentation/documentation-provider.ts +0 -52
  31. package/src/documentation/index.ts +0 -1
  32. package/src/formatting/LikeC4Formatter.ts +0 -639
  33. package/src/formatting/utils.ts +0 -26
  34. package/src/generated/ast.ts +0 -3735
  35. package/src/generated/grammar.ts +0 -10
  36. package/src/generated/module.ts +0 -33
  37. package/src/generated-lib/icons.ts +0 -1537
  38. package/src/index.ts +0 -30
  39. package/src/like-c4.langium +0 -901
  40. package/src/likec4lib.ts +0 -6
  41. package/src/logger.ts +0 -80
  42. package/src/lsp/CodeLensProvider.ts +0 -50
  43. package/src/lsp/CompletionProvider.ts +0 -147
  44. package/src/lsp/DocumentHighlightProvider.ts +0 -12
  45. package/src/lsp/DocumentLinkProvider.ts +0 -65
  46. package/src/lsp/DocumentSymbolProvider.ts +0 -313
  47. package/src/lsp/HoverProvider.ts +0 -92
  48. package/src/lsp/RenameProvider.ts +0 -8
  49. package/src/lsp/SemanticTokenProvider.ts +0 -383
  50. package/src/lsp/index.ts +0 -8
  51. package/src/model/deployments-index.ts +0 -209
  52. package/src/model/fqn-computation.ts +0 -83
  53. package/src/model/fqn-index.ts +0 -138
  54. package/src/model/index.ts +0 -6
  55. package/src/model/model-builder.ts +0 -724
  56. package/src/model/model-locator.ts +0 -146
  57. package/src/model/model-parser-where.ts +0 -84
  58. package/src/model/model-parser.ts +0 -86
  59. package/src/model/parser/Base.ts +0 -113
  60. package/src/model/parser/DeploymentModelParser.ts +0 -192
  61. package/src/model/parser/DeploymentViewParser.ts +0 -122
  62. package/src/model/parser/FqnRefParser.ts +0 -143
  63. package/src/model/parser/GlobalsParser.ts +0 -96
  64. package/src/model/parser/ModelParser.ts +0 -170
  65. package/src/model/parser/PredicatesParser.ts +0 -315
  66. package/src/model/parser/SpecificationParser.ts +0 -133
  67. package/src/model/parser/ViewsParser.ts +0 -428
  68. package/src/model-change/ModelChanges.ts +0 -101
  69. package/src/model-change/changeElementStyle.ts +0 -172
  70. package/src/model-change/changeViewLayout.ts +0 -47
  71. package/src/model-change/saveManualLayout.ts +0 -41
  72. package/src/module.ts +0 -255
  73. package/src/protocol.ts +0 -93
  74. package/src/references/index.ts +0 -3
  75. package/src/references/name-provider.ts +0 -37
  76. package/src/references/scope-computation.ts +0 -364
  77. package/src/references/scope-provider.ts +0 -201
  78. package/src/shared/NodeKindProvider.ts +0 -121
  79. package/src/shared/WorkspaceManager.ts +0 -48
  80. package/src/shared/WorkspaceSymbolProvider.ts +0 -3
  81. package/src/shared/index.ts +0 -3
  82. package/src/test/index.ts +0 -1
  83. package/src/test/setup.ts +0 -8
  84. package/src/test/testServices.ts +0 -152
  85. package/src/utils/disposable.ts +0 -30
  86. package/src/utils/elementRef.ts +0 -26
  87. package/src/utils/fqnRef.ts +0 -56
  88. package/src/utils/index.ts +0 -2
  89. package/src/utils/printDocs.ts +0 -3
  90. package/src/utils/stringHash.ts +0 -6
  91. package/src/validation/_shared.ts +0 -29
  92. package/src/validation/deployment-checks.ts +0 -131
  93. package/src/validation/dynamic-view-rule.ts +0 -23
  94. package/src/validation/dynamic-view-step.ts +0 -36
  95. package/src/validation/element.ts +0 -56
  96. package/src/validation/index.ts +0 -171
  97. package/src/validation/property-checks.ts +0 -52
  98. package/src/validation/relation.ts +0 -63
  99. package/src/validation/specification.ts +0 -205
  100. package/src/validation/view-predicates/element-with.ts +0 -36
  101. package/src/validation/view-predicates/expanded-element.ts +0 -16
  102. package/src/validation/view-predicates/expression-v2.ts +0 -101
  103. package/src/validation/view-predicates/incoming.ts +0 -20
  104. package/src/validation/view-predicates/index.ts +0 -6
  105. package/src/validation/view-predicates/outgoing.ts +0 -20
  106. package/src/validation/view-predicates/relation-with.ts +0 -17
  107. package/src/validation/view.ts +0 -37
  108. package/src/view-utils/assignNavigateTo.ts +0 -31
  109. package/src/view-utils/index.ts +0 -2
  110. package/src/view-utils/manual-layout.ts +0 -116
  111. package/src/view-utils/resolve-relative-paths.ts +0 -90
  112. package/src/views/configurable-layouter.ts +0 -65
  113. package/src/views/index.ts +0 -1
  114. package/src/views/likec4-views.ts +0 -139
package/README.md CHANGED
@@ -20,5 +20,8 @@ Valid arguments:
20
20
 
21
21
  ```js
22
22
  import { startLanguageServer } from '@likec4/language-server/bundled';
23
- startLanguageServer();
23
+ startLanguageServer().catch((e) => {
24
+ console.error(e)
25
+ process.exit(1)
26
+ })
24
27
  ```
@@ -1,5 +1,8 @@
1
1
  #!/usr/bin/env node
2
2
 
3
- import { startLanguageServer } from '../dist/bundled.mjs'
3
+ import { startLanguageServer } from '../dist/bin.mjs'
4
4
 
5
- startLanguageServer()
5
+ startLanguageServer().catch((e) => {
6
+ console.error(e)
7
+ process.exit(1)
8
+ })
@@ -2,7 +2,7 @@ import { fdir } from "fdir";
2
2
  import { URI } from "langium";
3
3
  import { NodeFileSystemProvider } from "langium/node";
4
4
  import { LikeC4LanguageMetaData } from "./generated/module.js";
5
- import { logger } from "./logger.js";
5
+ import { logError } from "./logger.js";
6
6
  export const LikeC4FileSystem = {
7
7
  fileSystemProvider: () => new SymLinkTraversingFileSystemProvider()
8
8
  };
@@ -20,7 +20,7 @@ class SymLinkTraversingFileSystemProvider extends NodeFileSystemProvider {
20
20
  });
21
21
  }
22
22
  } catch (error) {
23
- logger.error(error);
23
+ logError(error);
24
24
  }
25
25
  return entries;
26
26
  }
package/dist/browser.d.ts CHANGED
@@ -1,10 +1,10 @@
1
1
  import { type LikeC4Services, type LikeC4SharedServices } from './module';
2
- export { logger as lspLogger, setLogLevel } from './logger';
2
+ export { logger as lspLogger } from './logger';
3
3
  export type { DocumentParser, LikeC4ModelBuilder, LikeC4ModelLocator, LikeC4ModelParser } from './model';
4
4
  export { createCustomLanguageServices, createLanguageServices, LikeC4Module } from './module';
5
5
  export type { LikeC4Services, LikeC4SharedServices } from './module';
6
6
  export type { LikeC4Views } from './views';
7
- export declare function startLanguageServer(): {
7
+ export declare function startLanguageServer(): Promise<{
8
8
  shared: LikeC4SharedServices;
9
9
  likec4: LikeC4Services;
10
- };
10
+ }>;
package/dist/browser.js CHANGED
@@ -1,12 +1,27 @@
1
+ import { configureLogger, getConsoleSink } from "@likec4/log";
1
2
  import { startLanguageServer as startLanguim } from "langium/lsp";
2
3
  import { BrowserMessageReader, BrowserMessageWriter, createConnection } from "vscode-languageserver/browser";
4
+ import { getLspConnectionSink } from "./logger.js";
3
5
  import { createLanguageServices } from "./module.js";
4
- export { logger as lspLogger, setLogLevel } from "./logger.js";
6
+ export { logger as lspLogger } from "./logger.js";
5
7
  export { createCustomLanguageServices, createLanguageServices, LikeC4Module } from "./module.js";
6
- export function startLanguageServer() {
8
+ export async function startLanguageServer() {
7
9
  const messageReader = new BrowserMessageReader(self);
8
10
  const messageWriter = new BrowserMessageWriter(self);
9
11
  const connection = createConnection(messageReader, messageWriter);
12
+ await configureLogger({
13
+ sinks: {
14
+ console: getConsoleSink(),
15
+ lsp: getLspConnectionSink(connection)
16
+ },
17
+ loggers: [
18
+ {
19
+ category: "likec4",
20
+ sinks: ["console", "lsp"],
21
+ lowestLevel: "debug"
22
+ }
23
+ ]
24
+ });
10
25
  const services = createLanguageServices({ connection });
11
26
  startLanguim(services.shared);
12
27
  return services;
@@ -0,0 +1,8 @@
1
+ import { type LikeC4Services, type LikeC4SharedServices } from './module';
2
+ /**
3
+ * This is used as `bin` entry point to start the language server.
4
+ */
5
+ export declare function startLanguageServer(): Promise<{
6
+ shared: LikeC4SharedServices;
7
+ likec4: LikeC4Services;
8
+ }>;
@@ -0,0 +1,25 @@
1
+ import { configureLogger, getConsoleSink } from "@likec4/log";
2
+ import { startLanguageServer as startLanguim } from "langium/lsp";
3
+ import { createConnection, ProposedFeatures } from "vscode-languageserver/node";
4
+ import { LikeC4FileSystem } from "./LikeC4FileSystem.js";
5
+ import { logger } from "./logger.js";
6
+ import { createCustomLanguageServices } from "./module.js";
7
+ import { ConfigurableLayouter } from "./views/configurable-layouter.js";
8
+ export async function startLanguageServer() {
9
+ const connection = createConnection(ProposedFeatures.all);
10
+ await configureLogger({
11
+ sinks: {
12
+ console: getConsoleSink()
13
+ },
14
+ loggers: [
15
+ {
16
+ category: ["likec4"],
17
+ sinks: ["console"]
18
+ }
19
+ ]
20
+ });
21
+ logger.info("Starting LikeC4 language server");
22
+ const services = createCustomLanguageServices({ connection, ...LikeC4FileSystem }, ConfigurableLayouter);
23
+ startLanguim(services.shared);
24
+ return services;
25
+ }