@likec4/language-server 1.11.0 → 1.12.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 (38) 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/likec4lib.cjs +589 -0
  12. package/dist/likec4lib.mjs +589 -0
  13. package/dist/model-graph/index.cjs +1 -1
  14. package/dist/model-graph/index.mjs +1 -1
  15. package/dist/shared/{language-server.DJhoJBWh.cjs → language-server.3Bh0zvVS.cjs} +10 -2
  16. package/dist/shared/{language-server.Cyw-bCtc.d.ts → language-server.B8Ce0R_D.d.ts} +5 -2
  17. package/dist/shared/language-server.BCDM5gt9.d.ts +1233 -0
  18. package/dist/shared/{language-server.C8lV6gDw.cjs → language-server.BH0brgLf.cjs} +98 -34
  19. package/dist/shared/language-server.BN7V1vQA.d.mts +1233 -0
  20. package/dist/shared/{language-server.CCOotWDz.mjs → language-server.BYjS7OIz.mjs} +100 -36
  21. package/dist/shared/{language-server.CbqwHp7Q.mjs → language-server.BxxqS4Id.mjs} +10 -2
  22. package/dist/shared/{language-server.DGjTE7xL.d.mts → language-server.CzkWpuWT.d.mts} +5 -2
  23. package/dist/shared/{language-server.Ol32Kygo.d.cts → language-server.DJAHXekh.d.cts} +5 -2
  24. package/dist/shared/language-server.DtLmc4Fz.d.cts +1233 -0
  25. package/package.json +11 -11
  26. package/src/ast.ts +23 -9
  27. package/src/formatting/LikeC4Formatter.ts +29 -12
  28. package/src/generated/ast.ts +9 -4
  29. package/src/generated/grammar.ts +1 -1
  30. package/src/generated-lib/icons.ts +589 -0
  31. package/src/like-c4.langium +8 -4
  32. package/src/lsp/CompletionProvider.ts +48 -1
  33. package/src/model/model-parser.ts +2 -6
  34. package/src/model-change/changeViewLayout.ts +15 -9
  35. package/src/model-graph/compute-view/compute.ts +5 -1
  36. package/src/model-graph/dynamic-view/compute.ts +5 -1
  37. package/src/test/testServices.ts +1 -1
  38. package/src/view-utils/manual-layout.ts +5 -2
