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