likec4 1.60.0 → 1.61.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 (157) hide show
  1. package/README.md +2 -0
  2. package/__app__/codegen/react.mjs +4 -10
  3. package/__app__/codegen/webcomponent.mjs +5 -208
  4. package/__app__/index.html +15 -15
  5. package/__app__/src/aichat/index.mjs +1 -2
  6. package/__app__/src/chunks/AIChat.mjs +292 -117
  7. package/__app__/src/chunks/ErrorComponent.mjs +444 -0
  8. package/__app__/src/chunks/Header.mjs +269 -0
  9. package/__app__/src/chunks/ViewReact.mjs +438 -0
  10. package/__app__/src/chunks/find.mjs +38 -0
  11. package/__app__/src/chunks/hooks.mjs +18 -541
  12. package/__app__/src/chunks/libs/@tabler/icons-react.mjs +340 -0
  13. package/__app__/src/chunks/libs/@tanstack-ai.mjs +11101 -1797
  14. package/__app__/src/chunks/libs/@tanstack.mjs +4563 -3083
  15. package/__app__/src/chunks/libs/fast-equals.mjs +140 -71
  16. package/__app__/src/chunks/{es.mjs → libs/html-to-image.mjs} +16 -22
  17. package/__app__/src/chunks/libs/nanostores.mjs +4 -8
  18. package/__app__/src/chunks/libs/react-resizable-panels.mjs +2792 -0
  19. package/__app__/src/chunks/react.mjs +22 -0
  20. package/__app__/src/chunks/rolldown-runtime.mjs +3 -32
  21. package/__app__/src/chunks/router.mjs +106 -0
  22. package/__app__/src/chunks/scope.mjs +106 -0
  23. package/__app__/src/chunks/searchParams.mjs +29 -0
  24. package/__app__/src/chunks/single-index.mjs +465 -0
  25. package/__app__/src/chunks/styled-system.mjs +1916 -2946
  26. package/__app__/src/chunks/useAsync.mjs +69 -0
  27. package/__app__/src/chunks/useSyncedRef.mjs +16 -0
  28. package/__app__/src/components/ColorSchemeToggle.mjs +124 -0
  29. package/__app__/src/components/CopyToClipboard.mjs +53 -0
  30. package/__app__/src/components/ErrorComponent.mjs +1 -0
  31. package/__app__/src/components/NavigationPanel.mjs +63 -0
  32. package/__app__/src/components/NotFound.mjs +155 -0
  33. package/__app__/src/components/ViewOutlet.mjs +9 -0
  34. package/__app__/src/components/model-diff/CompareModelProvider.mjs +44 -0
  35. package/__app__/src/components/model-diff/ModelDiffPanel.mjs +179 -0
  36. package/__app__/src/components/model-diff/compare-model.mjs +76 -0
  37. package/__app__/src/components/model-diff/state.mjs +45 -0
  38. package/__app__/src/components/search/OverviewSearch.mjs +92 -0
  39. package/__app__/src/components/search/OverviewSearchAdapter.mjs +94 -0
  40. package/__app__/src/components/sidebar/DiagramTree.css.mjs +48 -0
  41. package/__app__/src/components/sidebar/DiagramsTree.mjs +304 -0
  42. package/__app__/src/components/sidebar/Drawer.mjs +178 -0
  43. package/__app__/src/components/sidebar/SidebarBurger.mjs +28 -0
  44. package/__app__/src/components/sidebar/data.mjs +94 -0
  45. package/__app__/src/components/sidebar/state.mjs +16 -0
  46. package/__app__/src/components/view-page/Header.mjs +1 -0
  47. package/__app__/src/components/view-page/SelectProject.mjs +258 -0
  48. package/__app__/src/components/view-page/ShareModal.mjs +111 -0
  49. package/__app__/src/components/view-page/share-modal/AlertLocalhost.mjs +31 -0
  50. package/__app__/src/components/view-page/share-modal/CopyButtonChild.mjs +36 -0
  51. package/__app__/src/components/view-page/share-modal/EmbedPanel.mjs +100 -0
  52. package/__app__/src/components/view-page/share-modal/WebcomponentsPanel.mjs +264 -0
  53. package/__app__/src/components/view-page/state.mjs +17 -0
  54. package/__app__/src/context/LikeC4CustomizationContext.mjs +26 -0
  55. package/__app__/src/context/LikeC4IconRendererContext.mjs +29 -0
  56. package/__app__/src/context/LikeC4ModelContext.mjs +34 -0
  57. package/__app__/src/context/LikeC4ProjectsContext.mjs +40 -0
  58. package/__app__/src/context/ModelDiffsContext.mjs +33 -0
  59. package/__app__/src/context/safeCtx.mjs +14 -0
  60. package/__app__/src/hooks.mjs +1 -0
  61. package/__app__/src/main.mjs +4 -48126
  62. package/__app__/src/pages/EmbedPage.mjs +93 -0
  63. package/__app__/src/pages/ExportPage.mjs +691 -0
  64. package/__app__/src/pages/ProjectsOverview.mjs +23 -0
  65. package/__app__/src/pages/ViewAsD2.mjs +105 -0
  66. package/__app__/src/pages/ViewAsDot.mjs +65 -0
  67. package/__app__/src/pages/ViewAsMmd.mjs +109 -0
  68. package/__app__/src/pages/ViewAsPuml.mjs +105 -0
  69. package/__app__/src/pages/ViewEditor.mjs +220 -0
  70. package/__app__/src/pages/ViewReact.mjs +1 -0
  71. package/__app__/src/pages/export-layout.mjs +95 -0
  72. package/__app__/src/pages/export-page-params.mjs +9 -0
  73. package/__app__/src/pages/styles.css.mjs +23 -0
  74. package/__app__/src/routeTree.gen.mjs +105 -0
  75. package/__app__/src/router.mjs +1 -0
  76. package/__app__/src/routes/__root.mjs +65 -0
  77. package/__app__/src/routes/index.css.mjs +29 -0
  78. package/__app__/src/routes/index.mjs +32 -0
  79. package/__app__/src/routes/project._projectId/-components.mjs +100 -0
  80. package/__app__/src/routes/project._projectId/embed._viewId.mjs +5 -0
  81. package/__app__/src/routes/project._projectId/export._viewId.mjs +24 -0
  82. package/__app__/src/routes/project._projectId/index.mjs +14 -0
  83. package/__app__/src/routes/project._projectId/route.mjs +93 -0
  84. package/__app__/src/routes/project._projectId/view._viewId.d2.mjs +34 -0
  85. package/__app__/src/routes/project._projectId/view._viewId.dot.mjs +41 -0
  86. package/__app__/src/routes/project._projectId/view._viewId.index.mjs +7 -0
  87. package/__app__/src/routes/project._projectId/view._viewId.mjs +23 -0
  88. package/__app__/src/routes/project._projectId/view._viewId.mmd.mjs +39 -0
  89. package/__app__/src/routes/project._projectId/view._viewId.puml.mjs +34 -0
  90. package/__app__/src/routes/projects.mjs +36 -0
  91. package/__app__/src/routes/single-index.mjs +1 -0
  92. package/__app__/src/routes/webcomponent._.mjs +94 -0
  93. package/__app__/src/style.css +1156 -1147
  94. package/config/schema.json +26 -2
  95. package/dist/app/render-view-client.css +1 -1
  96. package/dist/app/render-view-client.js +375 -393
  97. package/dist/chunks/filenames.mjs +26 -20
  98. package/dist/chunks/generate-likec4.mjs +4 -4
  99. package/dist/chunks/index.d.mts +16 -15
  100. package/dist/chunks/index2.d.mts +7041 -3293
  101. package/dist/chunks/libs/@chenglou/pretext.mjs +9 -0
  102. package/dist/chunks/libs/@logtape/logtape.mjs +5 -5
  103. package/dist/chunks/libs/@ts-graphviz/common.d.mts +2 -4
  104. package/dist/chunks/libs/chevrotain.mjs +19 -19
  105. package/dist/chunks/libs/clone.mjs +1 -0
  106. package/dist/chunks/libs/eventemitter3.mjs +1 -1
  107. package/dist/chunks/libs/fast-equals.mjs +1 -0
  108. package/dist/chunks/libs/fontkit.mjs +1 -0
  109. package/dist/chunks/libs/langium.d.mts +80 -2933
  110. package/dist/chunks/libs/langium.mjs +6 -6
  111. package/dist/chunks/libs/pako.mjs +1 -1
  112. package/dist/chunks/libs/pathe.mjs +1 -1
  113. package/dist/chunks/libs/remeda.mjs +1 -1
  114. package/dist/chunks/node.mjs +110 -77
  115. package/dist/chunks/rolldown-runtime.mjs +1 -1
  116. package/dist/chunks/sequence-view.mjs +1 -1
  117. package/dist/chunks/vite-plugin.mjs +183 -164
  118. package/dist/cli/index.mjs +157 -101
  119. package/dist/config/index.d.mts +65 -4
  120. package/dist/config/index.mjs +1 -1
  121. package/dist/generators/likec4.d.mts +16 -64
  122. package/dist/index.d.mts +2 -4
  123. package/dist/model/index.d.mts +0 -10
  124. package/dist/vite-plugin/index.d.mts +83 -61
  125. package/dist/vite-plugin/internal/chunks/rolldown-runtime.mjs +1 -2
  126. package/dist/vite-plugin/internal/index.d.mts +91 -17
  127. package/dist/vite-plugin/internal/index.mjs +156 -110
  128. package/package.json +60 -55
  129. package/react/index.d.mts +3010 -4014
  130. package/react/index.mjs +170 -171
  131. package/react/rolldown-runtime-CfRud99p.js +1 -0
  132. package/skills/likec4-dsl/SKILL.md +71 -25
  133. package/skills/likec4-dsl/evals/evals-public.json +5 -0
  134. package/skills/likec4-dsl/evals/grading-spec.json +15 -1
  135. package/skills/likec4-dsl/references/cli.md +39 -10
  136. package/skills/likec4-dsl/references/configuration.md +5 -5
  137. package/skills/likec4-dsl/references/diffs.md +52 -0
  138. package/skills/likec4-dsl/references/examples.md +2 -2
  139. package/skills/likec4-dsl/references/identifier-validity.md +31 -31
  140. package/skills/likec4-dsl/references/include-predicates-wildcards.md +16 -15
  141. package/skills/likec4-dsl/references/model.md +42 -11
  142. package/skills/likec4-dsl/references/specification.md +11 -7
  143. package/skills/likec4-dsl/references/troubleshooting.md +47 -42
  144. package/skills/likec4-dsl/references/views.md +2 -2
  145. package/vite-plugin-modules.d.ts +126 -51
  146. package/__app__/src/chunks/LikeC4Styles.mjs +0 -4522
  147. package/__app__/src/chunks/ProjectsOverview.mjs +0 -827
  148. package/__app__/src/chunks/libs/@floating-ui.mjs +0 -3286
  149. package/__app__/src/chunks/libs/@mantine.mjs +0 -17731
  150. package/__app__/src/chunks/libs/@xstate/react.mjs +0 -3471
  151. package/__app__/src/chunks/libs/@xyflow/react.mjs +0 -7927
  152. package/__app__/src/chunks/libs/bezier-js.mjs +0 -1593
  153. package/__app__/src/chunks/libs/d3.mjs +0 -4531
  154. package/__app__/src/chunks/libs/framer.mjs +0 -11331
  155. package/__app__/src/chunks/libs/zod.mjs +0 -5404
  156. package/dist/chunks/libs/@chevrotain/types.d.mts +0 -111
  157. package/react/rolldown-runtime-DnkiqaRY.js +0 -1
@@ -1,8 +1,6 @@
1
1
  /// <reference path="../../typings/thenable.d.ts" preserve="true" />