@@ -860,7 +860,11 @@ class ComputeCtx {
860
860
  const elementNotations = buildElementNotations(nodes);
861
861
  return calcViewLayoutHash({
862
862
  ...view,
863
- autoLayout: autoLayoutRule?.autoLayout ?? "TB",
863
+ autoLayout: {
864
+ direction: autoLayoutRule?.direction ?? "TB",
865
+ ...autoLayoutRule?.nodeSep && { nodeSep: autoLayoutRule.nodeSep },
866
+ ...autoLayoutRule?.rankSep && { rankSep: autoLayoutRule.rankSep }
867
+ },
864
868
  nodes: map(nodes, omit(["notation"])),
865
869
  edges: applyCustomRelationProperties(rules, nodes, sortedEdges),
866
870
  ...elementNotations.length > 0 && {
@@ -1345,7 +1349,11 @@ class DynamicViewComputeCtx {
1345
1349
  const elementNotations = buildElementNotations(nodes);
1346
1350
  return calcViewLayoutHash({
1347
1351
  ...view,
1348
- autoLayout: autoLayoutRule?.autoLayout ?? "LR",
1352
+ autoLayout: {
1353
+ direction: autoLayoutRule?.direction ?? "LR",
1354
+ ...autoLayoutRule?.nodeSep && { nodeSep: autoLayoutRule.nodeSep },
1355
+ ...autoLayoutRule?.rankSep && { rankSep: autoLayoutRule.rankSep }
1356
+ },
1349
1357
  nodes: map(nodes, omit(["notation"])),
1350
1358
  edges,
1351
1359
  ...elementNotations.length > 0 && {
@@ -1,5 +1,5 @@
1
- import { LangiumDocument, ReferenceDescription, MaybePromise, AstNode, Reference, MultiMap, AstNodeDescription, DiagnosticInfo, LangiumDocuments, Stream, Cancellation, Disposable, URI, DefaultScopeComputation, PrecomputedScopes, DefaultScopeProvider, ReferenceInfo, Scope, DefaultWorkspaceManager, WorkspaceCache, Module } from 'langium';
2
- import { CodeLensProvider, DefaultCompletionProvider, DefaultDocumentHighlightProvider, DocumentLinkProvider, DocumentSymbolProvider, NodeKindProvider as NodeKindProvider$1, AstNodeHoverProvider, AbstractSemanticTokenProvider, SemanticTokenAcceptor, LangiumSharedServices, DefaultWorkspaceSymbolProvider, LangiumServices, PartialLangiumServices, DefaultSharedModuleContext } from 'langium/lsp';
1
+ import { LangiumDocument, GrammarAST, MaybePromise, ReferenceDescription, AstNode, Reference, MultiMap, AstNodeDescription, DiagnosticInfo, LangiumDocuments, Stream, Cancellation, Disposable, URI, DefaultScopeComputation, PrecomputedScopes, DefaultScopeProvider, ReferenceInfo, Scope, DefaultWorkspaceManager, WorkspaceCache, Module } from 'langium';
2
+ import { CodeLensProvider, DefaultCompletionProvider, CompletionContext, CompletionAcceptor, DefaultDocumentHighlightProvider, DocumentLinkProvider, DocumentSymbolProvider, NodeKindProvider as NodeKindProvider$1, AstNodeHoverProvider, AbstractSemanticTokenProvider, SemanticTokenAcceptor, LangiumSharedServices, DefaultWorkspaceSymbolProvider, LangiumServices, PartialLangiumServices, DefaultSharedModuleContext } from 'langium/lsp';
3
3
  import { CodeLensParams, CancellationToken, CodeLens, DocumentHighlight, DocumentLinkParams, DocumentLink, WorkspaceFolder } from 'vscode-languageserver';
4
4
  import { Diagnostic, DocumentSymbol, SymbolKind, Hover, Location, Range, TextEdit, CompletionItemKind } from 'vscode-languageserver-types';
5
5
  import * as c4 from '@likec4/core';
@@ -20,6 +20,7 @@ declare class LikeC4CompletionProvider extends DefaultCompletionProvider {
20
20
  readonly completionOptions: {
21
21
  triggerCharacters: string[];
22
22
  };
23
+ protected completionForKeyword(context: CompletionContext, keyword: GrammarAST.Keyword, acceptor: CompletionAcceptor): MaybePromise<void>;
23
24
  }
24
25
 
25
26
  declare class LikeC4DocumentHighlightProvider extends DefaultDocumentHighlightProvider {
@@ -644,6 +645,8 @@ interface ViewRuleAutoLayout extends AstNode {
644
645
  readonly $container: DynamicViewBody | ElementViewBody;
645
646
  readonly $type: 'ViewRuleAutoLayout';
646
647
  direction: ViewLayoutDirection;
648
+ nodeSep?: number;
649
+ rankSep?: number;
647
650
  }
648
651
  declare const ViewRuleAutoLayout = "ViewRuleAutoLayout";
649
652
  interface ViewRuleStyle extends AstNode {
@@ -1,5 +1,5 @@
1
- import { LangiumDocument, ReferenceDescription, MaybePromise, AstNode, Reference, MultiMap, AstNodeDescription, DiagnosticInfo, LangiumDocuments, Stream, Cancellation, Disposable, URI, DefaultScopeComputation, PrecomputedScopes, DefaultScopeProvider, ReferenceInfo, Scope, DefaultWorkspaceManager, WorkspaceCache, Module } from 'langium';
2
- import { CodeLensProvider, DefaultCompletionProvider, DefaultDocumentHighlightProvider, DocumentLinkProvider, DocumentSymbolProvider, NodeKindProvider as NodeKindProvider$1, AstNodeHoverProvider, AbstractSemanticTokenProvider, SemanticTokenAcceptor, LangiumSharedServices, DefaultWorkspaceSymbolProvider, LangiumServices, PartialLangiumServices, DefaultSharedModuleContext } from 'langium/lsp';
1
+ import { LangiumDocument, GrammarAST, MaybePromise, ReferenceDescription, AstNode, Reference, MultiMap, AstNodeDescription, DiagnosticInfo, LangiumDocuments, Stream, Cancellation, Disposable, URI, DefaultScopeComputation, PrecomputedScopes, DefaultScopeProvider, ReferenceInfo, Scope, DefaultWorkspaceManager, WorkspaceCache, Module } from 'langium';
2
+ import { CodeLensProvider, DefaultCompletionProvider, CompletionContext, CompletionAcceptor, DefaultDocumentHighlightProvider, DocumentLinkProvider, DocumentSymbolProvider, NodeKindProvider as NodeKindProvider$1, AstNodeHoverProvider, AbstractSemanticTokenProvider, SemanticTokenAcceptor, LangiumSharedServices, DefaultWorkspaceSymbolProvider, LangiumServices, PartialLangiumServices, DefaultSharedModuleContext } from 'langium/lsp';
3
3
  import { CodeLensParams, CancellationToken, CodeLens, DocumentHighlight, DocumentLinkParams, DocumentLink, WorkspaceFolder } from 'vscode-languageserver';
4
4
  import { Diagnostic, DocumentSymbol, SymbolKind, Hover, Location, Range, TextEdit, CompletionItemKind } from 'vscode-languageserver-types';
5
5
  import * as c4 from '@likec4/core';
@@ -20,6 +20,7 @@ declare class LikeC4CompletionProvider extends DefaultCompletionProvider {
20
20
  readonly completionOptions: {
21
21
  triggerCharacters: string[];
22
22
  };
23
+ protected completionForKeyword(context: CompletionContext, keyword: GrammarAST.Keyword, acceptor: CompletionAcceptor): MaybePromise<void>;
23
24
  }
24
25
 
25
26
  declare class LikeC4DocumentHighlightProvider extends DefaultDocumentHighlightProvider {
@@ -644,6 +645,8 @@ interface ViewRuleAutoLayout extends AstNode {
644
645
  readonly $container: DynamicViewBody | ElementViewBody;
645
646
  readonly $type: 'ViewRuleAutoLayout';
646
647
  direction: ViewLayoutDirection;
648
+ nodeSep?: number;
649
+ rankSep?: number;
647
650
  }
648
651
  declare const ViewRuleAutoLayout = "ViewRuleAutoLayout";
649
652
  interface ViewRuleStyle extends AstNode {