2
- import { i as __name, r as __exportAll } from "../rolldown-runtime.mjs";
3
- import { t as IToken$1 } from "./@chevrotain/types.mjs";
4
- import { CustomPatternMatcherFunc, DSLMethodOpts, EmbeddedActionsParser, ILexerErrorMessageProvider, ILexingError, IMultiModeLexerDefinition, IOrAlt, IParserConfig, IParserErrorMessageProvider, IRecognitionException, IRuleConfig, IToken, Lexer, TokenPattern, TokenType, TokenTypeDictionary, TokenVocabulary } from "chevrotain";
5
- //#region ../../node_modules/.pnpm/vscode-uri@3.2.0/node_modules/vscode-uri/lib/umd/uri.d.ts
2
+ import { i as __name } from "../rolldown-runtime.mjs";
3
+ import { DSLMethodOpts, EmbeddedActionsParser, ILexerErrorMessageProvider, ILexingError, IOrAlt, IParserConfig, IParserErrorMessageProvider, IRecognitionException, IRuleConfig, IToken, TokenType, TokenTypeDictionary, TokenVocabulary } from "chevrotain";
6
4
  /**
7
5
  * Uniform Resource Identifier (URI) http://tools.ietf.org/html/rfc3986.
8
6
  * This class is a simple parser which creates the basic component parts
@@ -144,78 +142,6 @@ interface UriComponents {
144
142
  query: string;
145
143
  fragment: string;
146
144
  }
147
- //#endregion
148
- //#region ../../node_modules/.pnpm/vscode-uri@3.2.0/node_modules/vscode-uri/lib/umd/utils.d.ts
149
- declare namespace Utils {
150
- /**
151
- * Joins one or more input paths to the path of URI.
152
- * '/' is used as the directory separation character.
153
- *
154
- * The resolved path will be normalized. That means:
155
- * - all '..' and '.' segments are resolved.
156
- * - multiple, sequential occurences of '/' are replaced by a single instance of '/'.
157
- * - trailing separators are preserved.
158
- *
159
- * @param uri The input URI.
160
- * @param paths The paths to be joined with the path of URI.
161
- * @returns A URI with the joined path. All other properties of the URI (scheme, authority, query, fragments, ...) will be taken from the input URI.
162
- */
163
- function joinPath(uri: URI$1, ...paths: string[]): URI$1;
164
- /**
165
- * Resolves one or more paths against the path of a URI.
166
- * '/' is used as the directory separation character.
167
- *
168
- * The resolved path will be normalized. That means:
169
- * - all '..' and '.' segments are resolved.
170
- * - multiple, sequential occurences of '/' are replaced by a single instance of '/'.
171
- * - trailing separators are removed.
172
- *
173
- * @param uri The input URI.
174
- * @param paths The paths to resolve against the path of URI.
175
- * @returns A URI with the resolved path. All other properties of the URI (scheme, authority, query, fragments, ...) will be taken from the input URI.
176
- */
177
- function resolvePath(uri: URI$1, ...paths: string[]): URI$1;
178
- /**
179
- * Returns a URI where the path is the directory name of the input uri, similar to the Unix dirname command.
180
- * In the path, '/' is recognized as the directory separation character. Trailing directory separators are ignored.
181
- * The orignal URI is returned if the URIs path is empty or does not contain any path segments.
182
- *
183
- * @param uri The input URI.
184
- * @return The last segment of the URIs path.
185
- */
186
- function dirname(uri: URI$1): URI$1;
187
- /**
188
- * Returns the last segment of the path of a URI, similar to the Unix basename command.
189
- * In the path, '/' is recognized as the directory separation character. Trailing directory separators are ignored.
190
- * The empty string is returned if the URIs path is empty or does not contain any path segments.
191
- *
192
- * @param uri The input URI.
193
- * @return The base name of the URIs path.
194
- */
195
- function basename(uri: URI$1): string;
196
- /**
197
- * Returns the extension name of the path of a URI, similar to the Unix extname command.
198
- * In the path, '/' is recognized as the directory separation character. Trailing directory separators are ignored.
199
- * The empty string is returned if the URIs path is empty or does not contain any path segments.
200
- *
201
- * @param uri The input URI.
202
- * @return The extension name of the URIs path.
203
- */
204
- function extname(uri: URI$1): string;
205
- }
206
- //#endregion
207
- //#region ../../node_modules/.pnpm/langium@4.4.0/node_modules/langium/lib/utils/uri-utils.d.ts
208
- declare namespace UriUtils {
209
- const basename: typeof Utils.basename;
210
- const dirname: typeof Utils.dirname;
211
- const extname: typeof Utils.extname;
212
- const joinPath: typeof Utils.joinPath;
213
- const resolvePath: typeof Utils.resolvePath;
214
- function equals(a?: URI$1 | string, b?: URI$1 | string): boolean;
215
- function relative(from: URI$1 | string, to: URI$1 | string): string;
216
- function normalize(uri: URI$1 | string): string;
217
- function contains(parent: URI$1 | string, child: URI$1 | string): boolean;
218
- }
219
145
  interface InternalUriTrieNode<T> {
220
146
  name: string;
221
147
  children: Map<string, InternalUriTrieNode<T>>;
@@ -252,21 +178,6 @@ declare class UriTrie<T> {
252
178
  protected getNode(uri: string, create: false): InternalUriTrieNode<T> | undefined;
253
179
  protected collectValues(node: InternalUriTrieNode<T>): T[];
254
180
  }
255
- declare namespace ast_d_exports {
256
- export { AbstractElement, AbstractParserRule, AbstractRule, AbstractType, Action, Alternatives, ArrayLiteral, ArrayType, Assignment, Associativity, BooleanLiteral, CharacterRange, Condition, Conjunction, CrossReference, Disjunction, EndOfFile, FeatureName, Grammar, GrammarImport, Group, InferredType, InfixRule, InfixRuleOperatorList, InfixRuleOperators, Interface, Keyword, LangiumGrammarAstReflection, LangiumGrammarAstType, LangiumGrammarKeywordNames, LangiumGrammarTerminalNames, LangiumGrammarTerminals, LangiumGrammarTokenNames, NamedArgument, NegatedToken, Negation, NumberLiteral, Parameter, ParameterReference, ParserRule, PrimitiveType, ReferenceType, RegexToken, ReturnType$1 as ReturnType, RuleCall, SimpleType, StringLiteral, TerminalAlternatives, TerminalElement, TerminalGroup, TerminalRule, TerminalRuleCall, Type, TypeAttribute, TypeDefinition, UnionType, UnorderedGroup, UntilToken, ValueLiteral, Wildcard, isAbstractElement, isAbstractParserRule, isAbstractRule, isAbstractType, isAction, isAlternatives, isArrayLiteral, isArrayType, isAssignment, isBooleanLiteral, isCharacterRange, isCondition, isConjunction, isCrossReference, isDisjunction, isEndOfFile, isGrammar, isGrammarImport, isGroup, isInferredType, isInfixRule, isInfixRuleOperatorList, isInfixRuleOperators, isInterface, isKeyword, isNamedArgument, isNegatedToken, isNegation, isNumberLiteral, isParameter, isParameterReference, isParserRule, isReferenceType, isRegexToken, isReturnType, isRuleCall, isSimpleType, isStringLiteral, isTerminalAlternatives, isTerminalElement, isTerminalGroup, isTerminalRule, isTerminalRuleCall, isType, isTypeAttribute, isTypeDefinition, isUnionType, isUnorderedGroup, isUntilToken, isValueLiteral, isWildcard, reflection };
257
- }
258
- declare const LangiumGrammarTerminals: {
259
- ID: RegExp;
260
- STRING: RegExp;
261
- NUMBER: RegExp;
262
- RegexLiteral: RegExp;
263
- WS: RegExp;
264
- ML_COMMENT: RegExp;
265
- SL_COMMENT: RegExp;
266
- };
267
- type LangiumGrammarTerminalNames = keyof typeof LangiumGrammarTerminals;
268
- type LangiumGrammarKeywordNames = "!" | "&" | "(" | ")" | "*" | "+" | "+=" | "," | "->" | "." | ".." | ":" | ";" | "<" | "=" | "=>" | ">" | "?" | "?!" | "?<!" | "?<=" | "?=" | "@" | "Date" | "EOF" | "[" | "]" | "assoc" | "bigint" | "boolean" | "current" | "entry" | "extends" | "false" | "fragment" | "grammar" | "hidden" | "import" | "infer" | "infers" | "infix" | "interface" | "left" | "number" | "on" | "returns" | "right" | "string" | "terminal" | "true" | "type" | "with" | "{" | "|" | "}";
269
- type LangiumGrammarTokenNames = LangiumGrammarTerminalNames | LangiumGrammarKeywordNames;
270
181
  interface AbstractElement extends AstNode {
271
182
  readonly $type: 'AbstractElement' | 'Action' | 'Alternatives' | 'Assignment' | 'CharacterRange' | 'CrossReference' | 'EndOfFile' | 'Group' | 'Keyword' | 'NegatedToken' | 'RegexToken' | 'RuleCall' | 'TerminalAlternatives' | 'TerminalElement' | 'TerminalGroup' | 'TerminalRuleCall' | 'UnorderedGroup' | 'UntilToken' | 'Wildcard';
272
183
  cardinality?: '*' | '+' | '?';
@@ -275,22 +186,18 @@ declare const AbstractElement: {
275
186
  readonly $type: "AbstractElement";
276
187
  readonly cardinality: "cardinality";
277
188
  };
278
- declare function isAbstractElement(item: unknown): item is AbstractElement;
279
189
  type AbstractParserRule = InfixRule | ParserRule;
280
190
  declare const AbstractParserRule: {
281
191
  readonly $type: "AbstractParserRule";
282
192
  };
283
- declare function isAbstractParserRule(item: unknown): item is AbstractParserRule;
284
193
  type AbstractRule = AbstractParserRule | TerminalRule;
285
194
  declare const AbstractRule: {
286
195
  readonly $type: "AbstractRule";
287
196
  };
288
- declare function isAbstractRule(item: unknown): item is AbstractRule;
289
197
  type AbstractType = AbstractParserRule | InferredType | Interface | Type;
290
198
  declare const AbstractType: {
291
199
  readonly $type: "AbstractType";
292
200
  };
293
- declare function isAbstractType(item: unknown): item is AbstractType;
294
201
  interface Action extends AbstractElement {
295
202
  readonly $type: 'Action';
296
203
  feature?: FeatureName;
@@ -306,17 +213,6 @@ declare const Action: {
306
213
  readonly operator: "operator";
307
214
  readonly type: "type";
308
215
  };
309
- declare function isAction(item: unknown): item is Action;
310
- interface Alternatives extends AbstractElement {
311
- readonly $type: 'Alternatives';
312
- elements: Array<AbstractElement>;
313
- }
314
- declare const Alternatives: {
315
- readonly $type: "Alternatives";
316
- readonly cardinality: "cardinality";
317
- readonly elements: "elements";
318
- };
319
- declare function isAlternatives(item: unknown): item is Alternatives;
320
216
  interface ArrayLiteral extends AstNode {
321
217
  readonly $container: ArrayLiteral | TypeAttribute;
322
218
  readonly $type: 'ArrayLiteral';
@@ -326,7 +222,6 @@ declare const ArrayLiteral: {
326
222
  readonly $type: "ArrayLiteral";
327
223
  readonly elements: "elements";
328
224
  };
329
- declare function isArrayLiteral(item: unknown): item is ArrayLiteral;
330
225
  interface ArrayType extends AstNode {
331
226
  readonly $container: ArrayType | ReferenceType | Type | TypeAttribute | UnionType;
332
227
  readonly $type: 'ArrayType';
@@ -336,23 +231,6 @@ declare const ArrayType: {
336
231
  readonly $type: "ArrayType";
337
232
  readonly elementType: "elementType";
338
233
  };
339
- declare function isArrayType(item: unknown): item is ArrayType;
340
- interface Assignment extends AbstractElement {
341
- readonly $type: 'Assignment';
342
- feature: FeatureName;
343
- operator: '+=' | '=' | '?=';
344
- predicate?: '->' | '=>';
345
- terminal: AbstractElement;
346
- }
347
- declare const Assignment: {
348
- readonly $type: "Assignment";
349
- readonly cardinality: "cardinality";
350
- readonly feature: "feature";
351
- readonly operator: "operator";
352
- readonly predicate: "predicate";
353
- readonly terminal: "terminal";
354
- };
355
- declare function isAssignment(item: unknown): item is Assignment;
356
234
  type Associativity = 'left' | 'right';
357
235
  interface BooleanLiteral extends AstNode {
358
236
  readonly $container: ArrayLiteral | Conjunction | Disjunction | Group | NamedArgument | Negation | TypeAttribute;
@@ -363,7 +241,6 @@ declare const BooleanLiteral: {
363
241
  readonly $type: "BooleanLiteral";
364
242
  readonly true: "true";
365
243
  };
366
- declare function isBooleanLiteral(item: unknown): item is BooleanLiteral;
367
244
  interface CharacterRange extends TerminalElement {
368
245
  readonly $type: 'CharacterRange';
369
246
  left: Keyword;
@@ -377,12 +254,10 @@ declare const CharacterRange: {
377
254
  readonly parenthesized: "parenthesized";
378
255
  readonly right: "right";
379
256
  };
380
- declare function isCharacterRange(item: unknown): item is CharacterRange;
381
257
  type Condition = BooleanLiteral | Conjunction | Disjunction | Negation | ParameterReference;
382
258
  declare const Condition: {
383
259
  readonly $type: "Condition";
384
260
  };
385
- declare function isCondition(item: unknown): item is Condition;
386
261
  interface Conjunction extends AstNode {
387
262
  readonly $container: Conjunction | Disjunction | Group | NamedArgument | Negation;
388
263
  readonly $type: 'Conjunction';
@@ -394,7 +269,6 @@ declare const Conjunction: {
394
269
  readonly left: "left";
395
270
  readonly right: "right";
396
271
  };
397
- declare function isConjunction(item: unknown): item is Conjunction;
398
272
  interface CrossReference extends AbstractElement {
399
273
  readonly $type: 'CrossReference';
400
274
  deprecatedSyntax: boolean;
@@ -410,7 +284,6 @@ declare const CrossReference: {
410
284
  readonly terminal: "terminal";
411
285
  readonly type: "type";
412
286
  };
413
- declare function isCrossReference(item: unknown): item is CrossReference;
414
287
  interface Disjunction extends AstNode {
415
288
  readonly $container: Conjunction | Disjunction | Group | NamedArgument | Negation;
416
289
  readonly $type: 'Disjunction';
@@ -422,15 +295,6 @@ declare const Disjunction: {
422
295
  readonly left: "left";
423
296
  readonly right: "right";
424
297
  };
425
- declare function isDisjunction(item: unknown): item is Disjunction;
426
- interface EndOfFile extends AbstractElement {
427
- readonly $type: 'EndOfFile';
428
- }
429
- declare const EndOfFile: {
430
- readonly $type: "EndOfFile";
431
- readonly cardinality: "cardinality";
432
- };
433
- declare function isEndOfFile(item: unknown): item is EndOfFile;
434
298
  type FeatureName = 'assoc' | 'current' | 'entry' | 'extends' | 'false' | 'fragment' | 'grammar' | 'hidden' | 'import' | 'infer' | 'infers' | 'infix' | 'interface' | 'left' | 'on' | 'returns' | 'right' | 'terminal' | 'true' | 'type' | 'with' | PrimitiveType | string;
435
299
  interface Grammar extends AstNode {
436
300
  readonly $type: 'Grammar';
@@ -450,7 +314,6 @@ declare const Grammar: {
450
314
  readonly rules: "rules";
451
315
  readonly types: "types";
452
316
  };
453
- declare function isGrammar(item: unknown): item is Grammar;
454
317
  interface GrammarImport extends AstNode {
455
318
  readonly $container: Grammar;
456
319
  readonly $type: 'GrammarImport';
@@ -460,7 +323,6 @@ declare const GrammarImport: {
460
323
  readonly $type: "GrammarImport";
461
324
  readonly path: "path";
462
325
  };
463
- declare function isGrammarImport(item: unknown): item is GrammarImport;
464
326
  interface Group extends AbstractElement {
465
327
  readonly $type: 'Group';
466
328
  elements: Array<AbstractElement>;
@@ -474,7 +336,6 @@ declare const Group: {
474
336
  readonly guardCondition: "guardCondition";
475
337
  readonly predicate: "predicate";
476
338
  };
477
- declare function isGroup(item: unknown): item is Group;
478
339
  interface InferredType extends AstNode {
479
340
  readonly $container: Action | InfixRule | ParserRule;
480
341
  readonly $type: 'InferredType';
@@ -484,7 +345,6 @@ declare const InferredType: {
484
345
  readonly $type: "InferredType";
485
346
  readonly name: "name";
486
347
  };
487
- declare function isInferredType(item: unknown): item is InferredType;
488
348
  interface InfixRule extends AstNode {
489
349
  readonly $container: Grammar;
490
350
  readonly $type: 'InfixRule';
@@ -506,7 +366,6 @@ declare const InfixRule: {
506
366
  readonly parameters: "parameters";
507
367
  readonly returnType: "returnType";
508
368
  };
509
- declare function isInfixRule(item: unknown): item is InfixRule;
510
369
  interface InfixRuleOperatorList extends AstNode {
511
370
  readonly $container: InfixRuleOperators;
512
371
  readonly $type: 'InfixRuleOperatorList';
@@ -518,7 +377,6 @@ declare const InfixRuleOperatorList: {
518
377
  readonly associativity: "associativity";
519
378
  readonly operators: "operators";
520
379
  };
521
- declare function isInfixRuleOperatorList(item: unknown): item is InfixRuleOperatorList;
522
380
  interface InfixRuleOperators extends AstNode {
523
381
  readonly $container: InfixRule;
524
382
  readonly $type: 'InfixRuleOperators';
@@ -528,7 +386,6 @@ declare const InfixRuleOperators: {
528
386
  readonly $type: "InfixRuleOperators";
529
387
  readonly precedences: "precedences";
530
388
  };
531
- declare function isInfixRuleOperators(item: unknown): item is InfixRuleOperators;
532
389
  interface Interface extends AstNode {
533
390
  readonly $container: Grammar;
534
391
  readonly $type: 'Interface';
@@ -542,7 +399,6 @@ declare const Interface: {
542
399
  readonly name: "name";
543
400
  readonly superTypes: "superTypes";
544
401
  };
545
- declare function isInterface(item: unknown): item is Interface;
546
402
  interface Keyword extends AbstractElement {
547
403
  readonly $container: CharacterRange | InfixRuleOperatorList;
548
404
  readonly $type: 'Keyword';
@@ -555,7 +411,6 @@ declare const Keyword: {
555
411
  readonly predicate: "predicate";
556
412
  readonly value: "value";
557
413
  };
558
- declare function isKeyword(item: unknown): item is Keyword;
559
414
  interface NamedArgument extends AstNode {
560
415
  readonly $container: RuleCall;
561
416
  readonly $type: 'NamedArgument';
@@ -569,19 +424,6 @@ declare const NamedArgument: {
569
424
  readonly parameter: "parameter";
570
425
  readonly value: "value";
571
426
  };
572
- declare function isNamedArgument(item: unknown): item is NamedArgument;
573
- interface NegatedToken extends TerminalElement {
574
- readonly $type: 'NegatedToken';
575
- terminal: AbstractElement;
576
- }
577
- declare const NegatedToken: {
578
- readonly $type: "NegatedToken";
579
- readonly cardinality: "cardinality";
580
- readonly lookahead: "lookahead";
581
- readonly parenthesized: "parenthesized";
582
- readonly terminal: "terminal";
583
- };
584
- declare function isNegatedToken(item: unknown): item is NegatedToken;
585
427
  interface Negation extends AstNode {
586
428
  readonly $container: Conjunction | Disjunction | Group | NamedArgument | Negation;
587
429
  readonly $type: 'Negation';
@@ -591,7 +433,6 @@ declare const Negation: {
591
433
  readonly $type: "Negation";
592
434
  readonly value: "value";
593
435
  };
594
- declare function isNegation(item: unknown): item is Negation;
595
436
  interface NumberLiteral extends AstNode {
596
437
  readonly $container: ArrayLiteral | TypeAttribute;
597
438
  readonly $type: 'NumberLiteral';
@@ -601,7 +442,6 @@ declare const NumberLiteral: {
601
442
  readonly $type: "NumberLiteral";
602
443
  readonly value: "value";
603
444
  };
604
- declare function isNumberLiteral(item: unknown): item is NumberLiteral;
605
445
  interface Parameter extends AstNode {
606
446
  readonly $container: InfixRule | ParserRule;
607
447
  readonly $type: 'Parameter';
@@ -611,7 +451,6 @@ declare const Parameter: {
611
451
  readonly $type: "Parameter";
612
452
  readonly name: "name";
613
453
  };
614
- declare function isParameter(item: unknown): item is Parameter;
615
454
  interface ParameterReference extends AstNode {
616
455
  readonly $container: Conjunction | Disjunction | Group | NamedArgument | Negation;
617
456
  readonly $type: 'ParameterReference';
@@ -621,7 +460,6 @@ declare const ParameterReference: {
621
460
  readonly $type: "ParameterReference";
622
461
  readonly parameter: "parameter";
623
462
  };
624
- declare function isParameterReference(item: unknown): item is ParameterReference;
625
463
  interface ParserRule extends AstNode {
626
464
  readonly $container: Grammar;
627
465
  readonly $type: 'ParserRule';
@@ -645,7 +483,6 @@ declare const ParserRule: {
645
483
  readonly parameters: "parameters";
646
484
  readonly returnType: "returnType";
647
485
  };
648
- declare function isParserRule(item: unknown): item is ParserRule;
649
486
  type PrimitiveType = 'Date' | 'bigint' | 'boolean' | 'number' | 'string';
650
487
  interface ReferenceType extends AstNode {
651
488
  readonly $container: ArrayType | ReferenceType | Type | TypeAttribute | UnionType;
@@ -658,29 +495,15 @@ declare const ReferenceType: {
658
495
  readonly isMulti: "isMulti";
659
496
  readonly referenceType: "referenceType";
660
497
  };
661
- declare function isReferenceType(item: unknown): item is ReferenceType;
662
- interface RegexToken extends TerminalElement {
663
- readonly $type: 'RegexToken';
664
- regex: string;
665
- }
666
- declare const RegexToken: {
667
- readonly $type: "RegexToken";
668
- readonly cardinality: "cardinality";
669
- readonly lookahead: "lookahead";
670
- readonly parenthesized: "parenthesized";
671
- readonly regex: "regex";
672
- };
673
- declare function isRegexToken(item: unknown): item is RegexToken;
674
- interface ReturnType$1 extends AstNode {
498
+ interface ReturnType extends AstNode {
675
499
  readonly $container: TerminalRule;
676
500
  readonly $type: 'ReturnType';
677
501
  name: PrimitiveType | string;
678
502
  }
679
- declare const ReturnType$1: {
503
+ declare const ReturnType: {
680
504
  readonly $type: "ReturnType";
681
505
  readonly name: "name";
682
506
  };
683
- declare function isReturnType(item: unknown): item is ReturnType$1;
684
507
  interface RuleCall extends AbstractElement {
685
508
  readonly $container: InfixRule;
686
509
  readonly $type: 'RuleCall';
@@ -695,7 +518,6 @@ declare const RuleCall: {
695
518
  readonly predicate: "predicate";
696
519
  readonly rule: "rule";
697
520
  };
698
- declare function isRuleCall(item: unknown): item is RuleCall;
699
521
  interface SimpleType extends AstNode {
700
522
  readonly $container: ArrayType | ReferenceType | Type | TypeAttribute | UnionType;
701
523
  readonly $type: 'SimpleType';
@@ -709,7 +531,6 @@ declare const SimpleType: {
709
531
  readonly stringType: "stringType";
710
532
  readonly typeRef: "typeRef";
711
533
  };
712
- declare function isSimpleType(item: unknown): item is SimpleType;
713
534
  interface StringLiteral extends AstNode {
714
535
  readonly $container: ArrayLiteral | TypeAttribute;
715
536
  readonly $type: 'StringLiteral';
@@ -719,19 +540,6 @@ declare const StringLiteral: {
719
540
  readonly $type: "StringLiteral";
720
541
  readonly value: "value";
721
542
  };
722
- declare function isStringLiteral(item: unknown): item is StringLiteral;
723
- interface TerminalAlternatives extends TerminalElement {
724
- readonly $type: 'TerminalAlternatives';
725
- elements: Array<AbstractElement>;
726
- }
727
- declare const TerminalAlternatives: {
728
- readonly $type: "TerminalAlternatives";
729
- readonly cardinality: "cardinality";
730
- readonly elements: "elements";
731
- readonly lookahead: "lookahead";
732
- readonly parenthesized: "parenthesized";
733
- };
734
- declare function isTerminalAlternatives(item: unknown): item is TerminalAlternatives;
735
543
  interface TerminalElement extends AbstractElement {
736
544
  readonly $type: 'CharacterRange' | 'NegatedToken' | 'RegexToken' | 'TerminalAlternatives' | 'TerminalElement' | 'TerminalGroup' | 'TerminalRuleCall' | 'UntilToken' | 'Wildcard';
737
545
  lookahead?: '?!' | '?<!' | '?<=' | '?=';
@@ -743,19 +551,6 @@ declare const TerminalElement: {
743
551
  readonly lookahead: "lookahead";
744
552
  readonly parenthesized: "parenthesized";
745
553
  };
746
- declare function isTerminalElement(item: unknown): item is TerminalElement;
747
- interface TerminalGroup extends TerminalElement {
748
- readonly $type: 'TerminalGroup';
749
- elements: Array<AbstractElement>;
750
- }
751
- declare const TerminalGroup: {
752
- readonly $type: "TerminalGroup";
753
- readonly cardinality: "cardinality";
754
- readonly elements: "elements";
755
- readonly lookahead: "lookahead";
756
- readonly parenthesized: "parenthesized";
757
- };
758
- declare function isTerminalGroup(item: unknown): item is TerminalGroup;
759
554
  interface TerminalRule extends AstNode {
760
555
  readonly $container: Grammar;
761
556
  readonly $type: 'TerminalRule';
@@ -763,7 +558,7 @@ interface TerminalRule extends AstNode {
763
558
  fragment: boolean;
764
559
  hidden: boolean;
765
560
  name: string;
766
- type?: ReturnType$1;
561
+ type?: ReturnType;
767
562
  }
768
563
  declare const TerminalRule: {
769
564
  readonly $type: "TerminalRule";
@@ -773,19 +568,6 @@ declare const TerminalRule: {
773
568
  readonly name: "name";
774
569
  readonly type: "type";
775
570
  };
776
- declare function isTerminalRule(item: unknown): item is TerminalRule;
777
- interface TerminalRuleCall extends TerminalElement {
778
- readonly $type: 'TerminalRuleCall';
779
- rule: Reference<TerminalRule>;
780
- }
781
- declare const TerminalRuleCall: {
782
- readonly $type: "TerminalRuleCall";
783
- readonly cardinality: "cardinality";
784
- readonly lookahead: "lookahead";
785
- readonly parenthesized: "parenthesized";
786
- readonly rule: "rule";
787
- };
788
- declare function isTerminalRuleCall(item: unknown): item is TerminalRuleCall;
789
571
  interface Type extends AstNode {
790
572
  readonly $container: Grammar;
791
573
  readonly $type: 'Type';
@@ -797,7 +579,6 @@ declare const Type: {
797
579
  readonly name: "name";
798
580
  readonly type: "type";
799
581
  };
800
- declare function isType(item: unknown): item is Type;
801
582
  interface TypeAttribute extends AstNode {
802
583
  readonly $container: Interface;
803
584
  readonly $type: 'TypeAttribute';
@@ -813,12 +594,10 @@ declare const TypeAttribute: {
813
594
  readonly name: "name";
814
595
  readonly type: "type";
815
596
  };
816
- declare function isTypeAttribute(item: unknown): item is TypeAttribute;
817
597
  type TypeDefinition = ArrayType | ReferenceType | SimpleType | UnionType;
818
598
  declare const TypeDefinition: {
819
599
  readonly $type: "TypeDefinition";
820
600
  };
821
- declare function isTypeDefinition(item: unknown): item is TypeDefinition;
822
601
  interface UnionType extends AstNode {
823
602
  readonly $container: ArrayType | ReferenceType | Type | TypeAttribute | UnionType;
824
603
  readonly $type: 'UnionType';
@@ -828,901 +607,10 @@ declare const UnionType: {
828
607
  readonly $type: "UnionType";
829
608
  readonly types: "types";
830
609
  };
831
- declare function isUnionType(item: unknown): item is UnionType;
832
- interface UnorderedGroup extends AbstractElement {
833
- readonly $type: 'UnorderedGroup';
834
- elements: Array<AbstractElement>;
835
- }
836
- declare const UnorderedGroup: {
837
- readonly $type: "UnorderedGroup";
838
- readonly cardinality: "cardinality";
839
- readonly elements: "elements";
840
- };
841
- declare function isUnorderedGroup(item: unknown): item is UnorderedGroup;
842
- interface UntilToken extends TerminalElement {
843
- readonly $type: 'UntilToken';
844
- terminal: AbstractElement;
845
- }
846
- declare const UntilToken: {
847
- readonly $type: "UntilToken";
848
- readonly cardinality: "cardinality";
849
- readonly lookahead: "lookahead";
850
- readonly parenthesized: "parenthesized";
851
- readonly terminal: "terminal";
852
- };
853
- declare function isUntilToken(item: unknown): item is UntilToken;
854
610
  type ValueLiteral = ArrayLiteral | BooleanLiteral | NumberLiteral | StringLiteral;
855
611
  declare const ValueLiteral: {
856
612
  readonly $type: "ValueLiteral";
857
613
  };
858
- declare function isValueLiteral(item: unknown): item is ValueLiteral;
859
- interface Wildcard extends TerminalElement {
860
- readonly $type: 'Wildcard';
861
- }
862
- declare const Wildcard: {
863
- readonly $type: "Wildcard";
864
- readonly cardinality: "cardinality";
865
- readonly lookahead: "lookahead";
866
- readonly parenthesized: "parenthesized";
867
- };
868
- declare function isWildcard(item: unknown): item is Wildcard;
869
- type LangiumGrammarAstType = {
870
- AbstractElement: AbstractElement;
871
- AbstractParserRule: AbstractParserRule;
872
- AbstractRule: AbstractRule;
873
- AbstractType: AbstractType;
874
- Action: Action;
875
- Alternatives: Alternatives;
876
- ArrayLiteral: ArrayLiteral;
877
- ArrayType: ArrayType;
878
- Assignment: Assignment;
879
- BooleanLiteral: BooleanLiteral;
880
- CharacterRange: CharacterRange;
881
- Condition: Condition;
882
- Conjunction: Conjunction;
883
- CrossReference: CrossReference;
884
- Disjunction: Disjunction;
885
- EndOfFile: EndOfFile;
886
- Grammar: Grammar;
887
- GrammarImport: GrammarImport;
888
- Group: Group;
889
- InferredType: InferredType;
890
- InfixRule: InfixRule;
891
- InfixRuleOperatorList: InfixRuleOperatorList;
892
- InfixRuleOperators: InfixRuleOperators;
893
- Interface: Interface;
894
- Keyword: Keyword;
895
- NamedArgument: NamedArgument;
896
- NegatedToken: NegatedToken;
897
- Negation: Negation;
898
- NumberLiteral: NumberLiteral;
899
- Parameter: Parameter;
900
- ParameterReference: ParameterReference;
901
- ParserRule: ParserRule;
902
- ReferenceType: ReferenceType;
903
- RegexToken: RegexToken;
904
- ReturnType: ReturnType$1;
905
- RuleCall: RuleCall;
906
- SimpleType: SimpleType;
907
- StringLiteral: StringLiteral;
908
- TerminalAlternatives: TerminalAlternatives;
909
- TerminalElement: TerminalElement;
910
- TerminalGroup: TerminalGroup;
911
- TerminalRule: TerminalRule;
912
- TerminalRuleCall: TerminalRuleCall;
913
- Type: Type;
914
- TypeAttribute: TypeAttribute;
915
- TypeDefinition: TypeDefinition;
916
- UnionType: UnionType;
917
- UnorderedGroup: UnorderedGroup;
918
- UntilToken: UntilToken;
919
- ValueLiteral: ValueLiteral;
920
- Wildcard: Wildcard;
921
- };
922
- declare class LangiumGrammarAstReflection extends AbstractAstReflection {
923
- readonly types: {
924
- readonly AbstractElement: {
925
- readonly name: "AbstractElement";
926
- readonly properties: {
927
- readonly cardinality: {
928
- readonly name: "cardinality";
929
- readonly optional: true;
930
- };
931
- };
932
- readonly superTypes: [];
933
- };
934
- readonly AbstractParserRule: {
935
- readonly name: "AbstractParserRule";
936
- readonly properties: {};
937
- readonly superTypes: ["AbstractRule", "AbstractType"];
938
- };
939
- readonly AbstractRule: {
940
- readonly name: "AbstractRule";
941
- readonly properties: {};
942
- readonly superTypes: [];
943
- };
944
- readonly AbstractType: {
945
- readonly name: "AbstractType";
946
- readonly properties: {};
947
- readonly superTypes: [];
948
- };
949
- readonly Action: {
950
- readonly name: "Action";
951
- readonly properties: {
952
- readonly cardinality: {
953
- readonly name: "cardinality";
954
- readonly optional: true;
955
- };
956
- readonly feature: {
957
- readonly name: "feature";
958
- readonly optional: true;
959
- };
960
- readonly inferredType: {
961
- readonly name: "inferredType";
962
- readonly optional: true;
963
- };
964
- readonly operator: {
965
- readonly name: "operator";
966
- readonly optional: true;
967
- };
968
- readonly type: {
969
- readonly name: "type";
970
- readonly referenceType: "AbstractType";
971
- readonly optional: true;
972
- };
973
- };
974
- readonly superTypes: ["AbstractElement"];
975
- };
976
- readonly Alternatives: {
977
- readonly name: "Alternatives";
978
- readonly properties: {
979
- readonly cardinality: {
980
- readonly name: "cardinality";
981
- readonly optional: true;
982
- };
983
- readonly elements: {
984
- readonly name: "elements";
985
- readonly defaultValue: [];
986
- };
987
- };
988
- readonly superTypes: ["AbstractElement"];
989
- };
990
- readonly ArrayLiteral: {
991
- readonly name: "ArrayLiteral";
992
- readonly properties: {
993
- readonly elements: {
994
- readonly name: "elements";
995
- readonly defaultValue: [];
996
- };
997
- };
998
- readonly superTypes: ["ValueLiteral"];
999
- };
1000
- readonly ArrayType: {
1001
- readonly name: "ArrayType";
1002
- readonly properties: {
1003
- readonly elementType: {
1004
- readonly name: "elementType";
1005
- };
1006
- };
1007
- readonly superTypes: ["TypeDefinition"];
1008
- };
1009
- readonly Assignment: {
1010
- readonly name: "Assignment";
1011
- readonly properties: {
1012
- readonly cardinality: {
1013
- readonly name: "cardinality";
1014
- readonly optional: true;
1015
- };
1016
- readonly feature: {
1017
- readonly name: "feature";
1018
- };
1019
- readonly operator: {
1020
- readonly name: "operator";
1021
- };
1022
- readonly predicate: {
1023
- readonly name: "predicate";
1024
- readonly optional: true;
1025
- };
1026
- readonly terminal: {
1027
- readonly name: "terminal";
1028
- };
1029
- };
1030
- readonly superTypes: ["AbstractElement"];
1031
- };
1032
- readonly BooleanLiteral: {
1033
- readonly name: "BooleanLiteral";
1034
- readonly properties: {
1035
- readonly true: {
1036
- readonly name: "true";
1037
- readonly defaultValue: false;
1038
- };
1039
- };
1040
- readonly superTypes: ["Condition", "ValueLiteral"];
1041
- };
1042
- readonly CharacterRange: {
1043
- readonly name: "CharacterRange";
1044
- readonly properties: {
1045
- readonly cardinality: {
1046
- readonly name: "cardinality";
1047
- readonly optional: true;
1048
- };
1049
- readonly left: {
1050
- readonly name: "left";
1051
- };
1052
- readonly lookahead: {
1053
- readonly name: "lookahead";
1054
- readonly optional: true;
1055
- };
1056
- readonly parenthesized: {
1057
- readonly name: "parenthesized";
1058
- readonly defaultValue: false;
1059
- readonly optional: true;
1060
- };
1061
- readonly right: {
1062
- readonly name: "right";
1063
- readonly optional: true;
1064
- };
1065
- };
1066
- readonly superTypes: ["TerminalElement"];
1067
- };
1068
- readonly Condition: {
1069
- readonly name: "Condition";
1070
- readonly properties: {};
1071
- readonly superTypes: [];
1072
- };
1073
- readonly Conjunction: {
1074
- readonly name: "Conjunction";
1075
- readonly properties: {
1076
- readonly left: {
1077
- readonly name: "left";
1078
- };
1079
- readonly right: {
1080
- readonly name: "right";
1081
- };
1082
- };
1083
- readonly superTypes: ["Condition"];
1084
- };
1085
- readonly CrossReference: {
1086
- readonly name: "CrossReference";
1087
- readonly properties: {
1088
- readonly cardinality: {
1089
- readonly name: "cardinality";
1090
- readonly optional: true;
1091
- };
1092
- readonly deprecatedSyntax: {
1093
- readonly name: "deprecatedSyntax";
1094
- readonly defaultValue: false;
1095
- };
1096
- readonly isMulti: {
1097
- readonly name: "isMulti";
1098
- readonly defaultValue: false;
1099
- };
1100
- readonly terminal: {
1101
- readonly name: "terminal";
1102
- readonly optional: true;
1103
- };
1104
- readonly type: {
1105
- readonly name: "type";
1106
- readonly referenceType: "AbstractType";
1107
- };
1108
- };
1109
- readonly superTypes: ["AbstractElement"];
1110
- };
1111
- readonly Disjunction: {
1112
- readonly name: "Disjunction";
1113
- readonly properties: {
1114
- readonly left: {
1115
- readonly name: "left";
1116
- };
1117
- readonly right: {
1118
- readonly name: "right";
1119
- };
1120
- };
1121
- readonly superTypes: ["Condition"];
1122
- };
1123
- readonly EndOfFile: {
1124
- readonly name: "EndOfFile";
1125
- readonly properties: {
1126
- readonly cardinality: {
1127
- readonly name: "cardinality";
1128
- readonly optional: true;
1129
- };
1130
- };
1131
- readonly superTypes: ["AbstractElement"];
1132
- };
1133
- readonly Grammar: {
1134
- readonly name: "Grammar";
1135
- readonly properties: {
1136
- readonly imports: {
1137
- readonly name: "imports";
1138
- readonly defaultValue: [];
1139
- };
1140
- readonly interfaces: {
1141
- readonly name: "interfaces";
1142
- readonly defaultValue: [];
1143
- };
1144
- readonly isDeclared: {
1145
- readonly name: "isDeclared";
1146
- readonly defaultValue: false;
1147
- };
1148
- readonly name: {
1149
- readonly name: "name";
1150
- readonly optional: true;
1151
- };
1152
- readonly rules: {
1153
- readonly name: "rules";
1154
- readonly defaultValue: [];
1155
- };
1156
- readonly types: {
1157
- readonly name: "types";
1158
- readonly defaultValue: [];
1159
- };
1160
- };
1161
- readonly superTypes: [];
1162
- };
1163
- readonly GrammarImport: {
1164
- readonly name: "GrammarImport";
1165
- readonly properties: {
1166
- readonly path: {
1167
- readonly name: "path";
1168
- };
1169
- };
1170
- readonly superTypes: [];
1171
- };
1172
- readonly Group: {
1173
- readonly name: "Group";
1174
- readonly properties: {
1175
- readonly cardinality: {
1176
- readonly name: "cardinality";
1177
- readonly optional: true;
1178
- };
1179
- readonly elements: {
1180
- readonly name: "elements";
1181
- readonly defaultValue: [];
1182
- };
1183
- readonly guardCondition: {
1184
- readonly name: "guardCondition";
1185
- readonly optional: true;
1186
- };
1187
- readonly predicate: {
1188
- readonly name: "predicate";
1189
- readonly optional: true;
1190
- };
1191
- };
1192
- readonly superTypes: ["AbstractElement"];
1193
- };
1194
- readonly InferredType: {
1195
- readonly name: "InferredType";
1196
- readonly properties: {
1197
- readonly name: {
1198
- readonly name: "name";
1199
- };
1200
- };
1201
- readonly superTypes: ["AbstractType"];
1202
- };
1203
- readonly InfixRule: {
1204
- readonly name: "InfixRule";
1205
- readonly properties: {
1206
- readonly call: {
1207
- readonly name: "call";
1208
- };
1209
- readonly dataType: {
1210
- readonly name: "dataType";
1211
- readonly optional: true;
1212
- };
1213
- readonly inferredType: {
1214
- readonly name: "inferredType";
1215
- readonly optional: true;
1216
- };
1217
- readonly name: {
1218
- readonly name: "name";
1219
- };
1220
- readonly operators: {
1221
- readonly name: "operators";
1222
- };
1223
- readonly parameters: {
1224
- readonly name: "parameters";
1225
- readonly defaultValue: [];
1226
- };
1227
- readonly returnType: {
1228
- readonly name: "returnType";
1229
- readonly referenceType: "AbstractType";
1230
- readonly optional: true;
1231
- };
1232
- };
1233
- readonly superTypes: ["AbstractParserRule"];
1234
- };
1235
- readonly InfixRuleOperatorList: {
1236
- readonly name: "InfixRuleOperatorList";
1237
- readonly properties: {
1238
- readonly associativity: {
1239
- readonly name: "associativity";
1240
- readonly optional: true;
1241
- };
1242
- readonly operators: {
1243
- readonly name: "operators";
1244
- readonly defaultValue: [];
1245
- };
1246
- };
1247
- readonly superTypes: [];
1248
- };
1249
- readonly InfixRuleOperators: {
1250
- readonly name: "InfixRuleOperators";
1251
- readonly properties: {
1252
- readonly precedences: {
1253
- readonly name: "precedences";
1254
- readonly defaultValue: [];
1255
- };
1256
- };
1257
- readonly superTypes: [];
1258
- };
1259
- readonly Interface: {
1260
- readonly name: "Interface";
1261
- readonly properties: {
1262
- readonly attributes: {
1263
- readonly name: "attributes";
1264
- readonly defaultValue: [];
1265
- };
1266
- readonly name: {
1267
- readonly name: "name";
1268
- };
1269
- readonly superTypes: {
1270
- readonly name: "superTypes";
1271
- readonly defaultValue: [];
1272
- readonly referenceType: "AbstractType";
1273
- };
1274
- };
1275
- readonly superTypes: ["AbstractType"];
1276
- };
1277
- readonly Keyword: {
1278
- readonly name: "Keyword";
1279
- readonly properties: {
1280
- readonly cardinality: {
1281
- readonly name: "cardinality";
1282
- readonly optional: true;
1283
- };
1284
- readonly predicate: {
1285
- readonly name: "predicate";
1286
- readonly optional: true;
1287
- };
1288
- readonly value: {
1289
- readonly name: "value";
1290
- };
1291
- };
1292
- readonly superTypes: ["AbstractElement"];
1293
- };
1294
- readonly NamedArgument: {
1295
- readonly name: "NamedArgument";
1296
- readonly properties: {
1297
- readonly calledByName: {
1298
- readonly name: "calledByName";
1299
- readonly defaultValue: false;
1300
- };
1301
- readonly parameter: {
1302
- readonly name: "parameter";
1303
- readonly referenceType: "Parameter";
1304
- readonly optional: true;
1305
- };
1306
- readonly value: {
1307
- readonly name: "value";
1308
- };
1309
- };
1310
- readonly superTypes: [];
1311
- };
1312
- readonly NegatedToken: {
1313
- readonly name: "NegatedToken";
1314
- readonly properties: {
1315
- readonly cardinality: {
1316
- readonly name: "cardinality";
1317
- readonly optional: true;
1318
- };
1319
- readonly lookahead: {
1320
- readonly name: "lookahead";
1321
- readonly optional: true;
1322
- };
1323
- readonly parenthesized: {
1324
- readonly name: "parenthesized";
1325
- readonly defaultValue: false;
1326
- readonly optional: true;
1327
- };
1328
- readonly terminal: {
1329
- readonly name: "terminal";
1330
- };
1331
- };
1332
- readonly superTypes: ["TerminalElement"];
1333
- };
1334
- readonly Negation: {
1335
- readonly name: "Negation";
1336
- readonly properties: {
1337
- readonly value: {
1338
- readonly name: "value";
1339
- };
1340
- };
1341
- readonly superTypes: ["Condition"];
1342
- };
1343
- readonly NumberLiteral: {
1344
- readonly name: "NumberLiteral";
1345
- readonly properties: {
1346
- readonly value: {
1347
- readonly name: "value";
1348
- };
1349
- };
1350
- readonly superTypes: ["ValueLiteral"];
1351
- };
1352
- readonly Parameter: {
1353
- readonly name: "Parameter";
1354
- readonly properties: {
1355
- readonly name: {
1356
- readonly name: "name";
1357
- };
1358
- };
1359
- readonly superTypes: [];
1360
- };
1361
- readonly ParameterReference: {
1362
- readonly name: "ParameterReference";
1363
- readonly properties: {
1364
- readonly parameter: {
1365
- readonly name: "parameter";
1366
- readonly referenceType: "Parameter";
1367
- };
1368
- };
1369
- readonly superTypes: ["Condition"];
1370
- };
1371
- readonly ParserRule: {
1372
- readonly name: "ParserRule";
1373
- readonly properties: {
1374
- readonly dataType: {
1375
- readonly name: "dataType";
1376
- readonly optional: true;
1377
- };
1378
- readonly definition: {
1379
- readonly name: "definition";
1380
- };
1381
- readonly entry: {
1382
- readonly name: "entry";
1383
- readonly defaultValue: false;
1384
- };
1385
- readonly fragment: {
1386
- readonly name: "fragment";
1387
- readonly defaultValue: false;
1388
- };
1389
- readonly inferredType: {
1390
- readonly name: "inferredType";
1391
- readonly optional: true;
1392
- };
1393
- readonly name: {
1394
- readonly name: "name";
1395
- };
1396
- readonly parameters: {
1397
- readonly name: "parameters";
1398
- readonly defaultValue: [];
1399
- };
1400
- readonly returnType: {
1401
- readonly name: "returnType";
1402
- readonly referenceType: "AbstractType";
1403
- readonly optional: true;
1404
- };
1405
- };
1406
- readonly superTypes: ["AbstractParserRule"];
1407
- };
1408
- readonly ReferenceType: {
1409
- readonly name: "ReferenceType";
1410
- readonly properties: {
1411
- readonly isMulti: {
1412
- readonly name: "isMulti";
1413
- readonly defaultValue: false;
1414
- };
1415
- readonly referenceType: {
1416
- readonly name: "referenceType";
1417
- };
1418
- };
1419
- readonly superTypes: ["TypeDefinition"];
1420
- };
1421
- readonly RegexToken: {
1422
- readonly name: "RegexToken";
1423
- readonly properties: {
1424
- readonly cardinality: {
1425
- readonly name: "cardinality";
1426
- readonly optional: true;
1427
- };
1428
- readonly lookahead: {
1429
- readonly name: "lookahead";
1430
- readonly optional: true;
1431
- };
1432
- readonly parenthesized: {
1433
- readonly name: "parenthesized";
1434
- readonly defaultValue: false;
1435
- readonly optional: true;
1436
- };
1437
- readonly regex: {
1438
- readonly name: "regex";
1439
- };
1440
- };
1441
- readonly superTypes: ["TerminalElement"];
1442
- };
1443
- readonly ReturnType: {
1444
- readonly name: "ReturnType";
1445
- readonly properties: {
1446
- readonly name: {
1447
- readonly name: "name";
1448
- };
1449
- };
1450
- readonly superTypes: [];
1451
- };
1452
- readonly RuleCall: {
1453
- readonly name: "RuleCall";
1454
- readonly properties: {
1455
- readonly arguments: {
1456
- readonly name: "arguments";
1457
- readonly defaultValue: [];
1458
- };
1459
- readonly cardinality: {
1460
- readonly name: "cardinality";
1461
- readonly optional: true;
1462
- };
1463
- readonly predicate: {
1464
- readonly name: "predicate";
1465
- readonly optional: true;
1466
- };
1467
- readonly rule: {
1468
- readonly name: "rule";
1469
- readonly referenceType: "AbstractRule";
1470
- };
1471
- };
1472
- readonly superTypes: ["AbstractElement"];
1473
- };
1474
- readonly SimpleType: {
1475
- readonly name: "SimpleType";
1476
- readonly properties: {
1477
- readonly primitiveType: {
1478
- readonly name: "primitiveType";
1479
- readonly optional: true;
1480
- };
1481
- readonly stringType: {
1482
- readonly name: "stringType";
1483
- readonly optional: true;
1484
- };
1485
- readonly typeRef: {
1486
- readonly name: "typeRef";
1487
- readonly referenceType: "AbstractType";
1488
- readonly optional: true;
1489
- };
1490
- };
1491
- readonly superTypes: ["TypeDefinition"];
1492
- };
1493
- readonly StringLiteral: {
1494
- readonly name: "StringLiteral";
1495
- readonly properties: {
1496
- readonly value: {
1497
- readonly name: "value";
1498
- };
1499
- };
1500
- readonly superTypes: ["ValueLiteral"];
1501
- };
1502
- readonly TerminalAlternatives: {
1503
- readonly name: "TerminalAlternatives";
1504
- readonly properties: {
1505
- readonly cardinality: {
1506
- readonly name: "cardinality";
1507
- readonly optional: true;
1508
- };
1509
- readonly elements: {
1510
- readonly name: "elements";
1511
- readonly defaultValue: [];
1512
- };
1513
- readonly lookahead: {
1514
- readonly name: "lookahead";
1515
- readonly optional: true;
1516
- };
1517
- readonly parenthesized: {
1518
- readonly name: "parenthesized";
1519
- readonly defaultValue: false;
1520
- readonly optional: true;
1521
- };
1522
- };
1523
- readonly superTypes: ["TerminalElement"];
1524
- };
1525
- readonly TerminalElement: {
1526
- readonly name: "TerminalElement";
1527
- readonly properties: {
1528
- readonly cardinality: {
1529
- readonly name: "cardinality";
1530
- readonly optional: true;
1531
- };
1532
- readonly lookahead: {
1533
- readonly name: "lookahead";
1534
- readonly optional: true;
1535
- };
1536
- readonly parenthesized: {
1537
- readonly name: "parenthesized";
1538
- readonly defaultValue: false;
1539
- readonly optional: true;
1540
- };
1541
- };
1542
- readonly superTypes: ["AbstractElement"];
1543
- };
1544
- readonly TerminalGroup: {
1545
- readonly name: "TerminalGroup";
1546
- readonly properties: {
1547
- readonly cardinality: {
1548
- readonly name: "cardinality";
1549
- readonly optional: true;
1550
- };
1551
- readonly elements: {
1552
- readonly name: "elements";
1553
- readonly defaultValue: [];
1554
- };
1555
- readonly lookahead: {
1556
- readonly name: "lookahead";
1557
- readonly optional: true;
1558
- };
1559
- readonly parenthesized: {
1560
- readonly name: "parenthesized";
1561
- readonly defaultValue: false;
1562
- readonly optional: true;
1563
- };
1564
- };
1565
- readonly superTypes: ["TerminalElement"];
1566
- };
1567
- readonly TerminalRule: {
1568
- readonly name: "TerminalRule";
1569
- readonly properties: {
1570
- readonly definition: {
1571
- readonly name: "definition";
1572
- };
1573
- readonly fragment: {
1574
- readonly name: "fragment";
1575
- readonly defaultValue: false;
1576
- };
1577
- readonly hidden: {
1578
- readonly name: "hidden";
1579
- readonly defaultValue: false;
1580
- };
1581
- readonly name: {
1582
- readonly name: "name";
1583
- };
1584
- readonly type: {
1585
- readonly name: "type";
1586
- readonly optional: true;
1587
- };
1588
- };
1589
- readonly superTypes: ["AbstractRule"];
1590
- };
1591
- readonly TerminalRuleCall: {
1592
- readonly name: "TerminalRuleCall";
1593
- readonly properties: {
1594
- readonly cardinality: {
1595
- readonly name: "cardinality";
1596
- readonly optional: true;
1597
- };
1598
- readonly lookahead: {
1599
- readonly name: "lookahead";
1600
- readonly optional: true;
1601
- };
1602
- readonly parenthesized: {
1603
- readonly name: "parenthesized";
1604
- readonly defaultValue: false;
1605
- readonly optional: true;
1606
- };
1607
- readonly rule: {
1608
- readonly name: "rule";
1609
- readonly referenceType: "TerminalRule";
1610
- };
1611
- };
1612
- readonly superTypes: ["TerminalElement"];
1613
- };
1614
- readonly Type: {
1615
- readonly name: "Type";
1616
- readonly properties: {
1617
- readonly name: {
1618
- readonly name: "name";
1619
- };
1620
- readonly type: {
1621
- readonly name: "type";
1622
- };
1623
- };
1624
- readonly superTypes: ["AbstractType"];
1625
- };
1626
- readonly TypeAttribute: {
1627
- readonly name: "TypeAttribute";
1628
- readonly properties: {
1629
- readonly defaultValue: {
1630
- readonly name: "defaultValue";
1631
- readonly optional: true;
1632
- };
1633
- readonly isOptional: {
1634
- readonly name: "isOptional";
1635
- readonly defaultValue: false;
1636
- };
1637
- readonly name: {
1638
- readonly name: "name";
1639
- };
1640
- readonly type: {
1641
- readonly name: "type";
1642
- };
1643
- };
1644
- readonly superTypes: [];
1645
- };
1646
- readonly TypeDefinition: {
1647
- readonly name: "TypeDefinition";
1648
- readonly properties: {};
1649
- readonly superTypes: [];
1650
- };
1651
- readonly UnionType: {
1652
- readonly name: "UnionType";
1653
- readonly properties: {
1654
- readonly types: {
1655
- readonly name: "types";
1656
- readonly defaultValue: [];
1657
- };
1658
- };
1659
- readonly superTypes: ["TypeDefinition"];
1660
- };
1661
- readonly UnorderedGroup: {
1662
- readonly name: "UnorderedGroup";
1663
- readonly properties: {
1664
- readonly cardinality: {
1665
- readonly name: "cardinality";
1666
- readonly optional: true;
1667
- };
1668
- readonly elements: {
1669
- readonly name: "elements";
1670
- readonly defaultValue: [];
1671
- };
1672
- };
1673
- readonly superTypes: ["AbstractElement"];
1674
- };
1675
- readonly UntilToken: {
1676
- readonly name: "UntilToken";
1677
- readonly properties: {
1678
- readonly cardinality: {
1679
- readonly name: "cardinality";
1680
- readonly optional: true;
1681
- };
1682
- readonly lookahead: {
1683
- readonly name: "lookahead";
1684
- readonly optional: true;
1685
- };
1686
- readonly parenthesized: {
1687
- readonly name: "parenthesized";
1688
- readonly defaultValue: false;
1689
- readonly optional: true;
1690
- };
1691
- readonly terminal: {
1692
- readonly name: "terminal";
1693
- };
1694
- };
1695
- readonly superTypes: ["TerminalElement"];
1696
- };
1697
- readonly ValueLiteral: {
1698
- readonly name: "ValueLiteral";
1699
- readonly properties: {};
1700
- readonly superTypes: [];
1701
- };
1702
- readonly Wildcard: {
1703
- readonly name: "Wildcard";
1704
- readonly properties: {
1705
- readonly cardinality: {
1706
- readonly name: "cardinality";
1707
- readonly optional: true;
1708
- };
1709
- readonly lookahead: {
1710
- readonly name: "lookahead";
1711
- readonly optional: true;
1712
- };
1713
- readonly parenthesized: {
1714
- readonly name: "parenthesized";
1715
- readonly defaultValue: false;
1716
- readonly optional: true;
1717
- };
1718
- };
1719
- readonly superTypes: ["TerminalElement"];
1720
- };
1721
- };
1722
- }
1723
- declare const reflection: LangiumGrammarAstReflection;
1724
- //#endregion
1725
- //#region ../../node_modules/.pnpm/vscode-languageserver-textdocument@1.0.15/node_modules/vscode-languageserver-textdocument/lib/esm/main.d.ts
1726
614
  /**
1727
615
  * A tagging type for string properties that are actually URIs.
1728
616
  */
@@ -1858,6 +746,7 @@ interface TextDocument {
1858
746
  * and {@link Position.character}.
1859
747
  * If the start range position is greater than the end range position,
1860
748
  * then the effect of getText is as if the two positions were swapped.
749
+
1861
750
  * @return The text of this document or a substring of the text if a
1862
751
  * range is provided.
1863
752
  */
@@ -1933,8 +822,6 @@ declare namespace TextDocument {
1933
822
  function update(document: TextDocument, changes: TextDocumentContentChangeEvent$1[], version: number): TextDocument;
1934
823
  function applyEdits(document: TextDocument, edits: TextEdit$1[]): string;
1935
824
  }
1936
- //#endregion
1937
- //#region ../../node_modules/.pnpm/vscode-languageserver-types@3.18.4/node_modules/vscode-languageserver-types/lib/esm/main.d.ts
1938
825
  /**
1939
826
  * A tagging type for string properties that are actually document URIs.
1940
827
  */
@@ -5214,14 +4101,11 @@ interface WorkspaceFolder {
5214
4101
  declare namespace WorkspaceFolder {
5215
4102
  function is(value: any): value is WorkspaceFolder;
5216
4103
  }
5217
- //#endregion
5218
- //#region ../../node_modules/.pnpm/langium@4.4.0/node_modules/langium/lib/workspace/file-system-provider.d.ts
5219
4104
  interface FileSystemNode {
5220
4105
  readonly isFile: boolean;
5221
4106
  readonly isDirectory: boolean;
5222
4107
  readonly uri: URI$1;
5223
4108
  }
5224
- type FileSystemFilter = (node: FileSystemNode) => boolean;
5225
4109
  /**
5226
4110
  * Provides methods to interact with an abstract file system. The default implementation is based on the node.js `fs` API.
5227
4111
  */
@@ -5279,23 +4163,6 @@ interface FileSystemProvider {
5279
4163
  */
5280
4164
  readDirectorySync(uri: URI$1): FileSystemNode[];
5281
4165
  }
5282
- declare class EmptyFileSystemProvider implements FileSystemProvider {
5283
- stat(_uri: URI$1): Promise<FileSystemNode>;
5284
- statSync(_uri: URI$1): FileSystemNode;
5285
- exists(): Promise<boolean>;
5286
- existsSync(): boolean;
5287
- readBinary(): Promise<Uint8Array>;
5288
- readBinarySync(): Uint8Array;
5289
- readFile(): Promise<string>;
5290
- readFileSync(): string;
5291
- readDirectory(): Promise<FileSystemNode[]>;
5292
- readDirectorySync(): FileSystemNode[];
5293
- }
5294
- declare const EmptyFileSystem: {
5295
- fileSystemProvider: () => EmptyFileSystemProvider;
5296
- };
5297
- //#endregion
5298
- //#region ../../node_modules/.pnpm/langium@4.4.0/node_modules/langium/lib/languages/grammar-config.d.ts
5299
4166
  interface GrammarConfig {
5300
4167
  /**
5301
4168
  * Lists all rule names which are classified as multiline comment rules
@@ -5306,13 +4173,6 @@ interface GrammarConfig {
5306
4173
  */
5307
4174
  nameRegexp: RegExp;
5308
4175
  }
5309
- /**
5310
- * Create the default grammar configuration (used by `createDefaultModule`). This can be overridden in a
5311
- * language-specific module.
5312
- */
5313
- declare function createGrammarConfig(services: LangiumCoreServices): GrammarConfig;
5314
- //#endregion
5315
- //#region ../../node_modules/.pnpm/langium@4.4.0/node_modules/langium/lib/documentation/comment-provider.d.ts
5316
4176
  /**
5317
4177
  * Provides comments for AST nodes.
5318
4178
  */
@@ -5324,13 +4184,6 @@ interface CommentProvider {
5324
4184
  */
5325
4185
  getComment(node: AstNode): string | undefined;
5326
4186
  }
5327
- declare class DefaultCommentProvider implements CommentProvider {
5328
- protected readonly grammarConfig: () => GrammarConfig;
5329
- constructor(services: LangiumCoreServices);
5330
- getComment(node: AstNode): string | undefined;
5331
- }
5332
- //#endregion
5333
- //#region ../../node_modules/.pnpm/langium@4.4.0/node_modules/langium/lib/service-registry.d.ts
5334
4187
  /**
5335
4188
  * The service registry provides access to the language-specific {@link LangiumCoreServices} optionally including LSP-related services.
5336
4189
  * These are resolved via the URI of a text document.
@@ -5354,26 +4207,6 @@ interface ServiceRegistry {
5354
4207
  */
5355
4208
  readonly all: readonly LangiumCoreServices[];
5356
4209
  }
5357
- /**
5358
- * Generic registry for Langium services, but capable of being used with extending service sets as well (such as the lsp-complete LangiumCoreServices set)
5359
- */
5360
- declare class DefaultServiceRegistry implements ServiceRegistry {
5361
- protected readonly languageIdMap: Map<string, LangiumCoreServices>;
5362
- protected readonly fileExtensionMap: Map<string, LangiumCoreServices>;
5363
- protected readonly fileNameMap: Map<string, LangiumCoreServices>;
5364
- /**
5365
- * @deprecated Since 3.1.0. Use the new `fileExtensionMap` (or `languageIdMap`) property instead.
5366
- */
5367
- protected get map(): Map<string, LangiumCoreServices> | undefined;
5368
- protected readonly textDocuments?: TextDocumentProvider;
5369
- constructor(services?: LangiumSharedCoreServices);
5370
- register(language: LangiumCoreServices): void;
5371
- getServices(uri: URI$1): LangiumCoreServices;
5372
- hasServices(uri: URI$1): boolean;
5373
- get all(): readonly LangiumCoreServices[];
5374
- }
5375
- //#endregion
5376
- //#region ../../node_modules/.pnpm/langium@4.4.0/node_modules/langium/lib/utils/disposable.d.ts
5377
4210
  /******************************************************************************
5378
4211
  * Copyright 2021 TypeFox GmbH
5379
4212
  * This program and the accompanying materials are made available under the
@@ -5395,8 +4228,6 @@ declare namespace Disposable$1 {
5395
4228
  function create(callback: () => Promise<void>): AsyncDisposable;
5396
4229
  function create(callback: () => void): Disposable$1;
5397
4230
  }
5398
- //#endregion
5399
- //#region ../../node_modules/.pnpm/langium@4.4.0/node_modules/langium/lib/utils/caching.d.ts
5400
4231
  declare abstract class DisposableCache implements Disposable$1 {
5401
4232
  protected toDispose: Disposable$1[];
5402
4233
  protected isDisposed: boolean;
@@ -5427,25 +4258,6 @@ declare class ContextCache<Context, Key, Value, ContextKey = Context> extends Di
5427
4258
  clear(contextKey: Context): void;
5428
4259
  protected cacheForContext(contextKey: Context): Map<Key, Value>;
5429
4260
  }
5430
- /**
5431
- * Every key/value pair in this cache is scoped to a document.
5432
- * If this document is changed or deleted, all associated key/value pairs are deleted.
5433
- */
5434
- declare class DocumentCache<K, V> extends ContextCache<URI$1 | string, K, V, string> {
5435
- /**
5436
- * Creates a new document cache.
5437
- *
5438
- * @param sharedServices Service container instance to hook into document lifecycle events.
5439
- * @param state Optional document state on which the cache should evict.
5440
- * If not provided, the cache will evict on `DocumentBuilder#onUpdate`.
5441
- * *Deleted* documents are considered in both cases.
5442
- *
5443
- * Providing a state here will use `DocumentBuilder#onDocumentPhase` instead,
5444
- * which triggers on all documents that have been affected by this change, assuming that the
5445
- * state is `DocumentState.Linked` or a later state.
5446
- */
5447
- constructor(sharedServices: LangiumSharedCoreServices, state?: DocumentState);
5448
- }
5449
4261
  /**
5450
4262
  * Every key/value pair in this cache is scoped to the whole workspace.
5451
4263
  * If any document in the workspace is added, changed or deleted, the whole cache is evicted.
@@ -5461,8 +4273,6 @@ declare class WorkspaceCache<K, V> extends SimpleCache<K, V> {
5461
4273
  */
5462
4274
  constructor(sharedServices: LangiumSharedCoreServices, state?: DocumentState);
5463
4275
  }
5464
- //#endregion
5465
- //#region ../../node_modules/.pnpm/vscode-jsonrpc@9.0.3/node_modules/vscode-jsonrpc/lib/common/messages.d.ts
5466
4276
  interface ResponseErrorLiteral<D = void> {
5467
4277
  /**
5468
4278
  * A number indicating the error type that occurred.
@@ -5568,8 +4378,6 @@ declare class NotificationType0 extends AbstractMessageSignature {
5568
4378
  readonly _: [_EM] | undefined;
5569
4379
  constructor(method: string);
5570
4380
  }
5571
- //#endregion
5572
- //#region ../../node_modules/.pnpm/vscode-jsonrpc@9.0.3/node_modules/vscode-jsonrpc/lib/common/disposable.d.ts
5573
4381
  interface Disposable {
5574
4382
  /**
5575
4383
  * Dispose this object.
@@ -5579,8 +4387,6 @@ interface Disposable {
5579
4387
  declare namespace Disposable {
5580
4388
  function create(func: () => void): Disposable;
5581
4389
  }
5582
- //#endregion
5583
- //#region ../../node_modules/.pnpm/vscode-jsonrpc@9.0.3/node_modules/vscode-jsonrpc/lib/common/events.d.ts
5584
4390
  /**
5585
4391
  * Represents a typed event.
5586
4392
  */
@@ -5619,8 +4425,6 @@ declare class Emitter<T> {
5619
4425
  fire(event: T): any;
5620
4426
  dispose(): void;
5621
4427
  }
5622
- //#endregion
5623
- //#region ../../node_modules/.pnpm/vscode-jsonrpc@9.0.3/node_modules/vscode-jsonrpc/lib/common/cancellation.d.ts
5624
4428
  /**
5625
4429
  * Defines a CancellationToken. This interface is not
5626
4430
  * intended to be implemented. A CancellationToken must
@@ -5641,18 +4445,6 @@ declare namespace CancellationToken {
5641
4445
  const Cancelled: CancellationToken;
5642
4446
  function is(value: any): value is CancellationToken;
5643
4447
  }
5644
- interface AbstractCancellationTokenSource extends Disposable {
5645
- token: CancellationToken;
5646
- cancel(): void;
5647
- }
5648
- declare class CancellationTokenSource implements AbstractCancellationTokenSource {
5649
- private _token;
5650
- get token(): CancellationToken;
5651
- cancel(): void;
5652
- dispose(): void;
5653
- }
5654
- //#endregion
5655
- //#region ../../node_modules/.pnpm/vscode-jsonrpc@9.0.3/node_modules/vscode-jsonrpc/lib/common/connection.d.ts
5656
4448
  type ProgressToken = number | string;
5657
4449
  declare namespace ProgressToken {
5658
4450
  function is(value: any): value is number | string;
@@ -5715,8 +4507,6 @@ declare namespace TraceValue {
5715
4507
  const Verbose: 'verbose';
5716
4508
  }
5717
4509
  type TraceValue = 'off' | 'messages' | 'compact' | 'verbose';
5718
- //#endregion
5719
- //#region ../../node_modules/.pnpm/vscode-languageserver-protocol@3.18.4/node_modules/vscode-languageserver-protocol/lib/common/messages.d.ts
5720
4510
  declare class RegistrationType<RO> {
5721
4511
  /**
5722
4512
  * Clients must not use this property. It is here to ensure correct typing.
@@ -5762,8 +4552,6 @@ declare class ProtocolNotificationType<P, RO> extends NotificationType<P> implem
5762
4552
  readonly ____: [RO, _EM] | undefined;
5763
4553
  constructor(method: string);
5764
4554
  }
5765
- //#endregion
5766
- //#region ../../node_modules/.pnpm/vscode-languageserver-protocol@3.18.4/node_modules/vscode-languageserver-protocol/lib/common/protocol.implementation.d.ts
5767
4555
  /**
5768
4556
  * @since 3.6.0
5769
4557
  */
@@ -5784,8 +4572,6 @@ interface ImplementationClientCapabilities {
5784
4572
  interface ImplementationOptions extends WorkDoneProgressOptions {}
5785
4573
  interface ImplementationRegistrationOptions extends TextDocumentRegistrationOptions, ImplementationOptions, StaticRegistrationOptions {}
5786
4574
  interface ImplementationParams extends TextDocumentPositionParams, WorkDoneProgressParams, PartialResultParams {}
5787
- //#endregion
5788
- //#region ../../node_modules/.pnpm/vscode-languageserver-protocol@3.18.4/node_modules/vscode-languageserver-protocol/lib/common/protocol.typeDefinition.d.ts
5789
4575
  /**
5790
4576
  * Since 3.6.0
5791
4577
  */
@@ -5806,8 +4592,6 @@ interface TypeDefinitionClientCapabilities {
5806
4592
  interface TypeDefinitionOptions extends WorkDoneProgressOptions {}
5807
4593
  interface TypeDefinitionRegistrationOptions extends TextDocumentRegistrationOptions, TypeDefinitionOptions, StaticRegistrationOptions {}
5808
4594
  interface TypeDefinitionParams extends TextDocumentPositionParams, WorkDoneProgressParams, PartialResultParams {}
5809
- //#endregion
5810
- //#region ../../node_modules/.pnpm/vscode-languageserver-protocol@3.18.4/node_modules/vscode-languageserver-protocol/lib/common/protocol.workspaceFolder.d.ts
5811
4595
  interface WorkspaceFoldersInitializeParams {
5812
4596
  /**
5813
4597
  * The workspace folders configured in the client when the server starts.
@@ -5849,8 +4633,6 @@ interface WorkspaceFoldersChangeEvent {
5849
4633
  */
5850
4634
  removed: WorkspaceFolder[];
5851
4635
  }
5852
- //#endregion
5853
- //#region ../../node_modules/.pnpm/vscode-languageserver-protocol@3.18.4/node_modules/vscode-languageserver-protocol/lib/common/protocol.configuration.d.ts
5854
4636
  interface ConfigurationItem {
5855
4637
  /**
5856
4638
  * The scope to get the configuration section for.
@@ -5861,8 +4643,6 @@ interface ConfigurationItem {
5861
4643
  */
5862
4644
  section?: string;
5863
4645
  }
5864
- //#endregion
5865
- //#region ../../node_modules/.pnpm/vscode-languageserver-protocol@3.18.4/node_modules/vscode-languageserver-protocol/lib/common/protocol.colorProvider.d.ts
5866
4646
  interface DocumentColorClientCapabilities {
5867
4647
  /**
5868
4648
  * Whether implementation supports dynamic registration. If this is set to `true`
@@ -5899,8 +4679,6 @@ interface ColorPresentationParams extends WorkDoneProgressParams, PartialResultP
5899
4679
  */
5900
4680
  range: Range;
5901
4681
  }
5902
- //#endregion
5903
- //#region ../../node_modules/.pnpm/vscode-languageserver-protocol@3.18.4/node_modules/vscode-languageserver-protocol/lib/common/protocol.foldingRange.d.ts
5904
4682
  /**
5905
4683
  * @since 3.18.0
5906
4684
  */
@@ -5988,8 +4766,6 @@ interface FoldingRangeParams extends WorkDoneProgressParams, PartialResultParams
5988
4766
  */
5989
4767
  textDocument: TextDocumentIdentifier;
5990
4768
  }
5991
- //#endregion
5992
- //#region ../../node_modules/.pnpm/vscode-languageserver-protocol@3.18.4/node_modules/vscode-languageserver-protocol/lib/common/protocol.declaration.d.ts
5993
4769
  /**
5994
4770
  * @since 3.14.0
5995
4771
  */
@@ -6008,8 +4784,6 @@ interface DeclarationClientCapabilities {
6008
4784
  interface DeclarationOptions extends WorkDoneProgressOptions {}
6009
4785
  interface DeclarationRegistrationOptions extends DeclarationOptions, TextDocumentRegistrationOptions, StaticRegistrationOptions {}
6010
4786
  interface DeclarationParams extends TextDocumentPositionParams, WorkDoneProgressParams, PartialResultParams {}
6011
- //#endregion
6012
- //#region ../../node_modules/.pnpm/vscode-languageserver-protocol@3.18.4/node_modules/vscode-languageserver-protocol/lib/common/protocol.selectionRange.d.ts
6013
4787
  interface SelectionRangeClientCapabilities {
6014
4788
  /**
6015
4789
  * Whether implementation supports dynamic registration for selection range providers. If this is set to `true`
@@ -6033,8 +4807,6 @@ interface SelectionRangeParams extends WorkDoneProgressParams, PartialResultPara
6033
4807
  */
6034
4808
  positions: Position[];
6035
4809
  }
6036
- //#endregion
6037
- //#region ../../node_modules/.pnpm/vscode-languageserver-protocol@3.18.4/node_modules/vscode-languageserver-protocol/lib/common/protocol.callHierarchy.d.ts
6038
4810
  /**
6039
4811
  * @since 3.16.0
6040
4812
  */
@@ -6080,8 +4852,6 @@ interface CallHierarchyIncomingCallsParams extends WorkDoneProgressParams, Parti
6080
4852
  interface CallHierarchyOutgoingCallsParams extends WorkDoneProgressParams, PartialResultParams {
6081
4853
  item: CallHierarchyItem;
6082
4854
  }
6083
- //#endregion
6084
- //#region ../../node_modules/.pnpm/vscode-languageserver-protocol@3.18.4/node_modules/vscode-languageserver-protocol/lib/common/protocol.semanticTokens.d.ts
6085
4855
  /**
6086
4856
  * @since 3.16.0
6087
4857
  */
@@ -6271,8 +5041,6 @@ interface SemanticTokensWorkspaceClientCapabilities {
6271
5041
  */
6272
5042
  refreshSupport?: boolean;
6273
5043
  }
6274
- //#endregion
6275
- //#region ../../node_modules/.pnpm/vscode-languageserver-protocol@3.18.4/node_modules/vscode-languageserver-protocol/lib/common/protocol.showDocument.d.ts
6276
5044
  /**
6277
5045
  * Client capabilities for the showDocument request.
6278
5046
  *
@@ -6327,8 +5095,6 @@ interface ShowDocumentResult {
6327
5095
  */
6328
5096
  success: boolean;
6329
5097
  }
6330
- //#endregion
6331
- //#region ../../node_modules/.pnpm/vscode-languageserver-protocol@3.18.4/node_modules/vscode-languageserver-protocol/lib/common/protocol.linkedEditingRange.d.ts
6332
5098
  /**
6333
5099
  * Client capabilities for the linked editing range request.
6334
5100
  *
@@ -6363,8 +5129,6 @@ interface LinkedEditingRanges {
6363
5129
  */
6364
5130
  wordPattern?: string;
6365
5131
  }
6366
- //#endregion
6367
- //#region ../../node_modules/.pnpm/vscode-languageserver-protocol@3.18.4/node_modules/vscode-languageserver-protocol/lib/common/protocol.fileOperations.d.ts
6368
5132
  /**
6369
5133
  * Options for notifications/requests for user operations on files.
6370
5134
  *
@@ -6591,8 +5355,6 @@ interface FileDelete {
6591
5355
  */
6592
5356
  uri: DocumentUri;
6593
5357
  }
6594
- //#endregion
6595
- //#region ../../node_modules/.pnpm/vscode-languageserver-protocol@3.18.4/node_modules/vscode-languageserver-protocol/lib/common/protocol.moniker.d.ts
6596
5358
  /**
6597
5359
  * Moniker uniqueness level to define scope of the moniker.
6598
5360
  *
@@ -6682,8 +5444,6 @@ interface MonikerClientCapabilities {
6682
5444
  interface MonikerOptions extends WorkDoneProgressOptions {}
6683
5445
  interface MonikerRegistrationOptions extends TextDocumentRegistrationOptions, MonikerOptions {}
6684
5446
  interface MonikerParams extends TextDocumentPositionParams, WorkDoneProgressParams, PartialResultParams {}
6685
- //#endregion
6686
- //#region ../../node_modules/.pnpm/vscode-languageserver-protocol@3.18.4/node_modules/vscode-languageserver-protocol/lib/common/protocol.typeHierarchy.d.ts
6687
5447
  /**
6688
5448
  * @since 3.17.0
6689
5449
  */
@@ -6729,8 +5489,6 @@ type TypeHierarchySupertypesParams = WorkDoneProgressParams & PartialResultParam
6729
5489
  type TypeHierarchySubtypesParams = WorkDoneProgressParams & PartialResultParams & {
6730
5490
  item: TypeHierarchyItem;
6731
5491
  };
6732
- //#endregion
6733
- //#region ../../node_modules/.pnpm/vscode-languageserver-protocol@3.18.4/node_modules/vscode-languageserver-protocol/lib/common/protocol.inlineValue.d.ts
6734
5492
  /**
6735
5493
  * Client capabilities specific to inline values.
6736
5494
  *
@@ -6791,8 +5549,6 @@ type InlineValueParams = WorkDoneProgressParams & PartialResultParams & {
6791
5549
  */
6792
5550
  context: InlineValueContext;
6793
5551
  };
6794
- //#endregion
6795
- //#region ../../node_modules/.pnpm/vscode-languageserver-protocol@3.18.4/node_modules/vscode-languageserver-protocol/lib/common/protocol.inlayHint.d.ts
6796
5552
  /**
6797
5553
  * @since 3.18.0
6798
5554
  */
@@ -6868,8 +5624,6 @@ type InlayHintParams = WorkDoneProgressParams & PartialResultParams & {
6868
5624
  */
6869
5625
  range: Range;
6870
5626
  };
6871
- //#endregion
6872
- //#region ../../node_modules/.pnpm/vscode-languageserver-protocol@3.18.4/node_modules/vscode-languageserver-protocol/lib/common/protocol.diagnostic.d.ts
6873
5627
  /**
6874
5628
  * Client capabilities specific to diagnostic pull requests.
6875
5629
  *
@@ -7175,8 +5929,6 @@ type WorkspaceDiagnosticReport = {
7175
5929
  type WorkspaceDiagnosticReportPartialResult = {
7176
5930
  items: WorkspaceDocumentDiagnosticReport[];
7177
5931
  };
7178
- //#endregion
7179
- //#region ../../node_modules/.pnpm/vscode-languageserver-protocol@3.18.4/node_modules/vscode-languageserver-protocol/lib/common/protocol.notebook.d.ts
7180
5932
  /**
7181
5933
  * Notebook specific client capabilities.
7182
5934
  *
@@ -7558,8 +6310,6 @@ type DidCloseNotebookDocumentParams = {
7558
6310
  */
7559
6311
  cellTextDocuments: TextDocumentIdentifier[];
7560
6312
  };
7561
- //#endregion
7562
- //#region ../../node_modules/.pnpm/vscode-languageserver-protocol@3.18.4/node_modules/vscode-languageserver-protocol/lib/common/protocol.inlineCompletion.d.ts
7563
6313
  /**
7564
6314
  * Client capabilities specific to inline completions.
7565
6315
  *
@@ -7589,8 +6339,6 @@ type InlineCompletionParams = WorkDoneProgressParams & TextDocumentPositionParam
7589
6339
  */
7590
6340
  context: InlineCompletionContext;
7591
6341
  };
7592
- //#endregion
7593
- //#region ../../node_modules/.pnpm/vscode-languageserver-protocol@3.18.4/node_modules/vscode-languageserver-protocol/lib/common/protocol.textDocumentContent.d.ts
7594
6342
  /**
7595
6343
  * Client capabilities for a text document content provider.
7596
6344
  *
@@ -7644,8 +6392,6 @@ interface TextDocumentContentResult {
7644
6392
  */
7645
6393
  text: string;
7646
6394
  }
7647
- //#endregion
7648
- //#region ../../node_modules/.pnpm/vscode-languageserver-protocol@3.18.4/node_modules/vscode-languageserver-protocol/lib/common/protocol.d.ts
7649
6395
  /**
7650
6396
  * A document filter where `language` is required field.
7651
6397
  *
@@ -9169,6 +7915,35 @@ type GlobPattern = Pattern | RelativePattern;
9169
7915
  declare namespace GlobPattern {
9170
7916
  function is(value: any): value is GlobPattern;
9171
7917
  }
7918
+ interface FileSystemWatcher {
7919
+ /**
7920
+ * The glob pattern to watch. See {@link GlobPattern glob pattern} for more detail.
7921
+ *
7922
+ * @since 3.17.0 support for relative patterns.
7923
+ */
7924
+ globPattern: GlobPattern;
7925
+ /**
7926
+ * The kind of events of interest. If omitted it defaults
7927
+ * to WatchKind.Create | WatchKind.Change | WatchKind.Delete
7928
+ * which is 7.
7929
+ */
7930
+ kind?: WatchKind;
7931
+ }
7932
+ declare namespace WatchKind {
7933
+ /**
7934
+ * Interested in create events.
7935
+ */
7936
+ const Create: 1;
7937
+ /**
7938
+ * Interested in change events
7939
+ */
7940
+ const Change: 2;
7941
+ /**
7942
+ * Interested in delete events
7943
+ */
7944
+ const Delete: 4;
7945
+ }
7946
+ type WatchKind = uinteger;
9172
7947
  /**
9173
7948
  * @since 3.18.0
9174
7949
  */
@@ -10495,11 +9270,6 @@ interface ApplyWorkspaceEditResult {
10495
9270
  * @deprecated Use ApplyWorkspaceEditResult instead.
10496
9271
  */
10497
9272
  type ApplyWorkspaceEditResponse = ApplyWorkspaceEditResult;
10498
- declare namespace cancellation_d_exports {
10499
- export { AbstractCancellationTokenSource, CancellationToken, CancellationTokenSource };
10500
- }
10501
- //#endregion
10502
- //#region ../../node_modules/.pnpm/langium@4.4.0/node_modules/langium/lib/utils/stream.d.ts
10503
9273
  /******************************************************************************
10504
9274
  * Copyright 2021 TypeFox GmbH
10505
9275
  * This program and the accompanying materials are made available under the
@@ -10720,120 +9490,6 @@ type FlatStream<T, Depth extends number> = {
10720
9490
  'recur': T extends Iterable<infer Content> ? FlatStream<Content, MinusOne<Depth>> : Stream<T>;
10721
9491
  }[Depth extends 0 ? 'done' : 'recur'];
10722
9492
  type MinusOne<N extends number> = [-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][N];
10723
- /**
10724
- * The default implementation of `Stream` works with two input functions:
10725
- * - The first function creates the initial state of an iteration.
10726
- * - The second function gets the current state as argument and returns an `IteratorResult`.
10727
- */
10728
- declare class StreamImpl<S, T> implements Stream<T> {
10729
- protected readonly startFn: () => S;
10730
- protected readonly nextFn: (state: S) => IteratorResult<T>;
10731
- constructor(startFn: () => S, nextFn: (state: S) => IteratorResult<T, undefined>);
10732
- iterator(): IterableIterator<T>;
10733
- [Symbol.iterator](): Iterator<T>;
10734
- isEmpty(): boolean;
10735
- count(): number;
10736
- toArray(): T[];
10737
- toSet(): Set<T>;
10738
- toMap<K = T, V = T>(keyFn?: (e: T) => K, valueFn?: (e: T) => V): Map<K, V>;
10739
- toString(): string;
10740
- concat<T2>(other: Iterable<T2>): Stream<T | T2>;
10741
- join(separator?: string): string;
10742
- indexOf(searchElement: T, fromIndex?: number): number;
10743
- every<U extends T>(predicate: (value: T) => value is U): this is Stream<U> & this;
10744
- every(predicate: (value: T) => unknown): boolean;
10745
- some(predicate: (value: T) => unknown): boolean;
10746
- forEach(callbackfn: (value: T, index: number) => void): void;
10747
- map<U>(callbackfn: (value: T) => U): Stream<U>;
10748
- filter<U extends T>(predicate: (value: T) => value is U): Stream<U> & this;
10749
- filter(predicate: (value: T) => unknown): Stream<T> & this;
10750
- nonNullable(): Stream<NonNullable<T>>;
10751
- reduce(callbackfn: (previousValue: T, currentValue: T) => T): T | undefined;
10752
- reduce<U = T>(callbackfn: (previousValue: U, currentValue: T) => U, initialValue: U): U;
10753
- reduceRight(callbackfn: (previousValue: T, currentValue: T) => T): T | undefined;
10754
- reduceRight<U = T>(callbackfn: (previousValue: U, currentValue: T) => U, initialValue: U): U;
10755
- protected recursiveReduce<U>(iterator: Iterator<T>, callbackfn: (previousValue: U | T, currentValue: T) => U, initialValue?: U): U | T | undefined;
10756
- find<S extends T>(predicate: (value: T) => value is S): S | undefined;
10757
- find(predicate: (value: T) => unknown): T | undefined;
10758
- findIndex(predicate: (value: T) => unknown): number;
10759
- includes(searchElement: T): boolean;
10760
- flatMap<U>(callbackfn: (value: T) => U | Iterable<U>): Stream<U>;
10761
- flat<D extends number = 1>(depth?: D): FlatStream<T, D>;
10762
- head(): T | undefined;
10763
- tail(skipCount?: number): Stream<T>;
10764
- limit(maxSize: number): Stream<T>;
10765
- distinct<Key = T>(by?: (element: T) => Key): Stream<T>;
10766
- exclude<Key = T>(other: Iterable<T>, key?: (element: T) => Key): Stream<T>;
10767
- }
10768
- /**
10769
- * An empty stream of any type.
10770
- */
10771
- declare const EMPTY_STREAM: Stream<any>;
10772
- /**
10773
- * Use this `IteratorResult` when implementing a `StreamImpl` to indicate that there are no more elements in the stream.
10774
- */
10775
- declare const DONE_RESULT: IteratorReturnResult<undefined>;
10776
- /**
10777
- * Create a stream from one or more iterables or array-likes.
10778
- */
10779
- declare function stream<T>(...collections: Array<Iterable<T> | ArrayLike<T>>): Stream<T>;
10780
- /**
10781
- * A tree iterator adds the ability to prune the current iteration.
10782
- */
10783
- interface TreeIterator<T> extends IterableIterator<T> {
10784
- /**
10785
- * Skip the whole subtree below the last returned element. The iteration continues as if that
10786
- * element had no children.
10787
- */
10788
- prune(): void;
10789
- }
10790
- /**
10791
- * A tree stream is used to stream the elements of a tree, for example an AST or CST.
10792
- */
10793
- interface TreeStream<T> extends Stream<T> {
10794
- iterator(): TreeIterator<T>;
10795
- }
10796
- /**
10797
- * The default implementation of `TreeStream` takes a root element and a function that computes the
10798
- * children of its argument. Whether the root node included in the stream is controlled with the
10799
- * `includeRoot` option, which defaults to `false`.
10800
- */
10801
- declare class TreeStreamImpl<T> extends StreamImpl<{
10802
- iterators: Array<Iterator<T>>;
10803
- pruned: boolean;
10804
- }, T> implements TreeStream<T> {
10805
- constructor(root: T, children: (node: T) => Iterable<T>, options?: {
10806
- includeRoot?: boolean;
10807
- });
10808
- iterator(): TreeIterator<T>;
10809
- }
10810
- /**
10811
- * A set of utility functions that reduce a stream to a single value.
10812
- */
10813
- declare namespace Reduction {
10814
- /**
10815
- * Compute the sum of a number stream.
10816
- */
10817
- function sum(stream: Stream<number>): number;
10818
- /**
10819
- * Compute the product of a number stream.
10820
- */
10821
- function product(stream: Stream<number>): number;
10822
- /**
10823
- * Compute the minimum of a number stream. Returns `undefined` if the stream is empty.
10824
- */
10825
- function min(stream: Stream<number>): number | undefined;
10826
- /**
10827
- * Compute the maximum of a number stream. Returns `undefined` if the stream is empty.
10828
- */
10829
- function max(stream: Stream<number>): number | undefined;
10830
- }
10831
- //#endregion
10832
- //#region ../../node_modules/.pnpm/langium@4.4.0/node_modules/langium/lib/references/name-provider.d.ts
10833
- interface NamedAstNode extends AstNode {
10834
- name: string;
10835
- }
10836
- declare function isNamed(node: AstNode): node is NamedAstNode;
10837
9493
  /**
10838
9494
  * Utility service for retrieving the `name` of an `AstNode` or the `CstNode` containing a `name`.
10839
9495
  */
@@ -10853,8 +9509,6 @@ declare class DefaultNameProvider implements NameProvider {
10853
9509
  getName(node: AstNode): string | undefined;
10854
9510
  getNameNode(node: AstNode): CstNode | undefined;
10855
9511
  }
10856
- //#endregion
10857
- //#region ../../node_modules/.pnpm/langium@4.4.0/node_modules/langium/lib/workspace/ast-node-locator.d.ts
10858
9512
  /**
10859
9513
  * Language-specific service for locating an `AstNode` in a document.
10860
9514
  */
@@ -10878,15 +9532,6 @@ interface AstNodeLocator {
10878
9532
  */
10879
9533
  getAstNode<T extends AstNode = AstNode>(node: AstNode, path: string): T | undefined;
10880
9534
  }
10881
- declare class DefaultAstNodeLocator implements AstNodeLocator {
10882
- protected segmentSeparator: string;
10883
- protected indexSeparator: string;
10884
- getAstNodePath(node: AstNode): string;
10885
- protected getPathSegment({ $containerProperty, $containerIndex }: AstNode): string;
10886
- getAstNode<T extends AstNode = AstNode>(node: AstNode, path: string): T | undefined;
10887
- }
10888
- //#endregion
10889
- //#region ../../node_modules/.pnpm/langium@4.4.0/node_modules/langium/lib/workspace/ast-descriptions.d.ts
10890
9535
  /**
10891
9536
  * Language-specific service for creating descriptions of AST nodes to be used for cross-reference resolutions.
10892
9537
  */
@@ -10903,12 +9548,6 @@ interface AstNodeDescriptionProvider {
10903
9548
  */
10904
9549
  createDescription(node: AstNode, name: string | undefined, document?: LangiumDocument): AstNodeDescription;
10905
9550
  }
10906
- declare class DefaultAstNodeDescriptionProvider implements AstNodeDescriptionProvider {
10907
- protected readonly astNodeLocator: AstNodeLocator;
10908
- protected readonly nameProvider: NameProvider;
10909
- constructor(services: LangiumCoreServices);
10910
- createDescription(node: AstNode, name: string | undefined, document?: LangiumDocument): AstNodeDescription;
10911
- }
10912
9551
  /**
10913
9552
  * Describes a cross-reference within a document or between two documents.
10914
9553
  */
@@ -10942,14 +9581,6 @@ interface ReferenceDescriptionProvider {
10942
9581
  */
10943
9582
  createDescriptions(document: LangiumDocument, cancelToken?: CancellationToken): Promise<ReferenceDescription[]>;
10944
9583
  }
10945
- declare class DefaultReferenceDescriptionProvider implements ReferenceDescriptionProvider {
10946
- protected readonly nodeLocator: AstNodeLocator;
10947
- constructor(services: LangiumCoreServices);
10948
- createDescriptions(document: LangiumDocument, cancelToken?: CancellationToken): Promise<ReferenceDescription[]>;
10949
- protected createInfoDescriptions(refInfo: ReferenceInfo): ReferenceDescription[];
10950
- }
10951
- //#endregion
10952
- //#region ../../node_modules/.pnpm/langium@4.4.0/node_modules/langium/lib/workspace/index-manager.d.ts
10953
9584
  /**
10954
9585
  * The index manager is responsible for keeping metadata about symbols and cross-references
10955
9586
  * in the workspace. It is used to look up symbols in the global scope, mostly during linking
@@ -11045,14 +9676,6 @@ declare class DefaultIndexManager implements IndexManager {
11045
9676
  updateReferences(document: LangiumDocument, cancelToken?: CancellationToken): Promise<void>;
11046
9677
  isAffected(document: LangiumDocument, changedUris: Set<string>): boolean;
11047
9678
  }
11048
- //#endregion
11049
- //#region ../../node_modules/.pnpm/langium@4.4.0/node_modules/langium/lib/documentation/jsdoc.d.ts
11050
- interface JSDocComment extends JSDocValue {
11051
- readonly elements: JSDocElement[];
11052
- getTag(name: string): JSDocTag | undefined;
11053
- getTags(name: string): JSDocTag[];
11054
- }
11055
- type JSDocElement = JSDocParagraph | JSDocTag;
11056
9679
  type JSDocInline = JSDocTag | JSDocLine;
11057
9680
  interface JSDocValue {
11058
9681
  /**
@@ -11082,23 +9705,9 @@ interface JSDocTag extends JSDocValue {
11082
9705
  readonly content: JSDocParagraph;
11083
9706
  readonly inline: boolean;
11084
9707
  }
11085
- interface JSDocParseOptions {
9708
+ interface JSDocRenderOptions {
11086
9709
  /**
11087
- * The start symbol of your comment format. Defaults to `/**`.
11088
- */
11089
- readonly start?: RegExp | string;
11090
- /**
11091
- * The symbol that start a line of your comment format. Defaults to `*`.
11092
- */
11093
- readonly line?: RegExp | string;
11094
- /**
11095
- * The end symbol of your comment format. Defaults to `*\/`.
11096
- */
11097
- readonly end?: RegExp | string;
11098
- }
11099
- interface JSDocRenderOptions {
11100
- /**
11101
- * Determines the style for rendering tags. Defaults to `italic`.
9710
+ * Determines the style for rendering tags. Defaults to `italic`.
11102
9711
  */
11103
9712
  tag?: 'plain' | 'italic' | 'bold' | 'bold-italic';
11104
9713
  /**
@@ -11116,24 +9725,6 @@ interface JSDocRenderOptions {
11116
9725
  */
11117
9726
  renderLink?(link: string, display: string): string | undefined;
11118
9727
  }
11119
- /**
11120
- * Parses a JSDoc from a `CstNode` containing a comment.
11121
- *
11122
- * @param node A `CstNode` from a parsed Langium document.
11123
- * @param options Parsing options specialized to your language. See {@link JSDocParseOptions}.
11124
- */
11125
- declare function parseJSDoc(node: CstNode, options?: JSDocParseOptions): JSDocComment;
11126
- /**
11127
- * Parses a JSDoc from a string comment.
11128
- *
11129
- * @param content A string containing the source of the JSDoc comment.
11130
- * @param start The start position the comment occupies in the source document.
11131
- * @param options Parsing options specialized to your language. See {@link JSDocParseOptions}.
11132
- */
11133
- declare function parseJSDoc(content: string, start?: Position, options?: JSDocParseOptions): JSDocComment;
11134
- declare function isJSDoc(node: CstNode | string, options?: JSDocParseOptions): boolean;
11135
- //#endregion
11136
- //#region ../../node_modules/.pnpm/langium@4.4.0/node_modules/langium/lib/documentation/documentation-provider.d.ts
11137
9728
  /**
11138
9729
  * Provides documentation for AST nodes.
11139
9730
  */
@@ -11155,8 +9746,6 @@ declare class JSDocDocumentationProvider implements DocumentationProvider {
11155
9746
  protected findNameInLocalSymbols(node: AstNode, name: string): AstNodeDescription | undefined;
11156
9747
  protected findNameInGlobalScope(node: AstNode, name: string): AstNodeDescription | undefined;
11157
9748
  }
11158
- //#endregion
11159
- //#region ../../node_modules/.pnpm/langium@4.4.0/node_modules/langium/lib/languages/language-meta-data.d.ts
11160
9749
  /******************************************************************************
11161
9750
  * Copyright 2021 TypeFox GmbH
11162
9751
  * This program and the accompanying materials are made available under the
@@ -11177,149 +9766,6 @@ interface LanguageMetaData {
11177
9766
  */
11178
9767
  mode: 'development' | 'production';
11179
9768
  }
11180
- //#endregion
11181
- //#region ../../node_modules/.pnpm/langium@4.4.0/node_modules/langium/lib/parser/cst-node-builder.d.ts
11182
- /**
11183
- * Incrementally builds the concrete syntax tree (CST) while the parser processes the input.
11184
- *
11185
- * The parser drives the builder with the following protocol: `buildRootNode` starts a new tree,
11186
- * `buildCompositeNode` opens a nested node whenever a parser rule is invoked, `buildLeafNode`
11187
- * adds a node for every consumed token, and `construct` closes the innermost open composite node
11188
- * once its rule implementation has finished. Hidden tokens (e.g. comments and whitespace) are not
11189
- * part of the parser's token stream and are added separately via `addHiddenNodes`.
11190
- */
11191
- declare class CstNodeBuilder {
11192
- private rootNode;
11193
- private nodeStack;
11194
- /**
11195
- * The composite node currently being built, i.e. the one to which new child nodes are added:
11196
- * the innermost parser rule invocation that has not been completed with `construct` yet.
11197
- */
11198
- get current(): CompositeCstNodeImpl;
11199
- /**
11200
- * Reset the builder and create the root node of a new tree. This must be called once
11201
- * before each parser run; all nodes built afterwards belong to the returned root.
11202
- */
11203
- buildRootNode(input: string): RootCstNode;
11204
- /**
11205
- * Create a composite node as a child of the current node and make it the new current node.
11206
- * The parser calls this when a rule is invoked that creates its own AST node; the node
11207
- * remains current until the corresponding `construct` call closes it.
11208
- */
11209
- buildCompositeNode(feature: AbstractElement): CompositeCstNode;
11210
- /**
11211
- * Create a leaf node for a consumed token and append it to the current composite node.
11212
- * If no grammar element is given, the token is treated as hidden (e.g. a comment).
11213
- */
11214
- buildLeafNode(token: IToken, feature?: AbstractElement): LeafCstNode;
11215
- /**
11216
- * Create a detached leaf node from a token, translating Chevrotain's position
11217
- * information to the LSP conventions used by the CST.
11218
- */
11219
- protected createLeafNode(token: IToken, hidden: boolean): LeafCstNodeImpl;
11220
- /**
11221
- * Append a child node to the content of a composite node and set the child's container reference.
11222
- */
11223
- appendChild(parent: CompositeCstNode, child: CstNode): void;
11224
- /**
11225
- * Append multiple child nodes to the content of a composite node and set their container references.
11226
- */
11227
- appendChildren(parent: CompositeCstNode, children: CstNode[]): void;
11228
- /**
11229
- * Insert child nodes at the given index into the content of a composite node and set their container references.
11230
- */
11231
- insertChildren(parent: CompositeCstNode, index: number, children: CstNode[]): void;
11232
- /**
11233
- * Remove a node from the content of its container.
11234
- */
11235
- removeNode(node: CstNode): void;
11236
- /**
11237
- * Insert leaf nodes for hidden tokens (e.g. comments) into the tree. Since hidden tokens are
11238
- * not part of the parser's token stream, the parser calls this separately: once before each
11239
- * consumed token with the hidden tokens preceding it, and once after parsing for the trailing
11240
- * hidden tokens. The nodes are attached where the tree is currently being built, so hidden
11241
- * nodes end up next to the non-hidden token that follows them.
11242
- */
11243
- addHiddenNodes(tokens: IToken[]): void;
11244
- /**
11245
- * Close the current composite node and assign it to the given AST node (`item.$cstNode`).
11246
- * The parser calls this when a rule implementation has finished, matching the preceding
11247
- * `buildCompositeNode` (or `buildRootNode`) call; the parent node becomes current again.
11248
- * If the closed node has no content, e.g. due to an unsuccessful optional rule call,
11249
- * it is removed from the tree.
11250
- */
11251
- construct(item: {
11252
- $type: string | symbol | undefined;
11253
- $cstNode: CstNode;
11254
- $infixName?: string;
11255
- }): void;
11256
- }
11257
- declare abstract class AbstractCstNode implements CstNode {
11258
- abstract get offset(): number;
11259
- abstract get length(): number;
11260
- abstract get end(): number;
11261
- abstract get range(): Range;
11262
- abstract get astNode(): AstNode;
11263
- abstract get hidden(): boolean;
11264
- container: CompositeCstNode | undefined;
11265
- grammarSource: AbstractElement | undefined;
11266
- get root(): RootCstNode;
11267
- get text(): string;
11268
- }
11269
- declare class LeafCstNodeImpl extends AbstractCstNode implements LeafCstNode {
11270
- private _hidden;
11271
- private _offset;
11272
- private _length;
11273
- private _startLine;
11274
- private _startColumn;
11275
- private _endLine;
11276
- private _endColumn;
11277
- private _tokenType;
11278
- get offset(): number;
11279
- get length(): number;
11280
- get end(): number;
11281
- get hidden(): boolean;
11282
- get tokenType(): TokenType;
11283
- get astNode(): AstNode;
11284
- get range(): Range;
11285
- /**
11286
- * All position values are 0-based and the end position is exclusive,
11287
- * following the LSP convention (see the `Range` type).
11288
- */
11289
- constructor(offset: number, length: number, startLine: number, startColumn: number, endLine: number, endColumn: number, tokenType: TokenType, hidden?: boolean);
11290
- }
11291
- declare class CompositeCstNodeImpl extends AbstractCstNode implements CompositeCstNode {
11292
- /**
11293
- * This array must not be modified directly; use the `CstNodeBuilder` methods instead
11294
- * to ensure that the `container` references of the child nodes are set correctly.
11295
- */
11296
- content: CstNode[];
11297
- /**
11298
- * These fields are assigned lazily, but eagerly initialized with `undefined` so V8 reserves
11299
- * in-object slots for them. Without the initializers, late assignments would go to an
11300
- * out-of-object backing store, costing more memory than the reserved slots and splitting
11301
- * the hidden class of composite nodes (slower property access).
11302
- */
11303
- private _astNode;
11304
- private _rangeCache;
11305
- get astNode(): AstNode;
11306
- set astNode(value: AstNode | undefined);
11307
- get hidden(): boolean;
11308
- get offset(): number;
11309
- get length(): number;
11310
- get end(): number;
11311
- get range(): Range;
11312
- private get firstNonHiddenNode();
11313
- private get lastNonHiddenNode();
11314
- }
11315
- declare class RootCstNodeImpl extends CompositeCstNodeImpl implements RootCstNode {
11316
- private _text;
11317
- get text(): string;
11318
- get fullText(): string;
11319
- constructor(input?: string);
11320
- }
11321
- //#endregion
11322
- //#region ../../node_modules/.pnpm/langium@4.4.0/node_modules/langium/lib/utils/collections.d.ts
11323
9769
  /**
11324
9770
  * A multimap is a variation of a Map that has potentially multiple values for every key.
11325
9771
  */
@@ -11396,20 +9842,6 @@ declare class MultiMap<K, V> {
11396
9842
  */
11397
9843
  entriesGroupedByKey(): Stream<[K, V[]]>;
11398
9844
  }
11399
- declare class BiMap<K, V> {
11400
- private map;
11401
- private inverse;
11402
- get size(): number;
11403
- constructor();
11404
- constructor(elements: Array<[K, V]>);
11405
- clear(): void;
11406
- set(key: K, value: V): this;
11407
- get(key: K): V | undefined;
11408
- getKey(value: V): K | undefined;
11409
- delete(key: K): boolean;
11410
- }
11411
- //#endregion
11412
- //#region ../../node_modules/.pnpm/langium@4.4.0/node_modules/langium/lib/references/scope.d.ts
11413
9845
  /**
11414
9846
  * A scope describes what target elements are visible from a specific cross-reference context.
11415
9847
  */
@@ -11446,44 +9878,6 @@ interface ScopeOptions {
11446
9878
  */
11447
9879
  concatOuterScope?: boolean;
11448
9880
  }
11449
- /**
11450
- * The default scope implementation is based on a `Stream`. It has an optional _outer scope_ describing
11451
- * the next level of elements, which are queried when a target element is not found in the stream provided
11452
- * to this scope.
11453
- */
11454
- declare class StreamScope implements Scope {
11455
- readonly elements: Stream<AstNodeDescription>;
11456
- readonly outerScope?: Scope;
11457
- readonly caseInsensitive: boolean;
11458
- readonly concatOuterScope: boolean;
11459
- constructor(elements: Stream<AstNodeDescription>, outerScope?: Scope, options?: ScopeOptions);
11460
- getAllElements(): Stream<AstNodeDescription>;
11461
- getElement(name: string): AstNodeDescription | undefined;
11462
- getElements(name: string): Stream<AstNodeDescription>;
11463
- }
11464
- declare class MapScope implements Scope {
11465
- readonly elements: Map<string, AstNodeDescription>;
11466
- readonly outerScope?: Scope;
11467
- readonly caseInsensitive: boolean;
11468
- readonly concatOuterScope: boolean;
11469
- constructor(elements: Iterable<AstNodeDescription>, outerScope?: Scope, options?: ScopeOptions);
11470
- getElement(name: string): AstNodeDescription | undefined;
11471
- getElements(name: string): Stream<AstNodeDescription>;
11472
- getAllElements(): Stream<AstNodeDescription>;
11473
- }
11474
- declare class MultiMapScope implements Scope {
11475
- readonly elements: MultiMap<string, AstNodeDescription>;
11476
- readonly outerScope?: Scope;
11477
- readonly caseInsensitive: boolean;
11478
- readonly concatOuterScope: boolean;
11479
- constructor(elements: Iterable<AstNodeDescription>, outerScope?: Scope, options?: ScopeOptions);
11480
- getElement(name: string): AstNodeDescription | undefined;
11481
- getElements(name: string): Stream<AstNodeDescription>;
11482
- getAllElements(): Stream<AstNodeDescription>;
11483
- }
11484
- declare const EMPTY_SCOPE: Scope;
11485
- //#endregion
11486
- //#region ../../node_modules/.pnpm/langium@4.4.0/node_modules/langium/lib/references/scope-provider.d.ts
11487
9881
  /**
11488
9882
  * Language-specific service for determining the scope of target elements visible in a specific cross-reference context.
11489
9883
  */
@@ -11518,8 +9912,6 @@ declare class DefaultScopeProvider implements ScopeProvider {
11518
9912
  */
11519
9913
  protected getGlobalScope(referenceType: string, _context: ReferenceInfo): Scope;
11520
9914
  }
11521
- //#endregion
11522
- //#region ../../node_modules/.pnpm/langium@4.4.0/node_modules/langium/lib/workspace/profiler.d.ts
11523
9915
  type ProfilingCategory = 'validating' | 'parsing' | 'linking';
11524
9916
  interface LangiumProfiler {
11525
9917
  /**
@@ -11551,18 +9943,6 @@ interface LangiumProfiler {
11551
9943
  */
11552
9944
  getRecords(...categories: ProfilingCategory[]): Stream<ProfilingRecord>;
11553
9945
  }
11554
- declare class DefaultLangiumProfiler implements LangiumProfiler {
11555
- protected activeCategories: Set<ProfilingCategory>;
11556
- protected readonly allCategories: ReadonlySet<ProfilingCategory>;
11557
- protected readonly records: MultiMap<string, ProfilingRecord>;
11558
- constructor(activeCategories?: Set<ProfilingCategory>);
11559
- isActive(category: ProfilingCategory): boolean;
11560
- start(...categories: ProfilingCategory[]): void;
11561
- stop(...categories: ProfilingCategory[]): void;
11562
- createTask(category: ProfilingCategory, taskId: string): ProfilingTask;
11563
- protected dumpRecord(category: string, record: ProfilingRecord): ProfilingRecord;
11564
- getRecords(...categories: ProfilingCategory[]): Stream<ProfilingRecord>;
11565
- }
11566
9946
  interface ProfilingRecord {
11567
9947
  identifier: string;
11568
9948
  date: Date;
@@ -11585,8 +9965,6 @@ declare class ProfilingTask {
11585
9965
  startSubTask(subTaskId: string): void;
11586
9966
  stopSubTask(subTaskId: string): void;
11587
9967
  }
11588
- //#endregion
11589
- //#region ../../node_modules/.pnpm/langium@4.4.0/node_modules/langium/lib/references/linker.d.ts
11590
9968
  /**
11591
9969
  * Language-specific service for resolving cross-references in the AST.
11592
9970
  */
@@ -11642,48 +10020,6 @@ interface Linker {
11642
10020
  buildReference(node: AstNode, property: string, refNode: CstNode | undefined, refText: string): Reference;
11643
10021
  buildMultiReference(node: AstNode, property: string, refNode: CstNode | undefined, refText: string): MultiReference;
11644
10022
  }
11645
- declare const RefResolving: unique symbol;
11646
- interface DefaultReference extends Reference {
11647
- _ref?: AstNode | LinkingError | typeof RefResolving;
11648
- _nodeDescription?: AstNodeDescription;
11649
- }
11650
- interface DefaultMultiReference extends MultiReference {
11651
- _items: MultiReferenceItem[] | typeof RefResolving | undefined;
11652
- _linkingError?: LinkingError;
11653
- }
11654
- interface ReferenceResolver {
11655
- resolveReference(reference: DefaultReference, node: AstNode, property: string): AstNode | undefined;
11656
- resolveMultiReference(reference: DefaultMultiReference, node: AstNode, property: string): MultiReferenceItem[];
11657
- }
11658
- declare class DefaultLinker implements Linker {
11659
- protected readonly reflection: AstReflection;
11660
- protected readonly scopeProvider: ScopeProvider;
11661
- protected readonly astNodeLocator: AstNodeLocator;
11662
- protected readonly langiumDocuments: () => LangiumDocuments;
11663
- protected readonly profiler: LangiumProfiler | undefined;
11664
- protected readonly languageId: string;
11665
- protected readonly referenceResolver: ReferenceResolver;
11666
- constructor(services: LangiumCoreServices);
11667
- link(document: LangiumDocument, cancelToken?: CancellationToken): Promise<void>;
11668
- protected doLink(refInfo: ReferenceInfo, document: LangiumDocument): void;
11669
- unlink(document: LangiumDocument): void;
11670
- getCandidate(refInfo: ReferenceInfo): AstNodeDescription | LinkingError;
11671
- getCandidates(refInfo: ReferenceInfo): AstNodeDescription[] | LinkingError;
11672
- buildReference(node: AstNode, property: string, refNode: CstNode | undefined, refText: string): Reference;
11673
- buildMultiReference(node: AstNode, property: string, refNode: CstNode | undefined, refText: string): MultiReference;
11674
- protected resolveReference(reference: DefaultReference, node: AstNode, property: string): AstNode | undefined;
11675
- protected resolveMultiReference(reference: DefaultMultiReference, node: AstNode, property: string): MultiReferenceItem[];
11676
- protected throwCyclicReferenceError(node: AstNode, property: string, refText: string): never;
11677
- protected getLinkedNode(refInfo: ReferenceInfo): {
11678
- node?: AstNode;
11679
- descr?: AstNodeDescription;
11680
- error?: LinkingError;
11681
- };
11682
- protected loadAstNode(nodeDescription: AstNodeDescription): AstNode | undefined;
11683
- protected createLinkingError(refInfo: ReferenceInfo, targetDescription?: AstNodeDescription): LinkingError;
11684
- }
11685
- //#endregion
11686
- //#region ../../node_modules/.pnpm/langium@4.4.0/node_modules/langium/lib/parser/token-builder.d.ts
11687
10023
  interface TokenBuilderOptions {
11688
10024
  caseInsensitive?: boolean;
11689
10025
  }
@@ -11707,29 +10043,6 @@ type LexingDiagnosticSeverity = 'error' | 'warning' | 'info' | 'hint';
11707
10043
  interface LexingDiagnostic extends ILexingError {
11708
10044
  severity?: LexingDiagnosticSeverity;
11709
10045
  }
11710
- declare class DefaultTokenBuilder implements TokenBuilder {
11711
- /**
11712
- * The list of diagnostics stored during the lexing process of a single text.
11713
- */
11714
- protected diagnostics: LexingDiagnostic[];
11715
- buildTokens(grammar: Grammar, options?: TokenBuilderOptions): TokenVocabulary;
11716
- flushLexingReport(text: string): LexingReport;
11717
- protected popDiagnostics(): LexingDiagnostic[];
11718
- protected buildTerminalTokens(rules: Stream<AbstractRule>): TokenType[];
11719
- protected buildTerminalToken(terminal: TerminalRule): TokenType;
11720
- protected requiresCustomPattern(regex: RegExp): boolean;
11721
- protected regexPatternFunction(regex: RegExp): CustomPatternMatcherFunc;
11722
- protected buildKeywordTokens(rules: Stream<AbstractRule>, terminalTokens: TokenType[], options?: TokenBuilderOptions): TokenType[];
11723
- protected buildKeywordToken(keyword: Keyword, terminalTokens: TokenType[], caseInsensitive: boolean): TokenType;
11724
- protected buildKeywordPattern(keyword: Keyword, caseInsensitive: boolean): TokenPattern;
11725
- protected findLongerAlt(keyword: Keyword, terminalTokens: TokenType[]): TokenType[];
11726
- }
11727
- //#endregion
11728
- //#region ../../node_modules/.pnpm/langium@4.4.0/node_modules/langium/lib/parser/lexer.d.ts
11729
- declare class DefaultLexerErrorMessageProvider implements ILexerErrorMessageProvider {
11730
- buildUnexpectedCharactersMessage(fullText: string, startOffset: number, length: number, line?: number, column?: number): string;
11731
- buildUnableToPopLexerModeMessage(token: IToken): string;
11732
- }
11733
10046
  interface LexerResult {
11734
10047
  /**
11735
10048
  * A list of all tokens that were lexed from the input.
@@ -11749,35 +10062,10 @@ type TokenizeMode = 'full' | 'partial';
11749
10062
  interface TokenizeOptions {
11750
10063
  mode?: TokenizeMode;
11751
10064
  }
11752
- declare const DEFAULT_TOKENIZE_OPTIONS: TokenizeOptions;
11753
- interface Lexer$1 {
10065
+ interface Lexer {
11754
10066
  readonly definition: TokenTypeDictionary;
11755
10067
  tokenize(text: string, options?: TokenizeOptions): LexerResult;
11756
10068
  }
11757
- declare class DefaultLexer implements Lexer$1 {
11758
- protected readonly tokenBuilder: TokenBuilder;
11759
- protected readonly errorMessageProvider: ILexerErrorMessageProvider;
11760
- protected tokenTypes: TokenTypeDictionary;
11761
- protected chevrotainLexer: Lexer;
11762
- constructor(services: LangiumCoreServices);
11763
- get definition(): TokenTypeDictionary;
11764
- tokenize(text: string, _options?: TokenizeOptions): LexerResult;
11765
- protected toTokenTypeDictionary(buildTokens: TokenVocabulary): TokenTypeDictionary;
11766
- }
11767
- /**
11768
- * Returns a check whether the given TokenVocabulary is TokenType array
11769
- */
11770
- declare function isTokenTypeArray(tokenVocabulary: TokenVocabulary): tokenVocabulary is TokenType[];
11771
- /**
11772
- * Returns a check whether the given TokenVocabulary is IMultiModeLexerDefinition
11773
- */
11774
- declare function isIMultiModeLexerDefinition(tokenVocabulary: TokenVocabulary): tokenVocabulary is IMultiModeLexerDefinition;
11775
- /**
11776
- * Returns a check whether the given TokenVocabulary is TokenTypeDictionary
11777
- */
11778
- declare function isTokenTypeDictionary(tokenVocabulary: TokenVocabulary): tokenVocabulary is TokenTypeDictionary;
11779
- //#endregion
11780
- //#region ../../node_modules/.pnpm/langium@4.4.0/node_modules/langium/lib/serializer/hydrator.d.ts
11781
10069
  /**
11782
10070
  * The hydrator service is responsible for allowing AST parse results to be sent across worker threads.
11783
10071
  */
@@ -11792,83 +10080,7 @@ interface Hydrator {
11792
10080
  */
11793
10081
  hydrate<T extends AstNode = AstNode>(result: ParseResult<object>): ParseResult<T>;
11794
10082
  }
11795
- interface DehydrateContext {
11796
- astNodes: Map<AstNode, any>;
11797
- cstNodes: Map<CstNode, any>;
11798
- }
11799
- interface HydrateContext {
11800
- astNodes: Map<any, AstNode>;
11801
- cstNodes: Map<any, CstNode>;
11802
- /** CST nodes that already received their AST backlink; used to let the outermost AST node win for shared CST nodes. */
11803
- linkedCstNodes: Set<CstNode>;
11804
- }
11805
- declare class DefaultHydrator implements Hydrator {
11806
- protected readonly grammar: Grammar;
11807
- protected readonly lexer: Lexer$1;
11808
- protected readonly linker: Linker;
11809
- protected readonly grammarElementIdMap: BiMap<AbstractElement, number>;
11810
- protected readonly tokenTypeIdMap: BiMap<number, TokenType>;
11811
- /** Used to assemble the CST during hydration; `CstNodeBuilder` is not a service, so we keep a local instance. */
11812
- protected readonly cstNodeBuilder: CstNodeBuilder;
11813
- constructor(services: LangiumCoreServices);
11814
- dehydrate(result: ParseResult<AstNode>): ParseResult<object>;
11815
- protected dehydrateLexerReport(lexerReport: LexingReport): LexingReport;
11816
- protected createDehyrationContext(node: AstNode): DehydrateContext;
11817
- protected dehydrateAstNode(node: AstNode, context: DehydrateContext): object;
11818
- protected dehydrateReference(reference: Reference, context: DehydrateContext): any;
11819
- protected dehydrateCstNode(node: CstNode, context: DehydrateContext): any;
11820
- hydrate<T extends AstNode = AstNode>(result: ParseResult<object>): ParseResult<T>;
11821
- protected createHydrationContext(node: any): HydrateContext;
11822
- protected hydrateAstNode(node: any, context: HydrateContext): AstNode;
11823
- protected setParent(node: any, parent: any): any;
11824
- protected hydrateReference(reference: any, node: AstNode, name: string, context: HydrateContext): Reference;
11825
- protected hydrateCstNode(cstNode: any, context: HydrateContext, num?: number): CstNode;
11826
- protected hydrateCstLeafNode(cstNode: any): LeafCstNode;
11827
- protected getTokenType(name: string): TokenType;
11828
- protected getGrammarElementId(node: AbstractElement | undefined): number | undefined;
11829
- protected getGrammarElement(id: number): AbstractElement | undefined;
11830
- protected createGrammarElementIdMap(): void;
11831
- }
11832
- //#endregion
11833
- //#region ../../node_modules/.pnpm/langium@4.4.0/node_modules/langium/lib/utils/promise-utils.d.ts
11834
10083
  type MaybePromise<T> = T | Promise<T>;
11835
- /**
11836
- * Delays the execution of the current code to the next tick of the event loop.
11837
- * Don't call this method directly in a tight loop to prevent too many promises from being created.
11838
- */
11839
- declare function delayNextTick(): Promise<void>;
11840
- /**
11841
- * Reset the global interruption period and create a cancellation token source.
11842
- */
11843
- declare function startCancelableOperation(): AbstractCancellationTokenSource;
11844
- /**
11845
- * Change the period duration for `interruptAndCheck` to the given number of milliseconds.
11846
- * The default value is 10ms.
11847
- */
11848
- declare function setInterruptionPeriod(period: number): void;
11849
- /**
11850
- * This symbol may be thrown in an asynchronous context by any Langium service that receives
11851
- * a `CancellationToken`. This means that the promise returned by such a service is rejected with
11852
- * this symbol as rejection reason.
11853
- */
11854
- declare const OperationCancelled: unique symbol;
11855
- /**
11856
- * Use this in a `catch` block to check whether the thrown object indicates that the operation
11857
- * has been cancelled.
11858
- */
11859
- declare function isOperationCancelled(err: unknown): err is typeof OperationCancelled;
11860
- /**
11861
- * This function does two things:
11862
- * 1. Check the elapsed time since the last call to this function or to `startCancelableOperation`. If the predefined
11863
- * period (configured with `setInterruptionPeriod`) is exceeded, execution is delayed with `delayNextTick`.
11864
- * 2. If the predefined period is not met yet or execution is resumed after an interruption, the given cancellation
11865
- * token is checked, and if cancellation is requested, `OperationCanceled` is thrown.
11866
- *
11867
- * All services in Langium that receive a `CancellationToken` may potentially call this function, so the
11868
- * `CancellationToken` must be caught (with an `async` try-catch block or a `catch` callback attached to
11869
- * the promise) to avoid that event being exposed as an error.
11870
- */
11871
- declare function interruptAndCheck(token: CancellationToken): Promise<void>;
11872
10084
  /**
11873
10085
  * Simple implementation of the deferred pattern.
11874
10086
  * An object that exposes a promise and functions to resolve and reject it.
@@ -11878,8 +10090,6 @@ declare class Deferred<T = void> {
11878
10090
  reject: (err?: unknown) => this;
11879
10091
  promise: Promise<T>;
11880
10092
  }
11881
- //#endregion
11882
- //#region ../../node_modules/.pnpm/langium@4.4.0/node_modules/langium/lib/parser/async-parser.d.ts
11883
10093
  /**
11884
10094
  * Async parser that allows cancellation of the current parsing process.
11885
10095
  *
@@ -11899,57 +10109,6 @@ interface AsyncParser {
11899
10109
  */
11900
10110
  parse<T extends AstNode>(text: string, cancelToken: CancellationToken): Promise<ParseResult<T>>;
11901
10111
  }
11902
- /**
11903
- * Default implementation of the async parser which simply wraps the sync parser in a promise.
11904
- *
11905
- * @remarks
11906
- * A real implementation would create worker threads or web workers to offload the parsing work.
11907
- */
11908
- declare class DefaultAsyncParser implements AsyncParser {
11909
- protected readonly syncParser: LangiumParser;
11910
- constructor(services: LangiumCoreServices);
11911
- parse<T extends AstNode>(text: string, _cancelToken: CancellationToken): Promise<ParseResult<T>>;
11912
- }
11913
- declare abstract class AbstractThreadedAsyncParser implements AsyncParser {
11914
- /**
11915
- * The thread count determines how many threads are used to parse files in parallel.
11916
- * The default value is 8. Decreasing this value increases startup performance, but decreases parallel parsing performance.
11917
- */
11918
- protected threadCount: number;
11919
- /**
11920
- * The termination delay determines how long the parser waits for a thread to finish after a cancellation request.
11921
- * The default value is 200(ms).
11922
- */
11923
- protected terminationDelay: number;
11924
- protected workerPool: ParserWorker[];
11925
- protected queue: Array<Deferred<ParserWorker>>;
11926
- protected readonly hydrator: Hydrator;
11927
- constructor(services: LangiumCoreServices);
11928
- protected initializeWorkers(): void;
11929
- parse<T extends AstNode>(text: string, cancelToken: CancellationToken): Promise<ParseResult<T>>;
11930
- protected terminateWorker(worker: ParserWorker): void;
11931
- protected acquireParserWorker(cancelToken: CancellationToken): Promise<ParserWorker>;
11932
- protected abstract createWorker(): ParserWorker;
11933
- }
11934
- type WorkerMessagePost = (message: unknown) => void;
11935
- type WorkerMessageCallback = (cb: (message: unknown) => void) => void;
11936
- declare class ParserWorker {
11937
- protected readonly sendMessage: WorkerMessagePost;
11938
- protected readonly _terminate: () => void;
11939
- protected readonly onReadyEmitter: Emitter<void>;
11940
- protected deferred: Deferred<ParseResult>;
11941
- protected _ready: boolean;
11942
- protected _parsing: boolean;
11943
- get ready(): boolean;
11944
- get onReady(): Event<void>;
11945
- constructor(sendMessage: WorkerMessagePost, onMessage: WorkerMessageCallback, onError: WorkerMessageCallback, terminate: () => void);
11946
- terminate(): void;
11947
- lock(): void;
11948
- unlock(): void;
11949
- parse(text: string): Promise<ParseResult>;
11950
- }
11951
- //#endregion
11952
- //#region ../../node_modules/.pnpm/langium@4.4.0/node_modules/langium/lib/parser/value-converter.d.ts
11953
10112
  /**
11954
10113
  * Language-specific service for converting string values from the source text format into a value to be held in the AST.
11955
10114
  */
@@ -11973,8 +10132,6 @@ declare namespace ValueConverter {
11973
10132
  function convertNumber(input: string): number;
11974
10133
  function convertBoolean(input: string): boolean;
11975
10134
  }
11976
- //#endregion
11977
- //#region ../../node_modules/.pnpm/langium@4.4.0/node_modules/langium/lib/references/references.d.ts
11978
10135
  /**
11979
10136
  * Language-specific service for finding references and declaration of a given `CstNode`.
11980
10137
  */
@@ -12010,26 +10167,6 @@ interface FindReferencesOptions {
12010
10167
  */
12011
10168
  includeDeclaration?: boolean;
12012
10169
  }
12013
- declare class DefaultReferences implements References {
12014
- protected readonly nameProvider: NameProvider;
12015
- protected readonly index: IndexManager;
12016
- protected readonly nodeLocator: AstNodeLocator;
12017
- protected readonly documents: LangiumDocuments;
12018
- protected hasMultiReference: boolean;
12019
- constructor(services: LangiumCoreServices);
12020
- findDeclarations(sourceCstNode: CstNode): AstNode[];
12021
- /**
12022
- * Returns all self-references for the specified node.
12023
- * Since the node can be part of a multi-reference, this method returns all nodes that are part of the same multi-reference.
12024
- */
12025
- protected getSelfNodes(node: AstNode): AstNode[];
12026
- protected getNodeFromReferenceDescription(ref?: ReferenceDescription): AstNode | undefined;
12027
- findDeclarationNodes(sourceCstNode: CstNode): CstNode[];
12028
- findReferences(targetNode: AstNode, options: FindReferencesOptions): Stream<ReferenceDescription>;
12029
- protected getSelfReferences(targetNode: AstNode): ReferenceDescription[];
12030
- }
12031
- //#endregion
12032
- //#region ../../node_modules/.pnpm/langium@4.4.0/node_modules/langium/lib/references/scope-computation.d.ts
12033
10170
  /**
12034
10171
  * Language-specific service for precomputing global and local scopes. The service methods are executed
12035
10172
  * as the first and second phase in the `DocumentBuilder`.
@@ -12108,8 +10245,6 @@ declare class DefaultScopeComputation implements ScopeComputation {
12108
10245
  */
12109
10246
  protected addLocalSymbol(node: AstNode, document: LangiumDocument, symbols: MultiMap<AstNode, AstNodeDescription>): void;
12110
10247
  }
12111
- //#endregion
12112
- //#region ../../node_modules/.pnpm/langium@4.4.0/node_modules/langium/lib/serializer/json-serializer.d.ts
12113
10248
  interface JsonSerializeOptions {
12114
10249
  /** The space parameter for `JSON.stringify`, controlling whether and how to pretty-print the output. */
12115
10250
  space?: string | number;
@@ -12130,37 +10265,6 @@ interface JsonDeserializeOptions {
12130
10265
  /** Used to parse and convert URIs when the target of a cross-reference is in a different document. */
12131
10266
  uriConverter?: (uri: string) => URI$1;
12132
10267
  }
12133
- /**
12134
- * {@link AstNode}s that may carry information on their definition area within the DSL text.
12135
- */
12136
- interface AstNodeWithTextRegion extends AstNode {
12137
- $sourceText?: string;
12138
- $textRegion?: AstNodeRegionWithAssignments;
12139
- }
12140
- /**
12141
- * {@link AstNode}s that may carry a semantically relevant comment.
12142
- */
12143
- interface AstNodeWithComment extends AstNode {
12144
- $comment?: string;
12145
- }
12146
- declare function isAstNodeWithComment(node: AstNode): node is AstNodeWithComment;
12147
- /**
12148
- * A {@link DocumentSegment} representing the definition area of an AstNode within the DSL text.
12149
- * Usually contains text region information on all assigned property values of the AstNode,
12150
- * and may contain the defining file's URI as string.
12151
- */
12152
- interface AstNodeRegionWithAssignments extends DocumentSegment {
12153
- /**
12154
- * A record containing an entry for each assigned property of the AstNode.
12155
- * The key is equal to the property name and the value is an array of the property values'
12156
- * text regions, regardless of whether the property is a single value or list property.
12157
- */
12158
- assignments?: Record<string, DocumentSegment[]>;
12159
- /**
12160
- * The AstNode defining file's URI as string
12161
- */
12162
- documentURI?: string;
12163
- }
12164
10268
  /**
12165
10269
  * Utility service for transforming an `AstNode` into a JSON string and vice versa.
12166
10270
  */
@@ -12176,39 +10280,6 @@ interface JsonSerializer {
12176
10280
  */
12177
10281
  deserialize<T extends AstNode = AstNode>(content: string, options?: JsonDeserializeOptions): T;
12178
10282
  }
12179
- /**
12180
- * A cross-reference in the serialized JSON representation of an AstNode.
12181
- */
12182
- interface IntermediateReference {
12183
- /** URI pointing to the target element. This is either `#${path}` if the target is in the same document, or `${documentURI}#${path}` otherwise. */
12184
- $ref?: string;
12185
- /** URI pointing to the target elements. This is the multi reference equivalent for {@link $ref}. */
12186
- $refs?: string[];
12187
- /** The actual text used to look up the reference target in the surrounding scope. */
12188
- $refText?: string;
12189
- /** If any problem occurred while resolving the reference, it is described by this property. */
12190
- $error?: string;
12191
- }
12192
- declare class DefaultJsonSerializer implements JsonSerializer {
12193
- /** The set of AstNode properties to be ignored by the serializer. */
12194
- ignoreProperties: Set<string>;
12195
- /** The document that is currently processed by the serializer; this is used by the replacer function. */
12196
- protected currentDocument: LangiumDocument | undefined;
12197
- protected readonly langiumDocuments: LangiumDocuments;
12198
- protected readonly astNodeLocator: AstNodeLocator;
12199
- protected readonly nameProvider: NameProvider;
12200
- protected readonly commentProvider: CommentProvider;
12201
- constructor(services: LangiumCoreServices);
12202
- serialize(node: AstNode, options?: JsonSerializeOptions): string;
12203
- deserialize<T extends AstNode = AstNode>(content: string, options?: JsonDeserializeOptions): T;
12204
- protected replacer(key: string, value: unknown, { refText, sourceText, textRegions, comments, uriConverter }: JsonSerializeOptions): unknown;
12205
- protected addAstNodeRegionWithAssignmentsTo(node: AstNodeWithTextRegion): AstNodeWithTextRegion | undefined;
12206
- protected linkNode(node: GenericAstNode, root: AstNode, options: JsonDeserializeOptions, container?: AstNode, containerProperty?: string, containerIndex?: number): void;
12207
- protected reviveReference(container: AstNode, property: string, root: AstNode, reference: IntermediateReference, options: JsonDeserializeOptions): Reference | MultiReference | undefined;
12208
- protected getRefNode(root: AstNode, uri: string, uriConverter?: (uri: string) => URI$1): AstNode | string;
12209
- }
12210
- //#endregion
12211
- //#region ../../node_modules/.pnpm/langium@4.4.0/node_modules/langium/lib/validation/validation-registry.d.ts
12212
10283
  type DiagnosticInfo<N extends AstNode, P extends string = Properties<N>> = {
12213
10284
  /** The AST node to which the diagnostic is attached. */
12214
10285
  node: N;
@@ -12231,21 +10302,6 @@ type DiagnosticInfo<N extends AstNode, P extends string = Properties<N>> = {
12231
10302
  /** A data entry field that is preserved between a `textDocument/publishDiagnostics` notification and `textDocument/codeAction` request. */
12232
10303
  data?: unknown;
12233
10304
  };
12234
- /**
12235
- * Shape of information commonly used in the `data` field of diagnostics.
12236
- */
12237
- interface DiagnosticData {
12238
- /** Diagnostic code for identifying which code action to apply. This code is _not_ shown in the user interface. */
12239
- code: string;
12240
- /** Specifies where to apply the code action in the form of a `DocumentSegment`. */
12241
- actionSegment?: DocumentSegment;
12242
- /** Specifies where to apply the code action in the form of a `Range`. */
12243
- actionRange?: Range;
12244
- }
12245
- /**
12246
- * Create DiagnosticData for a given diagnostic code. The result can be put into the `data` field of a DiagnosticInfo.
12247
- */
12248
- declare function diagnosticData(code: string): DiagnosticData;
12249
10305
  type ValidationSeverity = 'error' | 'warning' | 'info' | 'hint';
12250
10306
  type ValidationAcceptor = <N extends AstNode>(severity: ValidationSeverity, message: string, info: DiagnosticInfo<N>) => void;
12251
10307
  type ValidationCheck<T extends AstNode = AstNode> = (node: T, accept: ValidationAcceptor, cancelToken: CancellationToken) => MaybePromise<void>;
@@ -12369,8 +10425,6 @@ declare class ValidationRegistry {
12369
10425
  get checksAfter(): ValidationPreparation[];
12370
10426
  getAllValidationCategories(_document: LangiumDocument): ReadonlySet<ValidationCategory>;
12371
10427
  }
12372
- //#endregion
12373
- //#region ../../node_modules/.pnpm/langium@4.4.0/node_modules/langium/lib/validation/document-validator.d.ts
12374
10428
  interface ValidationOptions {
12375
10429
  /**
12376
10430
  * If this is set, only the checks associated with these categories are executed; otherwise
@@ -12402,7 +10456,6 @@ interface ValidateSingleNodeOptions {
12402
10456
  validateNode: boolean;
12403
10457
  validateChildren: boolean;
12404
10458
  }
12405
- declare const VALIDATE_EACH_NODE: ValidateSingleNodeOptions;
12406
10459
  declare class DefaultDocumentValidator implements DocumentValidator {
12407
10460
  protected readonly validationRegistry: ValidationRegistry;
12408
10461
  protected readonly metadata: LanguageMetaData;
@@ -12421,15 +10474,6 @@ declare class DefaultDocumentValidator implements DocumentValidator {
12421
10474
  protected toDiagnostic<N extends AstNode>(severity: ValidationSeverity, message: string, info: DiagnosticInfo<N, string>): Diagnostic;
12422
10475
  protected getSource(): string | undefined;
12423
10476
  }
12424
- declare function getDiagnosticRange<N extends AstNode>(info: DiagnosticInfo<N, string>): Range;
12425
- /**
12426
- * Transforms the diagnostic severity from the {@link LexingDiagnosticSeverity} format to LSP's `DiagnosticSeverity` format.
12427
- *
12428
- * @param severity The lexing diagnostic severity
12429
- * @returns Diagnostic severity according to `vscode-languageserver-types/lib/esm/main.js#DiagnosticSeverity`
12430
- */
12431
- declare function toDiagnosticSeverity(severity: LexingDiagnosticSeverity): DiagnosticSeverity;
12432
- declare function toDiagnosticData(severity: LexingDiagnosticSeverity): DiagnosticData;
12433
10477
  declare namespace DocumentValidator {
12434
10478
  const LexingError = "lexing-error";
12435
10479
  const LexingWarning = "lexing-warning";
@@ -12438,13 +10482,6 @@ declare namespace DocumentValidator {
12438
10482
  const ParsingError = "parsing-error";
12439
10483
  const LinkingError = "linking-error";
12440
10484
  }
12441
- interface LinkingErrorData extends DiagnosticData {
12442
- containerType: string;
12443
- property: string;
12444
- refText: string;
12445
- }
12446
- //#endregion
12447
- //#region ../../node_modules/.pnpm/langium@4.4.0/node_modules/langium/lib/workspace/configuration.d.ts
12448
10485
  interface ConfigurationProvider {
12449
10486
  /**
12450
10487
  * A promise that resolves when the configuration provider is ready to be used.
@@ -12494,39 +10531,6 @@ interface ConfigurationSectionUpdate {
12494
10531
  configuration: any;
12495
10532
  }
12496
10533
  type ConfigurationSectionUpdateListener = (update: ConfigurationSectionUpdate) => void;
12497
- /**
12498
- * Base configuration provider for building up other configuration providers
12499
- */
12500
- declare class DefaultConfigurationProvider implements ConfigurationProvider {
12501
- protected readonly serviceRegistry: ServiceRegistry;
12502
- protected readonly _ready: Deferred<void>;
12503
- protected readonly onConfigurationSectionUpdateEmitter: Emitter<ConfigurationSectionUpdate>;
12504
- protected settings: Record<string, Record<string, any>>;
12505
- protected workspaceConfig: boolean;
12506
- constructor(services: LangiumSharedCoreServices);
12507
- get ready(): Promise<void>;
12508
- initialize(params: InitializeParams): void;
12509
- initialized(params: ConfigurationInitializedParams): Promise<void>;
12510
- /**
12511
- * Updates the cached configurations using the `change` notification parameters.
12512
- *
12513
- * @param change The parameters of a change configuration notification.
12514
- * `settings` property of the change object could be expressed as `Record<string, Record<string, any>>`
12515
- */
12516
- updateConfiguration(change: DidChangeConfigurationParams): void;
12517
- protected updateSectionConfiguration(section: string, configuration: any): void;
12518
- /**
12519
- * Returns a configuration value stored for the given language.
12520
- *
12521
- * @param language The language id
12522
- * @param configuration Configuration name
12523
- */
12524
- getConfiguration(language: string, configuration: string): Promise<any>;
12525
- protected toSectionName(languageId: string): string;
12526
- get onConfigurationSectionUpdate(): Event<ConfigurationSectionUpdate>;
12527
- }
12528
- //#endregion
12529
- //#region ../../node_modules/.pnpm/langium@4.4.0/node_modules/langium/lib/workspace/workspace-lock.d.ts
12530
10534
  /**
12531
10535
  * Utility service to execute mutually exclusive actions.
12532
10536
  */
@@ -12569,20 +10573,6 @@ declare enum ReadPriority {
12569
10573
  */
12570
10574
  Immediate = 1
12571
10575
  }
12572
- declare class DefaultWorkspaceLock implements WorkspaceLock {
12573
- private previousTokenSource;
12574
- private writeQueue;
12575
- private readQueue;
12576
- private immediateReads;
12577
- private done;
12578
- write(action: (token: CancellationToken) => MaybePromise<void>): Promise<void>;
12579
- read<T>(action: () => MaybePromise<T>, priority?: ReadPriority): Promise<T>;
12580
- private enqueue;
12581
- private performNextOperation;
12582
- cancelWrite(): void;
12583
- }
12584
- //#endregion
12585
- //#region ../../node_modules/.pnpm/langium@4.4.0/node_modules/langium/lib/workspace/workspace-manager.d.ts
12586
10576
  /**
12587
10577
  * The workspace manager is responsible for finding source files in the workspace.
12588
10578
  * This service is shared between all languages of a language server.
@@ -12635,15 +10625,6 @@ interface WorkspaceManager {
12635
10625
  */
12636
10626
  shouldIncludeEntry(entry: FileSystemNode): boolean;
12637
10627
  }
12638
- /**
12639
- * The FileSelector provides file names and extensions used by this extension.
12640
- */
12641
- interface FileSelector {
12642
- /** Allowed file extensions (e.g., ["ts", "js"]). */
12643
- fileExtensions: string[];
12644
- /** Allowed file names (e.g., ["config", "settings"]). */
12645
- fileNames: string[];
12646
- }
12647
10628
  declare class DefaultWorkspaceManager implements WorkspaceManager {
12648
10629
  initialBuildOptions: BuildOptions;
12649
10630
  protected readonly serviceRegistry: ServiceRegistry;
@@ -12688,8 +10669,6 @@ declare class DefaultWorkspaceManager implements WorkspaceManager {
12688
10669
  */
12689
10670
  shouldIncludeEntry(entry: FileSystemNode): boolean;
12690
10671
  }
12691
- //#endregion
12692
- //#region ../../node_modules/.pnpm/langium@4.4.0/node_modules/langium/lib/workspace/document-builder.d.ts
12693
10672
  interface BuildOptions {
12694
10673
  /**
12695
10674
  * Control the linking and references indexing phase with this option. The default if not specified is `true`.
@@ -12886,8 +10865,6 @@ declare class DefaultDocumentBuilder implements DocumentBuilder {
12886
10865
  protected validate(document: LangiumDocument, cancelToken: CancellationToken): Promise<void>;
12887
10866
  protected getBuildOptions(document: LangiumDocument): BuildOptions;
12888
10867
  }
12889
- //#endregion
12890
- //#region ../../node_modules/.pnpm/langium@4.4.0/node_modules/langium/lib/services.d.ts
12891
10868
  /**
12892
10869
  * The services generated by `langium-cli` for a specific language. These are derived from the
12893
10870
  * grammar definition and the language configuration.
@@ -12912,7 +10889,7 @@ type LangiumDefaultCoreServices = {
12912
10889
  readonly LexerErrorMessageProvider: ILexerErrorMessageProvider;
12913
10890
  readonly CompletionParser: LangiumCompletionParser;
12914
10891
  readonly TokenBuilder: TokenBuilder;
12915
- readonly Lexer: Lexer$1;
10892
+ readonly Lexer: Lexer;
12916
10893
  };
12917
10894
  readonly documentation: {
12918
10895
  readonly CommentProvider: CommentProvider;
@@ -12977,28 +10954,12 @@ type LangiumDefaultSharedCoreServices = {
12977
10954
  * This is necessary to enable features like cross references across different languages.
12978
10955
  */
12979
10956
  type LangiumSharedCoreServices = LangiumDefaultSharedCoreServices & LangiumGeneratedSharedCoreServices;
12980
- /**
12981
- * A deep partial type definition for services. We look into T to see whether its type definition contains
12982
- * any methods. If it does, it's one of our services and therefore should not be partialized.
12983
- */
12984
- type DeepPartial<T> = T[keyof T] extends Function ? T : { [P in keyof T]?: DeepPartial<T[P]>; };
12985
- /**
12986
- * Language-specific core services to be partially overridden via dependency injection.
12987
- */
12988
- type PartialLangiumCoreServices = DeepPartial<LangiumCoreServices>;
12989
- /**
12990
- * Shared core services to be partially overridden via dependency injection.
12991
- */
12992
- type PartialLangiumSharedCoreServices = DeepPartial<LangiumSharedCoreServices>;
12993
- //#endregion
12994
- //#region ../../node_modules/.pnpm/langium@4.4.0/node_modules/langium/lib/parser/langium-parser.d.ts
12995
10957
  type ParseResult<T = AstNode> = {
12996
10958
  value: T;
12997
10959
  parserErrors: IRecognitionException[];
12998
10960
  lexerErrors: ILexingError[];
12999
10961
  lexerReport?: LexingReport;
13000
10962
  };
13001
- declare const DatatypeSymbol: unique symbol;
13002
10963
  type RuleResult = (args: Args) => any;
13003
10964
  type Args = Record<string, boolean>;
13004
10965
  type RuleImpl = (args: Args) => any;
@@ -13065,7 +11026,7 @@ interface BaseParser {
13065
11026
  getRuleStack(): number[];
13066
11027
  }
13067
11028
  declare abstract class AbstractLangiumParser implements BaseParser {
13068
- protected readonly lexer: Lexer$1;
11029
+ protected readonly lexer: Lexer;
13069
11030
  protected readonly wrapper: ChevrotainWrapper;
13070
11031
  protected _unorderedGroups: Map<string, boolean[]>;
13071
11032
  protected allRules: Map<string, RuleResult>;
@@ -13137,44 +11098,6 @@ interface IParserDefinitionError {
13137
11098
  type: number;
13138
11099
  ruleName?: string;
13139
11100
  }
13140
- declare abstract class AbstractParserErrorMessageProvider implements IParserErrorMessageProvider {
13141
- buildMismatchTokenMessage(options: {
13142
- expected: TokenType;
13143
- actual: IToken;
13144
- previous: IToken;
13145
- ruleName: string;
13146
- }): string;
13147
- buildNotAllInputParsedMessage(options: {
13148
- firstRedundant: IToken;
13149
- ruleName: string;
13150
- }): string;
13151
- buildNoViableAltMessage(options: {
13152
- expectedPathsPerAlt: TokenType[][][];
13153
- actual: IToken[];
13154
- previous: IToken;
13155
- customUserDescription: string;
13156
- ruleName: string;
13157
- }): string;
13158
- buildEarlyExitMessage(options: {
13159
- expectedIterationPaths: TokenType[][];
13160
- actual: IToken[];
13161
- previous: IToken;
13162
- customUserDescription: string;
13163
- ruleName: string;
13164
- }): string;
13165
- }
13166
- declare class LangiumParserErrorMessageProvider extends AbstractParserErrorMessageProvider {
13167
- buildMismatchTokenMessage({ expected, actual }: {
13168
- expected: TokenType;
13169
- actual: IToken;
13170
- previous: IToken;
13171
- ruleName: string;
13172
- }): string;
13173
- buildNotAllInputParsedMessage({ firstRedundant }: {
13174
- firstRedundant: IToken;
13175
- ruleName: string;
13176
- }): string;
13177
- }
13178
11101
  interface CompletionParserResult {
13179
11102
  tokens: IToken[];
13180
11103
  elementStack: AbstractElement[];
@@ -13220,8 +11143,6 @@ declare class ChevrotainWrapper extends EmbeddedActionsParser {
13220
11143
  wrapAtLeastOne(idx: number, callback: DSLMethodOpts<unknown>): void;
13221
11144
  rule(rule: RuleResult): any;
13222
11145
  }
13223
- //#endregion
13224
- //#region ../../node_modules/.pnpm/langium@4.4.0/node_modules/langium/lib/workspace/documents.d.ts
13225
11146
  /**
13226
11147
  * A Langium document holds the parse result (AST and CST) and any additional state that is derived
13227
11148
  * from the AST, e.g. the result of scope precomputation.
@@ -13354,40 +11275,6 @@ interface LangiumDocumentFactory {
13354
11275
  */
13355
11276
  update<T extends AstNode = AstNode>(document: LangiumDocument<T>, cancellationToken: CancellationToken): Promise<LangiumDocument<T>>;
13356
11277
  }
13357
- declare class DefaultLangiumDocumentFactory implements LangiumDocumentFactory {
13358
- protected readonly serviceRegistry: ServiceRegistry;
13359
- protected readonly textDocuments?: TextDocumentProvider;
13360
- protected readonly fileSystemProvider: FileSystemProvider;
13361
- constructor(services: LangiumSharedCoreServices);
13362
- fromUri<T extends AstNode = AstNode>(uri: URI$1, cancellationToken?: CancellationToken): Promise<LangiumDocument<T>>;
13363
- protected getInitialText(uri: URI$1, _cancellationToken: CancellationToken): Promise<string>;
13364
- fromTextDocument<T extends AstNode = AstNode>(textDocument: TextDocument, uri?: URI$1, options?: ParserOptions): LangiumDocument<T>;
13365
- fromTextDocument<T extends AstNode = AstNode>(textDocument: TextDocument, uri: URI$1 | undefined, cancellationToken: CancellationToken): Promise<LangiumDocument<T>>;
13366
- fromString<T extends AstNode = AstNode>(text: string, uri: URI$1, options?: ParserOptions): LangiumDocument<T>;
13367
- fromString<T extends AstNode = AstNode>(text: string, uri: URI$1, cancellationToken: CancellationToken): Promise<LangiumDocument<T>>;
13368
- fromModel<T extends AstNode = AstNode>(model: T, uri: URI$1): LangiumDocument<T>;
13369
- protected create<T extends AstNode = AstNode>(uri: URI$1, content: string | TextDocument | {
13370
- $model: T;
13371
- }, options?: ParserOptions): LangiumDocument<T>;
13372
- protected createAsync<T extends AstNode = AstNode>(uri: URI$1, content: string | TextDocument, cancelToken: CancellationToken): Promise<LangiumDocument<T>>;
13373
- /**
13374
- * Create a LangiumDocument from a given parse result.
13375
- *
13376
- * A TextDocument is created on demand if it is not provided as argument here. Usually this
13377
- * should not be necessary because the main purpose of the TextDocument is to convert between
13378
- * text ranges and offsets, which is done solely in LSP request handling.
13379
- *
13380
- * With the introduction of {@link update} below this method is supposed to be mainly called
13381
- * during workspace initialization and on addition/recognition of new files, while changes in
13382
- * existing documents are processed via {@link update}.
13383
- */
13384
- protected createLangiumDocument<T extends AstNode = AstNode>(parseResult: ParseResult<T>, uri: URI$1, textDocument?: TextDocument, text?: string): LangiumDocument<T>;
13385
- update<T extends AstNode = AstNode>(document: Mutable<LangiumDocument<T>>, cancellationToken: CancellationToken): Promise<LangiumDocument<T>>;
13386
- protected getUpdatedText<T extends AstNode>(document: Mutable<LangiumDocument<T>>, textDocument: TextDocument | undefined, _cancellationToken: CancellationToken): Promise<string>;
13387
- protected parse<T extends AstNode>(uri: URI$1, text: string, options?: ParserOptions): ParseResult<T>;
13388
- protected parseAsync<T extends AstNode>(uri: URI$1, text: string, cancellationToken: CancellationToken): Promise<ParseResult<T>>;
13389
- protected createTextDocumentGetter(uri: URI$1, text?: string): () => TextDocument;
13390
- }
13391
11278
  /**
13392
11279
  * Shared service for managing Langium documents.
13393
11280
  */
@@ -13482,9 +11369,6 @@ declare class DefaultLangiumDocuments implements LangiumDocuments {
13482
11369
  deleteDocument(uri: URI$1): LangiumDocument | undefined;
13483
11370
  deleteDocuments(folder: URI$1): LangiumDocument[];
13484
11371
  }
13485
- declare namespace syntax_tree_d_exports {
13486
- export { AbstractAstReflection, AstMetaData, AstNode, AstNodeDescription, AstNodeTypesWithCrossReferences, AstReflection, AstTypeList, CompositeCstNode, CrossReferencesOfAstNodeType, CstNode, GenericAstNode, LeafCstNode, LinkingError, MultiCrossReferencesOfAstNodeType, MultiReference, MultiReferenceItem, Mutable, Properties, PropertyMetaData, PropertyType, Reference, ReferenceInfo, ResolvedReference, RootCstNode, SingleCrossReferencesOfAstNodeType, TypeMetaData, isAstNode, isAstNodeDescription, isCompositeCstNode, isLeafCstNode, isLinkingError, isMultiReference, isReference, isRootCstNode };
13487
- }
13488
11372
  /**
13489
11373
  * A node in the Abstract Syntax Tree (AST).
13490
11374
  */
@@ -13502,10 +11386,6 @@ interface AstNode {
13502
11386
  /** The document containing the AST; only the root node has a direct reference to the document. */
13503
11387
  readonly $document?: LangiumDocument;
13504
11388
  }
13505
- declare function isAstNode(obj: unknown): obj is AstNode;
13506
- interface GenericAstNode extends AstNode {
13507
- [key: string]: unknown;
13508
- }
13509
11389
  type SpecificNodeProperties<N extends AstNode> = keyof Omit<N, keyof AstNode | number | symbol>;
13510
11390
  /**
13511
11391
  * The property names of a given AST node type.
@@ -13556,11 +11436,6 @@ interface MultiReferenceItem<T extends AstNode = AstNode> {
13556
11436
  */
13557
11437
  readonly ref: T;
13558
11438
  }
13559
- declare function isReference(obj: unknown): obj is Reference;
13560
- declare function isMultiReference(obj: unknown): obj is MultiReference;
13561
- type ResolvedReference<T extends AstNode = AstNode> = Reference<T> & {
13562
- readonly ref: T;
13563
- };
13564
11439
  /**
13565
11440
  * A description of an AST node is used when constructing scopes and looking up cross-reference targets.
13566
11441
  */
@@ -13584,7 +11459,6 @@ interface AstNodeDescription {
13584
11459
  /** Navigation path inside the document */
13585
11460
  path: string;
13586
11461
  }
13587
- declare function isAstNodeDescription(obj: unknown): obj is AstNodeDescription;
13588
11462
  /**
13589
11463
  * Information about a cross-reference. This is used when traversing references in an AST or to describe
13590
11464
  * unresolved references.
@@ -13603,7 +11477,6 @@ interface LinkingError {
13603
11477
  info: ReferenceInfo;
13604
11478
  targetDescription?: AstNodeDescription;
13605
11479
  }
13606
- declare function isLinkingError(obj: unknown): obj is LinkingError;
13607
11480
  /**
13608
11481
  * Service used for generic access to the structure of the AST. This service is shared between
13609
11482
  * all involved languages, so it operates on the superset of types of these languages.
@@ -13724,674 +11597,9 @@ interface CstNode extends DocumentSegment {
13724
11597
  interface CompositeCstNode extends CstNode {
13725
11598
  readonly content: readonly CstNode[];
13726
11599
  }
13727
- declare function isCompositeCstNode(node: unknown): node is CompositeCstNode;
13728
- /**
13729
- * A leaf CST node corresponds to a token in the input token stream.
13730
- */
13731
- interface LeafCstNode extends CstNode {
13732
- readonly tokenType: TokenType;
13733
- }
13734
- declare function isLeafCstNode(node: unknown): node is LeafCstNode;
13735
11600
  interface RootCstNode extends CompositeCstNode {
13736
11601
  readonly fullText: string;
13737
11602
  }
13738
- declare function isRootCstNode(node: unknown): node is RootCstNode;
13739
- /**
13740
- * Describes a union type including only names(!) of properties of type T whose property value is of a certain type K,
13741
- * or 'never' in case of no such properties.
13742
- * It evaluates the value type regardless of the property being optional or not by converting T to Required<T>.
13743
- * Note the '-?' in '[I in keyof T]-?:' that is required to map all optional but un-intended properties to 'never'.
13744
- * Without that, optional props like those inherited from 'AstNode' would be mapped to 'never|undefined',
13745
- * and the subsequent value mapping ('...[keyof T]') would yield 'undefined' instead of 'never' for AstNode types
13746
- * not having any property matching type K, which in turn yields follow-up errors.
13747
- */
13748
- type ExtractKeysOfValueType<T, K> = { [I in keyof T]-?: Required<T>[I] extends K ? I : never; }[keyof T];
13749
- type SingleCrossReferencesOfAstNodeType<N extends AstNode> = ExtractKeysOfValueType<N, Reference | Reference[]>;
13750
- type MultiCrossReferencesOfAstNodeType<N extends AstNode> = ExtractKeysOfValueType<N, MultiReference | MultiReference[]>;
13751
- /**
13752
- * Describes a union type including only names(!) of the cross-reference properties of the given AstNode type.
13753
- * Enhances compile-time validation of cross-reference distinctions, e.g. in scope providers
13754
- * in combination with `assertUnreachable(context.property)`.
13755
- */
13756
- type CrossReferencesOfAstNodeType<N extends AstNode> = SingleCrossReferencesOfAstNodeType<N> | MultiCrossReferencesOfAstNodeType<N>;
13757
- /**
13758
- * Represents the enumeration-like type, that lists all AstNode types of your grammar.
13759
- */
13760
- type AstTypeList<T> = Record<keyof T, AstNode>;
13761
- /**
13762
- * Describes a union type including of all AstNode types containing cross-references.
13763
- * A is meant to be the interface `XXXAstType` fromm your generated `ast.ts` file.
13764
- * Enhances compile-time validation of cross-reference distinctions, e.g. in scope providers
13765
- * in combination with `assertUnreachable(context.container)`.
13766
- */
13767
- type AstNodeTypesWithCrossReferences<A extends AstTypeList<A>> = { [T in keyof A]-?: CrossReferencesOfAstNodeType<A[T]> extends never ? never : A[T]; }[keyof A];
13768
- type Mutable<T> = { -readonly [P in keyof T]: T[P]; };
13769
- //#endregion
13770
- //#region ../../node_modules/.pnpm/langium@4.4.0/node_modules/langium/lib/dependency-injection.d.ts
13771
- /******************************************************************************
13772
- * Copyright 2021 TypeFox GmbH
13773
- * This program and the accompanying materials are made available under the
13774
- * terms of the MIT License, which is available in the project root.
13775
- ******************************************************************************/
13776
- /**
13777
- * A `Module<I>` is a description of possibly grouped service factories.
13778
- *
13779
- * Given a type I = { group: { service: A } },
13780
- * Module<I> := { group: { service: (injector: I) => A } }
13781
- *
13782
- * Making `I` available during the creation of `I` allows us to create cyclic
13783
- * dependencies.
13784
- */
13785
- type Module<I, T = I> = { [K in keyof T]: Module<I, T[K]> | ((injector: I) => T[K]); };
13786
- declare namespace Module {
13787
- /**
13788
- * Merges two dependency injection modules into a new (third) one that is returned.
13789
- * At that `m1` and `m2` stay unchanged. Therefore, `m1` is deep-copied first,
13790
- * and m2 is merged onto the copy afterwards.
13791
- *
13792
- * Note that the leaf values of `m1` and `m2`, i.e. the service constructor functions,
13793
- * cannot be copied generically, since they are functions. They are shared by the source and merged modules.
13794
- *
13795
- * @returns the merged module being a deep copy of `m1` with `m2` merged onto it.
13796
- */
13797
- const merge: <M1, M2, R extends M1 & M2>(m1: Module<R, M1>, m2: Module<R, M2>) => Module<R, M1 & M2>;
13798
- }
13799
- /**
13800
- * Given a set of modules, the inject function returns a lazily evaluated injector
13801
- * that injects dependencies into the requested service when it is requested the
13802
- * first time. Subsequent requests will return the same service.
13803
- *
13804
- * In the case of cyclic dependencies, an Error will be thrown. This can be fixed
13805
- * by injecting a provider `() => T` instead of a `T`.
13806
- *
13807
- * Please note that the arguments may be objects or arrays. However, the result will
13808
- * be an object. Using it with for..of will have no effect.
13809
- *
13810
- * @param module1 first Module
13811
- * @param module2 (optional) second Module
13812
- * @param module3 (optional) third Module
13813
- * @param module4 (optional) fourth Module
13814
- * @param module5 (optional) fifth Module
13815
- * @param module6 (optional) sixth Module
13816
- * @param module7 (optional) seventh Module
13817
- * @param module8 (optional) eighth Module
13818
- * @param module9 (optional) ninth Module
13819
- * @returns a new object of type I
13820
- */
13821
- declare function inject<I1, I2, I3, I4, I5, I6, I7, I8, I9, I extends I1 & I2 & I3 & I4 & I5 & I6 & I7 & I8 & I9>(module1: Module<I, I1>, module2?: Module<I, I2>, module3?: Module<I, I3>, module4?: Module<I, I4>, module5?: Module<I, I5>, module6?: Module<I, I6>, module7?: Module<I, I7>, module8?: Module<I, I8>, module9?: Module<I, I9>): I;
13822
- /**
13823
- * Eagerly load all services in the given dependency injection container. This is sometimes
13824
- * necessary because services can register event listeners in their constructors.
13825
- */
13826
- declare function eagerLoad<T>(item: T): T;
13827
- //#endregion
13828
- //#region ../../node_modules/.pnpm/langium@4.4.0/node_modules/langium/lib/default-module.d.ts
13829
- /**
13830
- * Context required for creating the default language-specific dependency injection module.
13831
- */
13832
- interface DefaultCoreModuleContext {
13833
- shared: LangiumSharedCoreServices;
13834
- }
13835
- /**
13836
- * Creates a dependency injection module configuring the default core services.
13837
- * This is a set of services that are dedicated to a specific language.
13838
- */
13839
- declare function createDefaultCoreModule(context: DefaultCoreModuleContext): Module<LangiumCoreServices, LangiumDefaultCoreServices>;
13840
- /**
13841
- * Context required for creating the default shared dependency injection module.
13842
- */
13843
- interface DefaultSharedCoreModuleContext {
13844
- /**
13845
- * Factory function to create a {@link FileSystemProvider}.
13846
- *
13847
- * Langium exposes an `EmptyFileSystem` and `NodeFileSystem`, exported through `langium/node`.
13848
- * When running Langium as part of a vscode language server or a Node.js app, using the `NodeFileSystem` is recommended,
13849
- * the `EmptyFileSystem` in every other use case.
13850
- */
13851
- fileSystemProvider: (services: LangiumSharedCoreServices) => FileSystemProvider;
13852
- }
13853
- /**
13854
- * Creates a dependency injection module configuring the default shared core services.
13855
- * This is the set of services that are shared between multiple languages.
13856
- */
13857
- declare function createDefaultSharedCoreModule(context: DefaultSharedCoreModuleContext): Module<LangiumSharedCoreServices, LangiumDefaultSharedCoreServices>;
13858
- //#endregion
13859
- //#region ../../node_modules/.pnpm/langium@4.4.0/node_modules/langium/lib/parser/completion-parser-builder.d.ts
13860
- declare function createCompletionParser(services: LangiumCoreServices): LangiumCompletionParser;
13861
- //#endregion
13862
- //#region ../../node_modules/.pnpm/langium@4.4.0/node_modules/langium/lib/parser/indentation-aware.d.ts
13863
- type IndentationAwareDelimiter<TokenName extends string> = [begin: TokenName, end: TokenName];
13864
- interface IndentationTokenBuilderOptions<TerminalName extends string = string, KeywordName extends string = string> {
13865
- /**
13866
- * The name of the token used to denote indentation in the grammar.
13867
- * A possible definition in the grammar could look like this:
13868
- * ```langium
13869
- * terminal INDENT: ':synthetic-indent:';
13870
- * ```
13871
- *
13872
- * @default 'INDENT'
13873
- */
13874
- indentTokenName: TerminalName;
13875
- /**
13876
- * The name of the token used to denote deindentation in the grammar.
13877
- * A possible definition in the grammar could look like this:
13878
- * ```langium
13879
- * terminal DEDENT: ':synthetic-dedent:';
13880
- * ```
13881
- *
13882
- * @default 'DEDENT'
13883
- */
13884
- dedentTokenName: TerminalName;
13885
- /**
13886
- * The name of the token used to denote whitespace other than indentation and newlines in the grammar.
13887
- * A possible definition in the grammar could look like this:
13888
- * ```langium
13889
- * hidden terminal WS: /[ \t]+/;
13890
- * ```
13891
- *
13892
- * @default 'WS'
13893
- */
13894
- whitespaceTokenName: TerminalName;
13895
- /**
13896
- * The delimiter tokens inside of which indentation should be ignored and treated as normal whitespace.
13897
- * For example, Python doesn't treat any whitespace between `(` and `)` as significant.
13898
- *
13899
- * Can be either terminal tokens or keyword tokens.
13900
- *
13901
- * @default []
13902
- */
13903
- ignoreIndentationDelimiters: Array<IndentationAwareDelimiter<TerminalName | KeywordName>>;
13904
- }
13905
- declare const indentationBuilderDefaultOptions: IndentationTokenBuilderOptions;
13906
- declare enum LexingMode {
13907
- REGULAR = "indentation-sensitive",
13908
- IGNORE_INDENTATION = "ignore-indentation"
13909
- }
13910
- interface IndentationLexingReport extends LexingReport {
13911
- /** Dedent tokens that are necessary to close the remaining indents. */
13912
- remainingDedents: IToken[];
13913
- }
13914
- /**
13915
- * A token builder that is sensitive to indentation in the input text.
13916
- * It will generate tokens for indentation and dedentation based on the indentation level.
13917
- *
13918
- * The first generic parameter corresponds to the names of terminal tokens,
13919
- * while the second one corresponds to the names of keyword tokens.
13920
- * Both parameters are optional and can be imported from `./generated/ast.js`.
13921
- *
13922
- * Inspired by https://github.com/chevrotain/chevrotain/blob/master/examples/lexer/python_indentation/python_indentation.js
13923
- */
13924
- declare class IndentationAwareTokenBuilder<Terminals extends string = string, KeywordName extends string = string> extends DefaultTokenBuilder {
13925
- /**
13926
- * The stack stores all the previously matched indentation levels to understand how deeply the next tokens are nested.
13927
- * The stack is valid for lexing
13928
- */
13929
- protected indentationStack: number[];
13930
- readonly options: IndentationTokenBuilderOptions<Terminals, KeywordName>;
13931
- /**
13932
- * The token type to be used for indentation tokens
13933
- */
13934
- readonly indentTokenType: TokenType;
13935
- /**
13936
- * The token type to be used for dedentation tokens
13937
- */
13938
- readonly dedentTokenType: TokenType;
13939
- /**
13940
- * A regular expression to match a series of tabs and/or spaces.
13941
- * Override this to customize what the indentation is allowed to consist of.
13942
- */
13943
- protected whitespaceRegExp: RegExp;
13944
- constructor(options?: Partial<IndentationTokenBuilderOptions<NoInfer<Terminals>, NoInfer<KeywordName>>>);
13945
- buildTokens(grammar: Grammar, options?: TokenBuilderOptions | undefined): TokenVocabulary;
13946
- flushLexingReport(text: string): IndentationLexingReport;
13947
- /**
13948
- * Helper function to check if the current position is the start of a new line.
13949
- *
13950
- * @param text The full input string.
13951
- * @param offset The current position at which to check
13952
- * @returns Whether the current position is the start of a new line
13953
- */
13954
- protected isStartOfLine(text: string, offset: number): boolean;
13955
- /**
13956
- * A helper function used in matching both indents and dedents.
13957
- *
13958
- * @param text The full input string.
13959
- * @param offset The current position at which to attempt a match
13960
- * @param tokens Previously scanned tokens
13961
- * @param groups Token Groups
13962
- * @returns The current and previous indentation levels and the matched whitespace
13963
- */
13964
- protected matchWhitespace(text: string, offset: number, tokens: IToken[], groups: Record<string, IToken[]>): {
13965
- currIndentLevel: number;
13966
- prevIndentLevel: number;
13967
- match: RegExpExecArray | null;
13968
- };
13969
- /**
13970
- * Helper function to create an instance of an indentation token.
13971
- *
13972
- * @param tokenType Indent or dedent token type
13973
- * @param text Full input string, used to calculate the line number
13974
- * @param image The original image of the token (tabs or spaces)
13975
- * @param offset Current position in the input string
13976
- * @returns The indentation token instance
13977
- */
13978
- protected createIndentationTokenInstance(tokenType: TokenType, text: string, image: string, offset: number): IToken;
13979
- /**
13980
- * Helper function to get the line number at a given offset.
13981
- *
13982
- * @param text Full input string, used to calculate the line number
13983
- * @param offset Current position in the input string
13984
- * @returns The line number at the given offset
13985
- */
13986
- protected getLineNumber(text: string, offset: number): number;
13987
- /**
13988
- * A custom pattern for matching indents
13989
- *
13990
- * @param text The full input string.
13991
- * @param offset The offset at which to attempt a match
13992
- * @param tokens Previously scanned tokens
13993
- * @param groups Token Groups
13994
- */
13995
- protected indentMatcher(text: string, offset: number, tokens: IToken[], groups: Record<string, IToken[]>): ReturnType<CustomPatternMatcherFunc>;
13996
- /**
13997
- * A custom pattern for matching dedents
13998
- *
13999
- * @param text The full input string.
14000
- * @param offset The offset at which to attempt a match
14001
- * @param tokens Previously scanned tokens
14002
- * @param groups Token Groups
14003
- */
14004
- protected dedentMatcher(text: string, offset: number, tokens: IToken[], groups: Record<string, IToken[]>): ReturnType<CustomPatternMatcherFunc>;
14005
- protected buildTerminalToken(terminal: TerminalRule): TokenType;
14006
- /**
14007
- * Resets the indentation stack between different runs of the lexer
14008
- *
14009
- * @param text Full text that was tokenized
14010
- * @returns Remaining dedent tokens to match all previous indents at the end of the file
14011
- */
14012
- flushRemainingDedents(text: string): IToken[];
14013
- }
14014
- /**
14015
- * A lexer that is aware of indentation in the input text.
14016
- * The only purpose of this lexer is to reset the internal state of the {@link IndentationAwareTokenBuilder}
14017
- * between the tokenization of different text inputs.
14018
- *
14019
- * In your module, you can override the default lexer with this one as such:
14020
- * ```ts
14021
- * parser: {
14022
- * TokenBuilder: () => new IndentationAwareTokenBuilder(),
14023
- * Lexer: (services) => new IndentationAwareLexer(services),
14024
- * }
14025
- * ```
14026
- */
14027
- declare class IndentationAwareLexer extends DefaultLexer {
14028
- protected readonly indentationTokenBuilder: IndentationAwareTokenBuilder;
14029
- constructor(services: LangiumCoreServices);
14030
- tokenize(text: string, options?: TokenizeOptions): LexerResult;
14031
- }
14032
- //#endregion
14033
- //#region ../../node_modules/.pnpm/langium@4.4.0/node_modules/langium/lib/parser/langium-parser-builder.d.ts
14034
- /**
14035
- * Create and finalize a Langium parser. The parser rules are derived from the grammar, which is
14036
- * available at `services.Grammar`.
14037
- */
14038
- declare function createLangiumParser(services: LangiumCoreServices): LangiumParser;
14039
- /**
14040
- * Create a Langium parser without finalizing it. This is used to extract more detailed error
14041
- * information when the parser is initially validated.
14042
- */
14043
- declare function prepareLangiumParser(services: LangiumCoreServices): LangiumParser;
14044
- //#endregion
14045
- //#region ../../node_modules/.pnpm/langium@4.4.0/node_modules/langium/lib/parser/parser-builder-base.d.ts
14046
- declare function createParser<T extends BaseParser>(grammar: Grammar, parser: T, tokens: TokenTypeDictionary): T;
14047
- //#endregion
14048
- //#region ../../node_modules/.pnpm/langium@4.4.0/node_modules/langium/lib/utils/errors.d.ts
14049
- declare class ErrorWithLocation extends Error {
14050
- constructor(node: CstNode | undefined, message: string | (() => string));
14051
- }
14052
- declare function assertUnreachable(_: never, message?: string | (() => string)): never;
14053
- declare function assertCondition(condition: boolean, message?: string | (() => string)): asserts condition;
14054
- //#endregion
14055
- //#region ../../node_modules/.pnpm/langium@4.4.0/node_modules/langium/lib/utils/grammar-loader.d.ts
14056
- /**
14057
- * Load a Langium grammar for your language from a JSON string. This is used by several services,
14058
- * most notably the parser builder which interprets the grammar to create a parser.
14059
- */
14060
- declare function loadGrammarFromJson(json: string): Grammar;
14061
- declare namespace ast_utils_d_exports {
14062
- export { AstStreamOptions, DeepPartialAstNode, assignMandatoryProperties, copyAstNode, findRootNode, getContainerOfType, getDocument, getReferenceNodes, hasContainerOfType, linkContentToContainer, streamAllContents, streamAst, streamContents, streamReferences };
14063
- }
14064
- /**
14065
- * Link the `$container` and other related properties of every AST node that is directly contained
14066
- * in the given `node`.
14067
- */
14068
- declare function linkContentToContainer(node: AstNode, options?: {
14069
- /**
14070
- * If true, the function will also link the content of the contained nodes.
14071
- * Otherwise, only the immediate children of the given node are linked to their container.
14072
- */
14073
- deep?: boolean;
14074
- }): void;
14075
- /**
14076
- * Walk along the hierarchy of containers from the given AST node to the root and return the first
14077
- * node that matches the type predicate. If the start node itself matches, it is returned.
14078
- * If no container matches, `undefined` is returned.
14079
- */
14080
- declare function getContainerOfType<T extends AstNode>(node: AstNode | undefined, typePredicate: (n: AstNode) => n is T): T | undefined;
14081
- /**
14082
- * Walk along the hierarchy of containers from the given AST node to the root and check for existence
14083
- * of a container that matches the given predicate. The start node is included in the checks.
14084
- */
14085
- declare function hasContainerOfType(node: AstNode | undefined, predicate: (n: AstNode) => boolean): boolean;
14086
- /**
14087
- * Retrieve the document in which the given AST node is contained. A reference to the document is
14088
- * usually held by the root node of the AST.
14089
- *
14090
- * @throws an error if the node is not contained in a document.
14091
- */
14092
- declare function getDocument<T extends AstNode = AstNode>(node: AstNode): LangiumDocument<T>;
14093
- /**
14094
- * Returns the root node of the given AST node by following the `$container` references.
14095
- */
14096
- declare function findRootNode(node: AstNode): AstNode;
14097
- /**
14098
- * Returns all AST nodes that are referenced by the given reference or multi-reference.
14099
- */
14100
- declare function getReferenceNodes(reference: Reference | MultiReference): AstNode[];
14101
- interface AstStreamOptions {
14102
- /**
14103
- * Optional target range that the nodes in the stream need to intersect
14104
- */
14105
- range?: Range;
14106
- }
14107
- /**
14108
- * Create a stream of all AST nodes that are directly contained in the given node. This includes
14109
- * single-valued as well as multi-valued (array) properties.
14110
- */
14111
- declare function streamContents(node: AstNode, options?: AstStreamOptions): Stream<AstNode>;
14112
- /**
14113
- * Create a stream of all AST nodes that are directly and indirectly contained in the given root node.
14114
- * This does not include the root node itself.
14115
- */
14116
- declare function streamAllContents(root: AstNode, options?: AstStreamOptions): TreeStream<AstNode>;
14117
- /**
14118
- * Create a stream of all AST nodes that are directly and indirectly contained in the given root node,
14119
- * including the root node itself.
14120
- */
14121
- declare function streamAst(root: AstNode, options?: AstStreamOptions): TreeStream<AstNode>;
14122
- /**
14123
- * Create a stream of all cross-references that are held by the given AST node. This includes
14124
- * single-valued as well as multi-valued (array) properties.
14125
- */
14126
- declare function streamReferences(node: AstNode): Stream<ReferenceInfo>;
14127
- /**
14128
- * Assigns all mandatory AST properties to the specified node.
14129
- *
14130
- * @param reflection Reflection object used to gather mandatory properties for the node.
14131
- * @param node Specified node is modified in place and properties are directly assigned.
14132
- */
14133
- declare function assignMandatoryProperties(reflection: AstReflection, node: AstNode): void;
14134
- /**
14135
- * Creates a deep copy of the specified AST node.
14136
- * The resulting copy will only contain semantically relevant information, such as the `$type` property and AST properties.
14137
- *
14138
- * @param node The AST node to deeply copy.
14139
- * @param buildReference References are not copied, instead this function is called to rebuild them.
14140
- * @param trace For the sake of tracking copied nodes and their originals a `trace` map can be provided (optional).
14141
- */
14142
- declare function copyAstNode<T extends AstNode = AstNode>(node: T, buildReference: (node: AstNode, property: string, refNode: CstNode | undefined, refText: string, origReference: Reference<AstNode>) => Reference<AstNode>, trace?: Map<AstNode, AstNode>): T;
14143
- /**
14144
- * Recursively makes all properties of an AstNode optional, except for those
14145
- * that start with a dollar sign ($) or are of type boolean or are of type array.
14146
- * If the type is a Reference or an Array, it applies the transformation recursively
14147
- * to the inner type.
14148
- * Otherwise the type is returned as is.
14149
- *
14150
- * @template T - The type to be transformed.
14151
- */
14152
- type DeepPartialAstNode<T> = T extends Reference<infer U extends AstNode> ? Reference<DeepPartialAstNode<U>> : T extends AstNode ? { [K in keyof T as K extends `$${string}` | (T[K] extends (boolean | any[]) ? K : never) ? K : never]: DeepPartialAstNode<T[K]>; } & { [K in keyof T as K extends `$${string}` ? never : T[K] extends (boolean | any[]) ? never : K]?: DeepPartialAstNode<T[K]>; } : T extends Array<infer U> ? Array<DeepPartialAstNode<U>> : T;
14153
- declare namespace cst_utils_d_exports {
14154
- export { DefaultNameRegexp, RangeComparison, compareRange, findCommentNode, findDeclarationNodeAtOffset, findLeafNodeAtOffset, findLeafNodeBeforeOffset, flattenCst, getDatatypeNode, getInteriorNodes, getNextNode, getPreviousNode, getStartlineNode, inRange, isChildNode, isCommentNode, isValidTokenRange, streamCst, toDocumentSegment, tokenToRange };
14155
- }
14156
- /**
14157
- * Attempts to find the CST node that belongs to the datatype element that contains the given CST node.
14158
- *
14159
- * @param cstNode The CST node for which to find the datatype node.
14160
- * @returns The CST node corresponding to the datatype element, or the undefined if no such element exists.
14161
- */
14162
- declare function getDatatypeNode(cstNode: CstNode): CstNode | undefined;
14163
- /**
14164
- * Create a stream of all CST nodes that are directly and indirectly contained in the given root node,
14165
- * including the root node itself.
14166
- */
14167
- declare function streamCst(node: CstNode): TreeStream<CstNode>;
14168
- /**
14169
- * Create a stream of all leaf nodes that are directly and indirectly contained in the given root node.
14170
- */
14171
- declare function flattenCst(node: CstNode): Stream<LeafCstNode>;
14172
- /**
14173
- * Determines whether the specified cst node is a child of the specified parent node.
14174
- */
14175
- declare function isChildNode(child: CstNode, parent: CstNode): boolean;
14176
- declare function tokenToRange(token: IToken$1): Range;
14177
- /**
14178
- * Checks whether a token has a valid source range.
14179
- *
14180
- * Chevrotain uses negative offsets for virtual tokens such as EOF and tokens
14181
- * inserted during error recovery. Older versions used `NaN` for the same
14182
- * purpose, so both forms need to be rejected here.
14183
- */
14184
- declare function isValidTokenRange(token: Pick<IToken$1, 'startOffset' | 'endOffset'>): boolean;
14185
- declare function toDocumentSegment(node: CstNode): DocumentSegment;
14186
- declare function toDocumentSegment(node?: CstNode): DocumentSegment | undefined;
14187
- declare enum RangeComparison {
14188
- Before = 0,
14189
- After = 1,
14190
- OverlapFront = 2,
14191
- OverlapBack = 3,
14192
- Inside = 4,
14193
- Outside = 5
14194
- }
14195
- declare function compareRange(range: Range, to: Range): RangeComparison;
14196
- declare function inRange(range: Range, to: Range): boolean;
14197
- declare const DefaultNameRegexp: RegExp;
14198
- /**
14199
- * Performs `findLeafNodeAtOffset` with a minor difference: When encountering a character that matches the `nameRegexp` argument,
14200
- * it will instead return the leaf node at the `offset - 1` position.
14201
- *
14202
- * For LSP services, users expect that the declaration of an element is available if the cursor is directly after the element.
14203
- */
14204
- declare function findDeclarationNodeAtOffset(cstNode: CstNode | undefined, offset: number, nameRegexp?: RegExp): LeafCstNode | undefined;
14205
- declare function findCommentNode(cstNode: CstNode | undefined, commentNames: string[]): CstNode | undefined;
14206
- declare function isCommentNode(cstNode: CstNode, commentNames: string[]): boolean;
14207
- /**
14208
- * Finds the leaf CST node at the specified 0-based string offset.
14209
- * Note that the given offset will be within the range of the returned leaf node.
14210
- *
14211
- * If the offset does not point to a CST node (but just white space), this method will return `undefined`.
14212
- *
14213
- * @param node The CST node to search through.
14214
- * @param offset The specified offset.
14215
- * @returns The CST node at the specified offset.
14216
- */
14217
- declare function findLeafNodeAtOffset(node: CstNode, offset: number): LeafCstNode | undefined;
14218
- /**
14219
- * Finds the leaf CST node at the specified 0-based string offset.
14220
- * If no CST node exists at the specified position, it will return the leaf node before it.
14221
- *
14222
- * If there is no leaf node before the specified offset, this method will return `undefined`.
14223
- *
14224
- * @param node The CST node to search through.
14225
- * @param offset The specified offset.
14226
- * @returns The CST node closest to the specified offset.
14227
- */
14228
- declare function findLeafNodeBeforeOffset(node: CstNode, offset: number): LeafCstNode | undefined;
14229
- declare function getPreviousNode(node: CstNode, hidden?: boolean): CstNode | undefined;
14230
- declare function getNextNode(node: CstNode, hidden?: boolean): CstNode | undefined;
14231
- declare function getStartlineNode(node: CstNode): CstNode;
14232
- declare function getInteriorNodes(start: CstNode, end: CstNode): CstNode[];
14233
- declare namespace grammar_utils_d_exports {
14234
- export { Cardinality, Operator, findAssignment, findNameAssignment, findNodeForKeyword, findNodeForProperty, findNodesForKeyword, findNodesForKeywordInternal, findNodesForProperty, getActionAtElement, getActionType, getAllReachableRules, getAllRulesUsedForCrossReferences, getCrossReferenceTerminal, getEntryRule, getExplicitRuleType, getHiddenRules, getRuleType, getRuleTypeName, getTypeName, isArrayCardinality, isArrayOperator, isCommentTerminal, isDataType, isDataTypeRule, isOptionalCardinality, terminalRegex };
14235
- }
14236
- /**
14237
- * Returns the entry rule of the given grammar, if any. If the grammar file does not contain an entry rule,
14238
- * the result is `undefined`.
14239
- */
14240
- declare function getEntryRule(grammar: Grammar): ParserRule | undefined;
14241
- /**
14242
- * Returns all hidden terminal rules of the given grammar, if any.
14243
- */
14244
- declare function getHiddenRules(grammar: Grammar): AbstractRule[];
14245
- /**
14246
- * Returns all rules that can be reached from the topmost rules of the specified grammar (entry and hidden terminal rules).
14247
- *
14248
- * @param grammar The grammar that contains all rules
14249
- * @param allTerminals Whether or not to include terminals that are referenced only by other terminals
14250
- * @returns A list of referenced parser and terminal rules. If the grammar contains no entry rule,
14251
- * this function returns all rules of the specified grammar.
14252
- */
14253
- declare function getAllReachableRules(grammar: Grammar, allTerminals: boolean): Set<AbstractRule>;
14254
- /**
14255
- * Returns all parser rules which provide types which are used in the grammar as type in cross-references.
14256
- * @param grammar the grammar to investigate
14257
- * @returns the set of parser rules whose contributed types are used as type in cross-references
14258
- */
14259
- declare function getAllRulesUsedForCrossReferences(grammar: Grammar): Set<ParserRule>;
14260
- /**
14261
- * Determines the grammar expression used to parse a cross-reference (usually a reference to a terminal rule).
14262
- * A cross-reference can declare this expression explicitly in the form `[Type : Terminal]`, but if `Terminal`
14263
- * is omitted, this function attempts to infer it from the name of the referenced `Type` (using `findNameAssignment`).
14264
- *
14265
- * Returns the grammar expression used to parse the given cross-reference, or `undefined` if it is not declared
14266
- * and cannot be inferred.
14267
- */
14268
- declare function getCrossReferenceTerminal(crossRef: CrossReference): AbstractElement | undefined;
14269
- /**
14270
- * Determines whether the given terminal rule represents a comment. This is true if the rule is marked
14271
- * as `hidden` and it does not match white space. This means every hidden token (i.e. excluded from the AST)
14272
- * that contains visible characters is considered a comment.
14273
- */
14274
- declare function isCommentTerminal(terminalRule: TerminalRule): boolean;
14275
- /**
14276
- * Find all CST nodes within the given node that contribute to the specified property.
14277
- *
14278
- * @param node A CST node in which to look for property assignments. If this is undefined, the result is an empty array.
14279
- * @param property A property name of the constructed AST node. If this is undefined, the result is an empty array.
14280
- */
14281
- declare function findNodesForProperty(node: CstNode | undefined, property: string | undefined): CstNode[];
14282
- /**
14283
- * Find a single CST node within the given node that contributes to the specified property.
14284
- *
14285
- * @param node A CST node in which to look for property assignments. If this is undefined, the result is `undefined`.
14286
- * @param property A property name of the constructed AST node. If this is undefined, the result is `undefined`.
14287
- * @param index If no index is specified or the index is less than zero, the first found node is returned. If the
14288
- * specified index exceeds the number of assignments to the property, the last found node is returned. Otherwise,
14289
- * the node with the specified index is returned.
14290
- */
14291
- declare function findNodeForProperty(node: CstNode | undefined, property: string | undefined, index?: number): CstNode | undefined;
14292
- /**
14293
- * Find all CST nodes within the given node that correspond to the specified keyword.
14294
- *
14295
- * @param node A CST node in which to look for keywords. If this is undefined, the result is an empty array.
14296
- * @param keyword A keyword as specified in the grammar.
14297
- */
14298
- declare function findNodesForKeyword(node: CstNode | undefined, keyword: string): CstNode[];
14299
- /**
14300
- * Find a single CST node within the given node that corresponds to the specified keyword.
14301
- *
14302
- * @param node A CST node in which to look for keywords. If this is undefined, the result is `undefined`.
14303
- * @param keyword A keyword as specified in the grammar.
14304
- * @param index If no index is specified or the index is less than zero, the first found node is returned. If the
14305
- * specified index exceeds the number of keyword occurrences, the last found node is returned. Otherwise,
14306
- * the node with the specified index is returned.
14307
- */
14308
- declare function findNodeForKeyword(node: CstNode | undefined, keyword: string, index?: number): CstNode | undefined;
14309
- declare function findNodesForKeywordInternal(node: CstNode, keyword: string, element: AstNode | undefined): CstNode[];
14310
- /**
14311
- * If the given CST node was parsed in the context of a property assignment, the respective `Assignment` grammar
14312
- * node is returned. If no assignment is found, the result is `undefined`.
14313
- *
14314
- * @param cstNode A CST node for which to find a property assignment.
14315
- */
14316
- declare function findAssignment(cstNode: CstNode): Assignment | undefined;
14317
- /**
14318
- * Find an assignment to the `name` property for the given grammar type. This requires the `type` to be inferred
14319
- * from a parser rule, and that rule must contain an assignment to the `name` property. In all other cases,
14320
- * this function returns `undefined`.
14321
- */
14322
- declare function findNameAssignment(type: AbstractType): Assignment | undefined;
14323
- declare function getActionAtElement(element: AbstractElement): Action | undefined;
14324
- type Cardinality = '?' | '*' | '+' | undefined;
14325
- type Operator = '=' | '+=' | '?=' | undefined;
14326
- declare function isOptionalCardinality(cardinality?: Cardinality, element?: AbstractElement): boolean;
14327
- declare function isArrayCardinality(cardinality?: Cardinality): boolean;
14328
- declare function isArrayOperator(operator?: Operator): boolean;
14329
- /**
14330
- * Determines whether the given parser rule is a _data type rule_, meaning that it has a
14331
- * primitive return type like `number`, `boolean`, etc.
14332
- */
14333
- declare function isDataTypeRule(rule: ParserRule): boolean;
14334
- declare function isDataType(type: Type): boolean;
14335
- declare function getExplicitRuleType(rule: AbstractRule): string | undefined;
14336
- declare function getTypeName(type: AbstractType | Action): string;
14337
- declare function getActionType(action: Action): string | undefined;
14338
- /**
14339
- * This function is used at development time (for code generation and the internal type system) to get the type of the AST node produced by the given rule.
14340
- * For data type rules, the name of the rule is returned,
14341
- * e.g. "INT_value returns number: MY_INT;" returns "INT_value".
14342
- * @param rule the given rule
14343
- * @returns the name of the AST node type of the rule
14344
- */
14345
- declare function getRuleTypeName(rule: AbstractRule): string;
14346
- /**
14347
- * This function is used at runtime to get the actual type of the values produced by the given rule at runtime.
14348
- * For data type rules, the name of the declared return type of the rule is returned (if any),
14349
- * e.g. "INT_value returns number: MY_INT;" returns "number".
14350
- * @param rule the given rule
14351
- * @returns the name of the type of the produced values of the rule at runtime
14352
- */
14353
- declare function getRuleType(rule: AbstractRule): string;
14354
- declare function terminalRegex(terminalRule: TerminalRule): RegExp;
14355
- declare namespace regexp_utils_d_exports {
14356
- export { NEWLINE_REGEXP, escapeRegExp, getTerminalParts, isMultilineComment, isWhitespace, partialMatches, partialRegExp, whitespaceCharacters };
14357
- }
14358
- /******************************************************************************
14359
- * Copyright 2021 TypeFox GmbH
14360
- * This program and the accompanying materials are made available under the
14361
- * terms of the MIT License, which is available in the project root.
14362
- ******************************************************************************/
14363
- declare const NEWLINE_REGEXP: RegExp;
14364
- declare function getTerminalParts(regexp: RegExp | string): Array<{
14365
- start: string;
14366
- end: string;
14367
- }>;
14368
- declare function isMultilineComment(regexp: RegExp | string): boolean;
14369
- /**
14370
- * A set of all characters that are considered whitespace by the '\s' RegExp character class.
14371
- * Taken from [MDN](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_expressions/Character_classes).
14372
- */
14373
- declare const whitespaceCharacters: string[];
14374
- declare function isWhitespace(value: RegExp | string): boolean;
14375
- declare function escapeRegExp(value: string): string;
14376
- /**
14377
- * Determines whether the given input has a partial match with the specified regex.
14378
- * @param regex The regex to partially match against
14379
- * @param input The input string
14380
- * @returns Whether any match exists.
14381
- */
14382
- declare function partialMatches(regex: RegExp | string, input: string): boolean;
14383
- /**
14384
- * Builds a partial regex from the input regex. A partial regex is able to match incomplete input strings. E.g.
14385
- * a partial regex constructed from `/ab/` is able to match the string `a` without needing a following `b` character. However it won't match `b` alone.
14386
- * @param regex The input regex to be converted.
14387
- * @returns A partial regex constructed from the input regex.
14388
- */
14389
- declare function partialRegExp(regex: RegExp | string): RegExp;
14390
- declare namespace index_d_exports {
14391
- export { AbstractAstReflection, AbstractCstNode, AbstractLangiumParser, AbstractParserErrorMessageProvider, AbstractThreadedAsyncParser, AstMetaData, AstNode, AstNodeDescription, AstNodeDescriptionProvider, AstNodeLocator, AstNodeRegionWithAssignments, AstNodeTypesWithCrossReferences, AstNodeWithComment, AstNodeWithTextRegion, AstReflection, AstTypeList, ast_utils_d_exports as AstUtils, AsyncDisposable, AsyncParser, BaseParser, BiMap, BuildOptions, cancellation_d_exports as Cancellation, CommentProvider, CompletionParserResult, CompositeCstNode, CompositeCstNodeImpl, ConfigurationInitializedParams, ConfigurationProvider, ConfigurationSectionUpdate, ConfigurationSectionUpdateListener, ContextCache, CrossReferencesOfAstNodeType, CstNode, CstNodeBuilder, cst_utils_d_exports as CstUtils, DEFAULT_TOKENIZE_OPTIONS, DONE_RESULT, DatatypeSymbol, DeepPartial, DefaultAstNodeDescriptionProvider, DefaultAstNodeLocator, DefaultAsyncParser, DefaultCommentProvider, DefaultConfigurationProvider, DefaultCoreModuleContext, DefaultDocumentBuilder, DefaultDocumentValidator, DefaultHydrator, DefaultIndexManager, DefaultJsonSerializer, DefaultLangiumDocumentFactory, DefaultLangiumDocuments, DefaultLangiumProfiler, DefaultLexer, DefaultLexerErrorMessageProvider, DefaultLinker, DefaultMultiReference, DefaultNameProvider, DefaultReference, DefaultReferenceDescriptionProvider, DefaultReferences, DefaultScopeComputation, DefaultScopeProvider, DefaultServiceRegistry, DefaultSharedCoreModuleContext, DefaultTokenBuilder, DefaultValueConverter, DefaultWorkspaceLock, DefaultWorkspaceManager, Deferred, DehydrateContext, DiagnosticData, DiagnosticInfo, Disposable$1 as Disposable, DisposableCache, DocumentBuildListener, DocumentBuildState, DocumentBuilder, DocumentCache, DocumentPhaseListener, DocumentSegment, DocumentState, DocumentUpdateListener, DocumentValidator, DocumentationProvider, EMPTY_SCOPE, EMPTY_STREAM, Emitter, EmptyFileSystem, EmptyFileSystemProvider, ErrorWithLocation, Event, FileSelector, FileSystemFilter, FileSystemNode, FileSystemProvider, FindReferencesOptions, FlatStream, GenericAstNode, Grammar, ast_d_exports as GrammarAST, GrammarConfig, grammar_utils_d_exports as GrammarUtils, HydrateContext, Hydrator, IParserConfig, IParserDefinitionError, IndentationAwareLexer, IndentationAwareTokenBuilder, IndentationLexingReport, IndentationTokenBuilderOptions, IndexManager, JSDocComment, JSDocDocumentationProvider, JSDocElement, JSDocInline, JSDocLine, JSDocParagraph, JSDocParseOptions, JSDocRenderOptions, JSDocTag, JSDocValue, JsonDeserializeOptions, JsonSerializeOptions, JsonSerializer, LangiumCompletionParser, LangiumCoreServices, LangiumDefaultCoreServices, LangiumDefaultSharedCoreServices, LangiumDocument, LangiumDocumentFactory, LangiumDocuments, LangiumGeneratedCoreServices, LangiumGeneratedSharedCoreServices, LangiumParser, LangiumParserErrorMessageProvider, LangiumProfiler, LangiumSharedCoreServices, LanguageMetaData, LeafCstNode, LeafCstNodeImpl, Lexer$1 as Lexer, LexerResult, LexingDiagnostic, LexingDiagnosticSeverity, LexingMode, LexingReport, Linker, LinkingError, LinkingErrorData, LocalSymbols, MapScope, MaybePromise, MinusOne, Module, MultiCrossReferencesOfAstNodeType, MultiMap, MultiMapScope, MultiReference, MultiReferenceItem, Mutable, NameProvider, NamedAstNode, OperationCancelled, ParseResult, ParserOptions, ParserWorker, PartialLangiumCoreServices, PartialLangiumSharedCoreServices, ProfilingCategory, ProfilingRecord, ProfilingTask, Properties, PropertyMetaData, PropertyType, ReadPriority, Reduction, RefResolving, Reference, ReferenceDescription, ReferenceDescriptionProvider, ReferenceInfo, References, regexp_utils_d_exports as RegExpUtils, ResolvedReference, RootCstNode, RootCstNodeImpl, Scope, ScopeComputation, ScopeOptions, ScopeProvider, ServiceRegistry, SimpleCache, SingleCrossReferencesOfAstNodeType, Stream, StreamImpl, StreamScope, TextDocument, TextDocumentProvider, TokenBuilder, TokenBuilderOptions, TokenizeMode, TokenizeOptions, TreeIterator, TreeStream, TreeStreamImpl, TypeMetaData, URI$1 as URI, UriTrie, UriTrieNode, UriUtils, VALIDATE_EACH_NODE, ValidateSingleNodeOptions, ValidationAcceptor, ValidationCategory, ValidationCheck, ValidationChecks, ValidationOptions, ValidationPreparation, ValidationRegistry, ValidationSeverity, ValueConverter, ValueType, WorkerMessageCallback, WorkerMessagePost, WorkspaceCache, WorkspaceFolder, WorkspaceLock, WorkspaceManager, assertCondition, assertUnreachable, createCompletionParser, createDefaultCoreModule, createDefaultSharedCoreModule, createGrammarConfig, createLangiumParser, createParser, delayNextTick, diagnosticData, eagerLoad, getDiagnosticRange, indentationBuilderDefaultOptions, inject, interruptAndCheck, isAstNode, isAstNodeDescription, isAstNodeWithComment, isCompositeCstNode, isIMultiModeLexerDefinition, isJSDoc, isLeafCstNode, isLinkingError, isMultiReference, isNamed, isOperationCancelled, isReference, isRootCstNode, isTokenTypeArray, isTokenTypeDictionary, loadGrammarFromJson, parseJSDoc, prepareLangiumParser, setInterruptionPeriod, startCancelableOperation, stream, toDiagnosticData, toDiagnosticSeverity };
14392
- }
14393
- //#endregion
14394
- //#region ../../node_modules/.pnpm/vscode-languageserver@10.1.2/node_modules/vscode-languageserver/lib/common/progress.d.ts
14395
11603
  interface WorkDoneProgressReporter {
14396
11604
  begin(title: string, percentage?: number, message?: string, cancellable?: boolean): void;
14397
11605
  report(percentage: number): void;
@@ -14415,22 +11623,16 @@ interface WindowProgress {
14415
11623
  interface ResultProgressReporter<R> {
14416
11624
  report(data: R): void;
14417
11625
  }
14418
- //#endregion
14419
- //#region ../../node_modules/.pnpm/vscode-languageserver@10.1.2/node_modules/vscode-languageserver/lib/common/configuration.d.ts
14420
11626
  interface Configuration {
14421
11627
  getConfiguration(): Promise<any>;
14422
11628
  getConfiguration(section: string): Promise<any>;
14423
11629
  getConfiguration(item: ConfigurationItem): Promise<any>;
14424
11630
  getConfiguration(items: ConfigurationItem[]): Promise<any[]>;
14425
11631
  }
14426
- //#endregion
14427
- //#region ../../node_modules/.pnpm/vscode-languageserver@10.1.2/node_modules/vscode-languageserver/lib/common/workspaceFolder.d.ts
14428
11632
  interface WorkspaceFolders {
14429
11633
  getWorkspaceFolders(): Promise<WorkspaceFolder[] | null>;
14430
11634
  onDidChangeWorkspaceFolders: Event<WorkspaceFoldersChangeEvent>;
14431
11635
  }
14432
- //#endregion
14433
- //#region ../../node_modules/.pnpm/vscode-languageserver@10.1.2/node_modules/vscode-languageserver/lib/common/callHierarchy.d.ts
14434
11636
  /**
14435
11637
  * Shape of the call hierarchy feature
14436
11638
  *
@@ -14443,8 +11645,6 @@ interface CallHierarchy {
14443
11645
  onOutgoingCalls(handler: ServerRequestHandler<CallHierarchyOutgoingCallsParams, CallHierarchyOutgoingCall[] | null, CallHierarchyOutgoingCall[], void>): Disposable;
14444
11646
  };
14445
11647
  }
14446
- //#endregion
14447
- //#region ../../node_modules/.pnpm/vscode-languageserver@10.1.2/node_modules/vscode-languageserver/lib/common/semanticTokens.d.ts
14448
11648
  /**
14449
11649
  * Shape of the semantic token feature
14450
11650
  *
@@ -14479,13 +11679,9 @@ declare class SemanticTokensBuilder$1 {
14479
11679
  canBuildEdits(): boolean;
14480
11680
  buildEdits(): SemanticTokens | SemanticTokensDelta;
14481
11681
  }
14482
- //#endregion
14483
- //#region ../../node_modules/.pnpm/vscode-languageserver@10.1.2/node_modules/vscode-languageserver/lib/common/showDocument.d.ts
14484
11682
  interface ShowDocumentFeatureShape {
14485
11683
  showDocument(params: ShowDocumentParams): Promise<ShowDocumentResult>;
14486
11684
  }
14487
- //#endregion
14488
- //#region ../../node_modules/.pnpm/vscode-languageserver@10.1.2/node_modules/vscode-languageserver/lib/common/fileOperations.d.ts
14489
11685
  /**
14490
11686
  * Shape of the file operations feature
14491
11687
  *
@@ -14499,8 +11695,6 @@ interface FileOperationsFeatureShape {
14499
11695
  onWillRenameFiles(handler: RequestHandler<RenameFilesParams, WorkspaceEdit | null, never>): Disposable;
14500
11696
  onWillDeleteFiles(handler: RequestHandler<DeleteFilesParams, WorkspaceEdit | null, never>): Disposable;
14501
11697
  }
14502
- //#endregion
14503
- //#region ../../node_modules/.pnpm/vscode-languageserver@10.1.2/node_modules/vscode-languageserver/lib/common/linkedEditingRange.d.ts
14504
11698
  /**
14505
11699
  * Shape of the linked editing feature
14506
11700
  *
@@ -14514,8 +11708,6 @@ interface LinkedEditingRangeFeatureShape {
14514
11708
  */
14515
11709
  onLinkedEditingRange(handler: ServerRequestHandler<LinkedEditingRangeParams, LinkedEditingRanges | undefined | null, void, void>): Disposable;
14516
11710
  }
14517
- //#endregion
14518
- //#region ../../node_modules/.pnpm/vscode-languageserver@10.1.2/node_modules/vscode-languageserver/lib/common/typeHierarchy.d.ts
14519
11711
  /**
14520
11712
  * Shape of the type hierarchy feature
14521
11713
  *
@@ -14528,8 +11720,6 @@ interface TypeHierarchyFeatureShape {
14528
11720
  onSubtypes(handler: ServerRequestHandler<TypeHierarchySubtypesParams, TypeHierarchyItem[] | null, TypeHierarchyItem[], void>): Disposable;
14529
11721
  };
14530
11722
  }
14531
- //#endregion
14532
- //#region ../../node_modules/.pnpm/vscode-languageserver@10.1.2/node_modules/vscode-languageserver/lib/common/inlineValue.d.ts
14533
11723
  /**
14534
11724
  * Shape of the inline values feature
14535
11725
  *
@@ -14549,8 +11739,6 @@ interface InlineValueFeatureShape {
14549
11739
  on(handler: ServerRequestHandler<InlineValueParams, InlineValue[] | undefined | null, InlineValue[], void>): Disposable;
14550
11740
  };
14551
11741
  }
14552
- //#endregion
14553
- //#region ../../node_modules/.pnpm/vscode-languageserver@10.1.2/node_modules/vscode-languageserver/lib/common/foldingRange.d.ts
14554
11742
  /**
14555
11743
  * Shape of the folding range feature
14556
11744
  */
@@ -14570,8 +11758,6 @@ interface FoldingRangeFeatureShape {
14570
11758
  on(handler: ServerRequestHandler<FoldingRangeParams, FoldingRange[] | undefined | null, FoldingRange[], void>): Disposable;
14571
11759
  };
14572
11760
  }
14573
- //#endregion
14574
- //#region ../../node_modules/.pnpm/vscode-languageserver@10.1.2/node_modules/vscode-languageserver/lib/common/inlayHint.d.ts
14575
11761
  /**
14576
11762
  * Shape of the inlay hints feature
14577
11763
  *
@@ -14597,8 +11783,6 @@ interface InlayHintFeatureShape {
14597
11783
  resolve(handler: RequestHandler<InlayHint, InlayHint, void>): Disposable;
14598
11784
  };
14599
11785
  }
14600
- //#endregion
14601
- //#region ../../node_modules/.pnpm/vscode-languageserver@10.1.2/node_modules/vscode-languageserver/lib/common/diagnostic.d.ts
14602
11786
  /**
14603
11787
  * Shape of the linked editing feature
14604
11788
  *
@@ -14625,8 +11809,6 @@ interface DiagnosticFeatureShape {
14625
11809
  onWorkspace(handler: ServerRequestHandler<WorkspaceDiagnosticParams, WorkspaceDiagnosticReport, WorkspaceDiagnosticReportPartialResult, DiagnosticServerCancellationData>): Disposable;
14626
11810
  };
14627
11811
  }
14628
- //#endregion
14629
- //#region ../../node_modules/.pnpm/vscode-languageserver@10.1.2/node_modules/vscode-languageserver/lib/common/textDocuments.d.ts
14630
11812
  /**
14631
11813
  * We should use a mapped type to create this from Connection.
14632
11814
  */
@@ -14756,8 +11938,6 @@ declare class TextDocuments$1<T extends {
14756
11938
  */
14757
11939
  listen(connection: TextDocumentConnection$1): Disposable;
14758
11940
  }
14759
- //#endregion
14760
- //#region ../../node_modules/.pnpm/vscode-languageserver@10.1.2/node_modules/vscode-languageserver/lib/common/notebook.d.ts
14761
11941
  /**
14762
11942
  * Shape of the notebooks feature
14763
11943
  *
@@ -14853,8 +12033,6 @@ declare class NotebookDocuments$1<T extends {
14853
12033
  listen(connection: Connection): Disposable;
14854
12034
  private updateCellMap;
14855
12035
  }
14856
- //#endregion
14857
- //#region ../../node_modules/.pnpm/vscode-languageserver@10.1.2/node_modules/vscode-languageserver/lib/common/moniker.d.ts
14858
12036
  /**
14859
12037
  * Shape of the moniker feature
14860
12038
  *
@@ -14865,8 +12043,6 @@ interface MonikerFeatureShape {
14865
12043
  on(handler: ServerRequestHandler<MonikerParams, Moniker[] | null, Moniker[], void>): Disposable;
14866
12044
  };
14867
12045
  }
14868
- //#endregion
14869
- //#region ../../node_modules/.pnpm/vscode-languageserver@10.1.2/node_modules/vscode-languageserver/lib/common/inlineCompletion.d.ts
14870
12046
  /**
14871
12047
  * Shape of the inline completions feature
14872
12048
  *
@@ -14882,8 +12058,6 @@ interface InlineCompletionFeatureShape {
14882
12058
  on(handler: ServerRequestHandler<InlineCompletionParams, InlineCompletionList | InlineCompletionItem[] | undefined | null, InlineCompletionItem[], void>): Disposable;
14883
12059
  };
14884
12060
  }
14885
- //#endregion
14886
- //#region ../../node_modules/.pnpm/vscode-languageserver@10.1.2/node_modules/vscode-languageserver/lib/common/textDocumentContent.d.ts
14887
12061
  /**
14888
12062
  * Shape of the text document content feature
14889
12063
  *
@@ -14895,8 +12069,6 @@ interface TextDocumentContentFeatureShape {
14895
12069
  on(handler: RequestHandler<TextDocumentContentParams, TextDocumentContentResult | null, void>): Disposable;
14896
12070
  };
14897
12071
  }
14898
- //#endregion
14899
- //#region ../../node_modules/.pnpm/vscode-languageserver@10.1.2/node_modules/vscode-languageserver/lib/common/server.d.ts
14900
12072
  interface FeatureBase {
14901
12073
  /**
14902
12074
  * Called to initialize the remote with the given
@@ -15595,8 +12767,6 @@ interface _Connection<PConsole = _, PTracer = _, PTelemetry = _, PClient = _, PW
15595
12767
  dispose(): void;
15596
12768
  }
15597
12769
  interface Connection extends _Connection {}
15598
- //#endregion
15599
- //#region ../../node_modules/.pnpm/langium@4.4.0/node_modules/langium/lib/lsp/call-hierarchy-provider.d.ts
15600
12770
  /**
15601
12771
  * Language-specific service for handling call hierarchy requests.
15602
12772
  */
@@ -15605,8 +12775,6 @@ interface CallHierarchyProvider {
15605
12775
  incomingCalls(params: CallHierarchyIncomingCallsParams, cancelToken?: CancellationToken): MaybePromise<CallHierarchyIncomingCall[] | undefined>;
15606
12776
  outgoingCalls(params: CallHierarchyOutgoingCallsParams, cancelToken?: CancellationToken): MaybePromise<CallHierarchyOutgoingCall[] | undefined>;
15607
12777
  }
15608
- //#endregion
15609
- //#region ../../node_modules/.pnpm/langium@4.4.0/node_modules/langium/lib/lsp/code-action.d.ts
15610
12778
  interface CodeActionProvider {
15611
12779
  /**
15612
12780
  * Handle a code action request.
@@ -15616,13 +12784,9 @@ interface CodeActionProvider {
15616
12784
  */
15617
12785
  getCodeActions(document: LangiumDocument, params: CodeActionParams, cancelToken?: CancellationToken): MaybePromise<Array<Command | CodeAction> | undefined>;
15618
12786
  }
15619
- //#endregion
15620
- //#region ../../node_modules/.pnpm/langium@4.4.0/node_modules/langium/lib/lsp/code-lens-provider.d.ts
15621
12787
  interface CodeLensProvider {
15622
12788
  provideCodeLens(document: LangiumDocument, params: CodeLensParams, cancelToken?: CancellationToken): MaybePromise<CodeLens[] | undefined>;
15623
12789
  }
15624
- //#endregion
15625
- //#region ../../node_modules/.pnpm/langium@4.4.0/node_modules/langium/lib/lsp/declaration-provider.d.ts
15626
12790
  /**
15627
12791
  * Language-specific service for handling go to declaration requests
15628
12792
  */
@@ -15634,8 +12798,6 @@ interface DeclarationProvider {
15634
12798
  */
15635
12799
  getDeclaration(document: LangiumDocument, params: DeclarationParams, cancelToken?: CancellationToken): MaybePromise<LocationLink[] | undefined>;
15636
12800
  }
15637
- //#endregion
15638
- //#region ../../node_modules/.pnpm/langium@4.4.0/node_modules/langium/lib/lsp/definition-provider.d.ts
15639
12801
  /**
15640
12802
  * Language-specific service for handling go to definition requests.
15641
12803
  */
@@ -15653,8 +12815,20 @@ interface DefinitionProvider {
15653
12815
  */
15654
12816
  getDefinition(document: LangiumDocument, params: DefinitionParams, cancelToken?: CancellationToken): MaybePromise<LocationLink[] | undefined>;
15655
12817
  }
15656
- //#endregion
15657
- //#region ../../node_modules/.pnpm/langium@4.4.0/node_modules/langium/lib/lsp/document-highlight-provider.d.ts
12818
+ interface GoToLink {
12819
+ source: CstNode;
12820
+ target: CstNode;
12821
+ targetDocument: LangiumDocument;
12822
+ }
12823
+ declare class DefaultDefinitionProvider implements DefinitionProvider {
12824
+ protected readonly nameProvider: NameProvider;
12825
+ protected readonly references: References;
12826
+ protected readonly grammarConfig: GrammarConfig;
12827
+ constructor(services: LangiumServices);
12828
+ getDefinition(document: LangiumDocument, params: DefinitionParams, _cancelToken?: CancellationToken): MaybePromise<LocationLink[] | undefined>;
12829
+ protected collectLocationLinks(sourceCstNode: CstNode, _params: DefinitionParams): MaybePromise<LocationLink[] | undefined>;
12830
+ protected findLinks(source: CstNode): GoToLink[];
12831
+ }
15658
12832
  /**
15659
12833
  * Language-specific service for handling document highlight requests.
15660
12834
  */
@@ -15682,8 +12856,6 @@ declare class DefaultDocumentHighlightProvider implements DocumentHighlightProvi
15682
12856
  */
15683
12857
  protected createDocumentHighlight(reference: ReferenceDescription): DocumentHighlight;
15684
12858
  }
15685
- //#endregion
15686
- //#region ../../node_modules/.pnpm/langium@4.4.0/node_modules/langium/lib/lsp/document-link-provider.d.ts
15687
12859
  /**
15688
12860
  * Language-specific service for handling document link requests.
15689
12861
  */
@@ -15696,8 +12868,6 @@ interface DocumentLinkProvider {
15696
12868
  */
15697
12869
  getDocumentLinks(document: LangiumDocument, params: DocumentLinkParams, cancelToken?: CancellationToken): MaybePromise<DocumentLink[]>;
15698
12870
  }
15699
- //#endregion
15700
- //#region ../../node_modules/.pnpm/langium@4.4.0/node_modules/langium/lib/lsp/node-kind-provider.d.ts
15701
12871
  /**
15702
12872
  * This service consolidates the logic for gathering LSP kind information based on AST nodes or their descriptions.
15703
12873
  */
@@ -15715,8 +12885,6 @@ interface NodeKindProvider {
15715
12885
  */
15716
12886
  getCompletionItemKind(node: AstNode | AstNodeDescription): CompletionItemKind;
15717
12887
  }
15718
- //#endregion
15719
- //#region ../../node_modules/.pnpm/langium@4.4.0/node_modules/langium/lib/lsp/document-symbol-provider.d.ts
15720
12888
  /**
15721
12889
  * Language-specific service for handling document symbols requests.
15722
12890
  */
@@ -15734,8 +12902,6 @@ interface DocumentSymbolProvider {
15734
12902
  */
15735
12903
  getSymbols(document: LangiumDocument, params: DocumentSymbolParams, cancelToken?: CancellationToken): MaybePromise<DocumentSymbol[]>;
15736
12904
  }
15737
- //#endregion
15738
- //#region ../../node_modules/.pnpm/langium@4.4.0/node_modules/langium/lib/lsp/document-update-handler.d.ts
15739
12905
  /**
15740
12906
  * Shared service for handling text document changes and watching relevant files.
15741
12907
  */
@@ -15782,14 +12948,34 @@ interface DocumentUpdateHandler {
15782
12948
  */
15783
12949
  onWatchedFilesChange(callback: (params: DidChangeWatchedFilesParams) => void): Disposable;
15784
12950
  }
15785
- //#endregion
15786
- //#region ../../node_modules/.pnpm/langium@4.4.0/node_modules/langium/lib/lsp/execute-command-handler.d.ts
12951
+ declare class DefaultDocumentUpdateHandler implements DocumentUpdateHandler {
12952
+ protected readonly workspaceManager: WorkspaceManager;
12953
+ protected readonly documentBuilder: DocumentBuilder;
12954
+ protected readonly workspaceLock: WorkspaceLock;
12955
+ protected readonly serviceRegistry: ServiceRegistry;
12956
+ protected readonly onWatchedFilesChangeEmitter: Emitter<DidChangeWatchedFilesParams>;
12957
+ constructor(services: LangiumSharedServices);
12958
+ protected registerFileWatcher(services: LangiumSharedServices): void;
12959
+ protected getWatchers(): FileSystemWatcher[];
12960
+ protected fireDocumentUpdate(changed: URI$1[], deleted: URI$1[]): void;
12961
+ didChangeContent(change: TextDocumentChangeEvent<TextDocument>): void;
12962
+ didChangeWatchedFiles(params: DidChangeWatchedFilesParams): void;
12963
+ get onWatchedFilesChange(): Event<DidChangeWatchedFilesParams>;
12964
+ }
15787
12965
  interface ExecuteCommandHandler {
15788
12966
  get commands(): string[];
15789
12967
  executeCommand(name: string, args: any[], cancelToken?: CancellationToken): Promise<unknown>;
15790
12968
  }
15791
- //#endregion
15792
- //#region ../../node_modules/.pnpm/langium@4.4.0/node_modules/langium/lib/lsp/file-operation-handler.d.ts
12969
+ type ExecuteCommandFunction = (args: any[], cancelToken: CancellationToken) => MaybePromise<unknown>;
12970
+ type ExecuteCommandAcceptor = (name: string, execute: ExecuteCommandFunction) => void;
12971
+ declare abstract class AbstractExecuteCommandHandler implements ExecuteCommandHandler {
12972
+ protected registeredCommands: Map<string, ExecuteCommandFunction>;
12973
+ get commands(): string[];
12974
+ constructor();
12975
+ executeCommand(name: string, args: any[], cancelToken?: CancellationToken): Promise<unknown>;
12976
+ protected createCommandAcceptor(): ExecuteCommandAcceptor;
12977
+ abstract registerCommands(acceptor: ExecuteCommandAcceptor): void;
12978
+ }
15793
12979
  /**
15794
12980
  * Shared service for handling file changes such as file creation, deletion and renaming.
15795
12981
  * The interface methods are optional, so they are only registered if they are implemented.
@@ -15836,8 +13022,6 @@ interface FileOperationHandler {
15836
13022
  */
15837
13023
  willDeleteFiles?(params: DeleteFilesParams): MaybePromise<WorkspaceEdit | null>;
15838
13024
  }
15839
- //#endregion
15840
- //#region ../../node_modules/.pnpm/langium@4.4.0/node_modules/langium/lib/lsp/folding-range-provider.d.ts
15841
13025
  /**
15842
13026
  * Language-specific service for handling folding range requests.
15843
13027
  */
@@ -15855,8 +13039,6 @@ interface FoldingRangeProvider {
15855
13039
  */
15856
13040
  getFoldingRanges(document: LangiumDocument, params: FoldingRangeParams, cancelToken?: CancellationToken): MaybePromise<FoldingRange[]>;
15857
13041
  }
15858
- //#endregion
15859
- //#region ../../node_modules/.pnpm/langium@4.4.0/node_modules/langium/lib/lsp/formatter.d.ts
15860
13042
  /**
15861
13043
  * Language specific service for handling formatting related LSP requests.
15862
13044
  */
@@ -16049,8 +13231,6 @@ interface FormattingMove {
16049
13231
  lines?: number;
16050
13232
  }
16051
13233
  type FormattingCollector = (node: CstNode, mode: 'prepend' | 'append', formatting: FormattingAction) => void;
16052
- //#endregion
16053
- //#region ../../node_modules/.pnpm/langium@4.4.0/node_modules/langium/lib/lsp/fuzzy-matcher.d.ts
16054
13234
  /******************************************************************************
16055
13235
  * Copyright 2023 TypeFox GmbH
16056
13236
  * This program and the accompanying materials are made available under the
@@ -16072,8 +13252,6 @@ interface FuzzyMatcher {
16072
13252
  */
16073
13253
  match(query: string, text: string): boolean;
16074
13254
  }
16075
- //#endregion
16076
- //#region ../../node_modules/.pnpm/langium@4.4.0/node_modules/langium/lib/lsp/hover-provider.d.ts
16077
13255
  /**
16078
13256
  * Language-specific service for handling hover requests.
16079
13257
  */
@@ -16094,8 +13272,6 @@ declare abstract class AstNodeHoverProvider implements HoverProvider {
16094
13272
  protected abstract getAstNodeHoverContent(node: AstNode): MaybePromise<string | undefined>;
16095
13273
  protected getKeywordHoverContent(node: AstNode): MaybePromise<Hover | undefined>;
16096
13274
  }
16097
- //#endregion
16098
- //#region ../../node_modules/.pnpm/langium@4.4.0/node_modules/langium/lib/lsp/implementation-provider.d.ts
16099
13275
  /**
16100
13276
  * Language-specific service for handling go to implementation requests.
16101
13277
  */
@@ -16105,8 +13281,6 @@ interface ImplementationProvider {
16105
13281
  */
16106
13282
  getImplementation(document: LangiumDocument, params: ImplementationParams, cancelToken?: CancellationToken): MaybePromise<LocationLink[] | undefined>;
16107
13283
  }
16108
- //#endregion
16109
- //#region ../../node_modules/.pnpm/langium@4.4.0/node_modules/langium/lib/lsp/inlay-hint-provider.d.ts
16110
13284
  /**
16111
13285
  * Provider for the inlay hint LSP type.
16112
13286
  */
@@ -16119,16 +13293,12 @@ interface InlayHintProvider {
16119
13293
  */
16120
13294
  getInlayHints(document: LangiumDocument, params: InlayHintParams, cancelToken?: CancellationToken): MaybePromise<InlayHint[] | undefined>;
16121
13295
  }
16122
- //#endregion
16123
- //#region ../../node_modules/.pnpm/langium@4.4.0/node_modules/langium/lib/lsp/language-server.d.ts
16124
13296
  interface LanguageServer {
16125
13297
  initialize(params: InitializeParams): Promise<InitializeResult>;
16126
13298
  initialized(params: InitializedParams): void;
16127
13299
  onInitialize(callback: (params: InitializeParams) => void): Disposable;
16128
13300
  onInitialized(callback: (params: InitializedParams) => void): Disposable;
16129
13301
  }
16130
- //#endregion
16131
- //#region ../../node_modules/.pnpm/langium@4.4.0/node_modules/langium/lib/lsp/references-provider.d.ts
16132
13302
  /**
16133
13303
  * Language-specific service for handling find references requests.
16134
13304
  */
@@ -16146,8 +13316,6 @@ interface ReferencesProvider {
16146
13316
  */
16147
13317
  findReferences(document: LangiumDocument, params: ReferenceParams, cancelToken?: CancellationToken): MaybePromise<Location[]>;
16148
13318
  }
16149
- //#endregion
16150
- //#region ../../node_modules/.pnpm/langium@4.4.0/node_modules/langium/lib/lsp/rename-provider.d.ts
16151
13319
  /**
16152
13320
  * Language-specific service for handling rename requests and prepare rename requests.
16153
13321
  */
@@ -16177,8 +13345,6 @@ interface RenameProvider {
16177
13345
  */
16178
13346
  prepareRename(document: LangiumDocument, params: TextDocumentPositionParams, cancelToken?: CancellationToken): MaybePromise<Range | undefined>;
16179
13347
  }
16180
- //#endregion
16181
- //#region ../../node_modules/.pnpm/langium@4.4.0/node_modules/langium/lib/lsp/semantic-token-provider.d.ts
16182
13348
  interface SemanticTokenProvider {
16183
13349
  semanticHighlight(document: LangiumDocument, params: SemanticTokensParams, cancelToken?: CancellationToken): MaybePromise<SemanticTokens>;
16184
13350
  semanticHighlightRange(document: LangiumDocument, params: SemanticTokensRangeParams, cancelToken?: CancellationToken): MaybePromise<SemanticTokens>;
@@ -16279,8 +13445,6 @@ declare abstract class AbstractSemanticTokenProvider implements SemanticTokenPro
16279
13445
  protected highlightKeyword(options: SemanticTokenKeywordOptions): void;
16280
13446
  protected highlightNode(options: SemanticTokenNodeOptions): void;
16281
13447
  }
16282
- //#endregion
16283
- //#region ../../node_modules/.pnpm/langium@4.4.0/node_modules/langium/lib/lsp/signature-help-provider.d.ts
16284
13448
  /**
16285
13449
  * Language-specific service for handling signature help requests.
16286
13450
  */
@@ -16294,8 +13458,6 @@ interface SignatureHelpProvider {
16294
13458
  */
16295
13459
  get signatureHelpOptions(): SignatureHelpOptions;
16296
13460
  }
16297
- //#endregion
16298
- //#region ../../node_modules/.pnpm/langium@4.4.0/node_modules/langium/lib/lsp/type-hierarchy-provider.d.ts
16299
13461
  /**
16300
13462
  * Language-specific service for handling type hierarchy requests.
16301
13463
  */
@@ -16304,8 +13466,6 @@ interface TypeHierarchyProvider {
16304
13466
  supertypes(params: TypeHierarchySupertypesParams, cancelToken?: CancellationToken): MaybePromise<TypeHierarchyItem[] | undefined>;
16305
13467
  subtypes(params: TypeHierarchySubtypesParams, cancelToken?: CancellationToken): MaybePromise<TypeHierarchyItem[] | undefined>;
16306
13468
  }
16307
- //#endregion
16308
- //#region ../../node_modules/.pnpm/langium@4.4.0/node_modules/langium/lib/lsp/type-provider.d.ts
16309
13469
  /**
16310
13470
  * Language-specific service for handling go to type requests.
16311
13471
  */
@@ -16315,8 +13475,6 @@ interface TypeDefinitionProvider {
16315
13475
  */
16316
13476
  getTypeDefinition(document: LangiumDocument, params: TypeDefinitionParams, cancelToken?: CancellationToken): MaybePromise<LocationLink[] | undefined>;
16317
13477
  }
16318
- //#endregion
16319
- //#region ../../node_modules/.pnpm/langium@4.4.0/node_modules/langium/lib/lsp/workspace-symbol-provider.d.ts
16320
13478
  /**
16321
13479
  * Shared service for handling workspace symbols requests.
16322
13480
  */
@@ -16352,8 +13510,6 @@ declare class DefaultWorkspaceSymbolProvider implements WorkspaceSymbolProvider
16352
13510
  getSymbols(params: WorkspaceSymbolParams, cancelToken?: CancellationToken): Promise<WorkspaceSymbol[]>;
16353
13511
  protected getWorkspaceSymbol(astDescription: AstNodeDescription): WorkspaceSymbol | undefined;
16354
13512
  }
16355
- //#endregion
16356
- //#region ../../node_modules/.pnpm/langium@4.4.0/node_modules/langium/lib/lsp/normalized-text-documents.d.ts
16357
13513
  type NotebookDocumentChangeEvent = NotebookDocuments$1<{
16358
13514
  uri: DocumentUri;
16359
13515
  }>['onDidChange'] extends Event<infer E> ? E : never;
@@ -16466,8 +13622,6 @@ interface NotebookDocuments<T extends {
16466
13622
  */
16467
13623
  listen(connection: Connection): Disposable;
16468
13624
  }
16469
- //#endregion
16470
- //#region ../../node_modules/.pnpm/langium@4.4.0/node_modules/langium/lib/lsp/text-document-content-provider.d.ts
16471
13625
  /**
16472
13626
  * Shared service for handling the LSP text document content request.
16473
13627
  * It allows clients to request the content of a text document given its URI.
@@ -16486,8 +13640,6 @@ interface TextDocumentContentProvider {
16486
13640
  */
16487
13641
  provideTextDocumentContent(params: TextDocumentContentParams, cancellationToken: CancellationToken): Promise<TextDocumentContentResult | undefined>;
16488
13642
  }
16489
- //#endregion
16490
- //#region ../../node_modules/.pnpm/langium@4.4.0/node_modules/langium/lib/lsp/lsp-services.d.ts
16491
13643
  /**
16492
13644
  * Combined Core + LSP services of Langium (total services)
16493
13645
  */
@@ -16544,8 +13696,6 @@ type LangiumSharedLSPServices = {
16544
13696
  readonly NotebookDocuments: NotebookDocuments<TextDocument>;
16545
13697
  };
16546
13698
  };
16547
- //#endregion
16548
- //#region ../../node_modules/.pnpm/langium@4.4.0/node_modules/langium/lib/lsp/completion/follow-element-computation.d.ts
16549
13699
  interface NextFeature<T extends AbstractElement = AbstractElement> {
16550
13700
  /**
16551
13701
  * A feature that could appear during completion.
@@ -16560,8 +13710,6 @@ interface NextFeature<T extends AbstractElement = AbstractElement> {
16560
13710
  */
16561
13711
  property?: string;
16562
13712
  }
16563
- //#endregion
16564
- //#region ../../node_modules/.pnpm/langium@4.4.0/node_modules/langium/lib/lsp/completion/completion-provider.d.ts
16565
13713
  type CompletionAcceptor = (context: CompletionContext, value: CompletionValueItem) => void;
16566
13714
  type CompletionValueItem = ({
16567
13715
  label?: string;
@@ -16647,7 +13795,7 @@ declare class DefaultCompletionProvider implements CompletionProvider {
16647
13795
  protected readonly scopeProvider: ScopeProvider;
16648
13796
  protected readonly grammar: Grammar;
16649
13797
  protected readonly nameProvider: NameProvider;
16650
- protected readonly lexer: Lexer$1;
13798
+ protected readonly lexer: Lexer;
16651
13799
  protected readonly nodeKindProvider: NodeKindProvider;
16652
13800
  protected readonly fuzzyMatcher: FuzzyMatcher;
16653
13801
  protected readonly grammarConfig: GrammarConfig;
@@ -16728,5 +13876,4 @@ declare class DefaultCompletionProvider implements CompletionProvider {
16728
13876
  */
16729
13877
  protected buildCompletionTextEditWithoutInsertReplace(context: CompletionContext, label: string, newText: string): TextEdit | undefined;
16730
13878
  }
16731
- //#endregion
16732
- export { CancellationToken as $, LocalSymbols as A, DefaultScopeProvider as B, Properties as C, Keyword as Ct, DocumentSegment as D, DefaultLangiumDocuments as E, DiagnosticInfo as F, ReferenceDescription as G, MultiMap as H, DefaultScopeComputation as I, cancellation_d_exports as J, DefaultNameProvider as K, DefaultValueConverter as L, DefaultWorkspaceManager as M, DefaultDocumentValidator as N, LangiumDocument as O, ValidationOptions as P, DocumentSymbolParams as Q, ValueType as R, CstNode as S, Range$1 as St, ReferenceInfo as T, URI$1 as Tt, JSDocDocumentationProvider as U, Scope as V, DefaultIndexManager as W, CodeLensParams as X, CodeActionParams as Y, DocumentLinkParams as Z, CodeLensProvider as _, Location as _t, LangiumServices as a, FileSystemNode as at, AstNode as b, TextEdit as bt, AbstractSemanticTokenProvider as c, CodeLens as ct, AbstractFormatter as d, Diagnostic as dt, NotificationType as et, FormattingRegion as f, DocumentHighlight as ft, DefaultDocumentHighlightProvider as g, Hover as gt, DocumentLinkProvider as h, FormattingOptions as ht, NextFeature as i, Disposable$1 as it, BuildOptions as j, LangiumDocumentFactory as k, SemanticTokenAcceptor as l, Command as lt, NodeKindProvider as m, DocumentSymbol as mt, CompletionContext as n, WorkspaceCache as nt, LangiumSharedServices as o, FileSystemProvider as ot, DocumentSymbolProvider as p, DocumentLink as pt, Stream as q, DefaultCompletionProvider as r, AsyncDisposable as rt, DefaultWorkspaceSymbolProvider as s, CodeAction as st, CompletionAcceptor as t, RequestType as tt, AstNodeHoverProvider as u, CompletionItemKind as ut, CodeActionProvider as v, Range as vt, Reference as w, ast_d_exports as wt, AstNodeDescription as x, WorkspaceFolder as xt, index_d_exports as y, SymbolKind as yt, MaybePromise as z };
13879
+ export { DefaultIndexManager as $, ReferenceInfo as A, Diagnostic as At, DefaultWorkspaceManager as B, SymbolKind as Bt, TextDocumentChangeEvent as C, FileSystemNode as Ct, CstNode as D, Command as Dt, AstNodeDescription as E, CodeLens as Et, LangiumDocumentFactory as F, Hover as Ft, DefaultScopeComputation as G, TextDocument as Gt, ValidationOptions as H, WorkspaceEdit as Ht, LangiumDocuments as I, Location as It, MaybePromise as J, DefaultValueConverter as K, Keyword as Kt, LocalSymbols as L, LocationLink as Lt, DocumentSegment as M, DocumentLink as Mt, DocumentState as N, DocumentSymbol as Nt, Properties as O, CompletionItemKind as Ot, LangiumDocument as P, FormattingOptions as Pt, JSDocDocumentationProvider as Q, BuildOptions as R, Position as Rt, CodeActionProvider as S, Disposable$1 as St, AstNode as T, CodeAction as Tt, DiagnosticInfo as U, WorkspaceFolder as Ut, DefaultDocumentValidator as V, TextEdit as Vt, ValidationSeverity as W, Range$1 as Wt, Scope as X, DefaultScopeProvider as Y, MultiMap as Z, NodeKindProvider as _, RequestType as _t, LangiumServices as a, CodeLensParams as at, DefaultDefinitionProvider as b, WorkspaceCache as bt, AbstractSemanticTokenProvider as c, DidChangeWatchedFilesParams as ct, AbstractFormatter as d, FileEvent as dt, ReferenceDescription as et, FormattingRegion as f, FileSystemWatcher as ft, DocumentSymbolProvider as g, NotificationType as gt, DefaultDocumentUpdateHandler as h, Disposable as ht, NextFeature as i, CodeActionParams as it, DefaultLangiumDocuments as j, DocumentHighlight as jt, Reference as k, CompletionList as kt, SemanticTokenAcceptor as l, DocumentLinkParams as lt, ExecuteCommandAcceptor as m, Event as mt, CompletionContext as n, DefaultNameProvider as nt, LangiumSharedServices as o, CompletionParams as ot, AbstractExecuteCommandHandler as p, CancellationToken as pt, ValueType as q, URI$1 as qt, DefaultCompletionProvider as r, Stream as rt, DefaultWorkspaceSymbolProvider as s, DefinitionParams as st, CompletionAcceptor as t, AstNodeLocator as tt, AstNodeHoverProvider as u, DocumentSymbolParams as ut, DocumentLinkProvider as v, ContextCache as vt, AbstractAstReflection as w, FileSystemProvider as wt, CodeLensProvider as x, AsyncDisposable as xt, DefaultDocumentHighlightProvider as y, SimpleCache as yt, DefaultDocumentBuilder as z, Range as zt };