@reqlan/language 1.6.2 → 1.7.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.
- package/README.md +6 -0
- package/out/generated/ast.d.ts +3 -3
- package/out/generated/ast.js +1 -1
- package/out/generated/ast.js.map +1 -1
- package/out/generated/grammar.js +2 -3318
- package/out/generated/grammar.js.map +1 -1
- package/out/generated/module.d.ts +2 -2
- package/out/generated/module.js +2 -2
- package/out/generated/module.js.map +1 -1
- package/out/index.d.ts +3 -0
- package/out/index.js +3 -0
- package/out/index.js.map +1 -1
- package/out/reqlan-async-parser.d.ts +37 -0
- package/out/reqlan-async-parser.js +117 -0
- package/out/reqlan-async-parser.js.map +1 -0
- package/out/reqlan-completion-provider.js +1 -1
- package/out/reqlan-completion-provider.js.map +1 -1
- package/out/reqlan-document-factory.d.ts +16 -0
- package/out/reqlan-document-factory.js +50 -0
- package/out/reqlan-document-factory.js.map +1 -0
- package/out/reqlan-linker.js +2 -2
- package/out/reqlan-linker.js.map +1 -1
- package/out/reqlan-module.d.ts +2 -1
- package/out/reqlan-module.js +12 -2
- package/out/reqlan-module.js.map +1 -1
- package/out/reqlan-parse-budget.d.ts +50 -0
- package/out/reqlan-parse-budget.js +89 -0
- package/out/reqlan-parse-budget.js.map +1 -0
- package/out/reqlan-parse-worker.d.ts +1 -0
- package/out/reqlan-parse-worker.js +34 -0
- package/out/reqlan-parse-worker.js.map +1 -0
- package/out/reqlan-token-builder.js +102 -25
- package/out/reqlan-token-builder.js.map +1 -1
- package/out/reqlan-validator.d.ts +9 -1
- package/out/reqlan-validator.js +16 -2
- package/out/reqlan-validator.js.map +1 -1
- package/out/reqlan-workspace-manager.d.ts +11 -0
- package/out/reqlan-workspace-manager.js +24 -0
- package/out/reqlan-workspace-manager.js.map +1 -0
- package/package.json +1 -1
- package/src/generated/ast.ts +3 -3
- package/src/generated/grammar.ts +2 -3318
- package/src/generated/module.ts +2 -2
- package/src/index.ts +3 -0
- package/src/reqlan-async-parser.ts +178 -0
- package/src/reqlan-completion-provider.ts +1 -1
- package/src/reqlan-document-factory.ts +75 -0
- package/src/reqlan-linker.ts +4 -2
- package/src/reqlan-module.ts +15 -3
- package/src/reqlan-parse-budget.ts +155 -0
- package/src/reqlan-parse-worker.ts +35 -0
- package/src/reqlan-token-builder.ts +122 -25
- package/src/reqlan-validator.ts +22 -1
- package/src/reqlan-workspace-manager.ts +38 -0
- package/src/reqlan.langium +3 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"grammar.js","sourceRoot":"","sources":["../../src/generated/grammar.ts"],"names":[],"mappings":"AAAA;;;gFAGgF;AAGhF,OAAO,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAE9C,IAAI,mBAAwC,CAAC;AAC7C,MAAM,CAAC,MAAM,aAAa,GAAG,GAAY,EAAE,CAAC,mBAAmB,IAAI,CAAC,mBAAmB,GAAG,mBAAmB,CAAC
|
|
1
|
+
{"version":3,"file":"grammar.js","sourceRoot":"","sources":["../../src/generated/grammar.ts"],"names":[],"mappings":"AAAA;;;gFAGgF;AAGhF,OAAO,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAE9C,IAAI,mBAAwC,CAAC;AAC7C,MAAM,CAAC,MAAM,aAAa,GAAG,GAAY,EAAE,CAAC,mBAAmB,IAAI,CAAC,mBAAmB,GAAG,mBAAmB,CAAC,w4hCAAw4hC,CAAC,CAAC,CAAC;AAEz/hC,IAAI,0BAA+C,CAAC;AACpD,MAAM,CAAC,MAAM,oBAAoB,GAAG,GAAY,EAAE,CAAC,0BAA0B,IAAI,CAAC,0BAA0B,GAAG,mBAAmB,CAAC,mrEAAmrE,CAAC,CAAC,CAAC"}
|
|
@@ -7,13 +7,13 @@ export declare const ReqlanLanguageMetaData: {
|
|
|
7
7
|
readonly languageId: "reqlan";
|
|
8
8
|
readonly fileExtensions: readonly [".rq"];
|
|
9
9
|
readonly caseInsensitive: false;
|
|
10
|
-
readonly mode: "
|
|
10
|
+
readonly mode: "production";
|
|
11
11
|
};
|
|
12
12
|
export declare const ReqlanCommentLanguageMetaData: {
|
|
13
13
|
readonly languageId: "reqlan-comment";
|
|
14
14
|
readonly fileExtensions: readonly [];
|
|
15
15
|
readonly caseInsensitive: false;
|
|
16
|
-
readonly mode: "
|
|
16
|
+
readonly mode: "production";
|
|
17
17
|
};
|
|
18
18
|
export declare const ReqlanGeneratedSharedModule: Module<LangiumSharedCoreServices, LangiumGeneratedSharedCoreServices>;
|
|
19
19
|
export declare const ReqlanGeneratedModule: Module<LangiumCoreServices, LangiumGeneratedCoreServices>;
|
package/out/generated/module.js
CHANGED
|
@@ -8,13 +8,13 @@ export const ReqlanLanguageMetaData = {
|
|
|
8
8
|
languageId: 'reqlan',
|
|
9
9
|
fileExtensions: ['.rq'],
|
|
10
10
|
caseInsensitive: false,
|
|
11
|
-
mode: '
|
|
11
|
+
mode: 'production'
|
|
12
12
|
};
|
|
13
13
|
export const ReqlanCommentLanguageMetaData = {
|
|
14
14
|
languageId: 'reqlan-comment',
|
|
15
15
|
fileExtensions: [],
|
|
16
16
|
caseInsensitive: false,
|
|
17
|
-
mode: '
|
|
17
|
+
mode: 'production'
|
|
18
18
|
};
|
|
19
19
|
export const ReqlanGeneratedSharedModule = {
|
|
20
20
|
AstReflection: () => new ReqlanAstReflection()
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"module.js","sourceRoot":"","sources":["../../src/generated/module.ts"],"names":[],"mappings":"AAAA;;;gFAGgF;AAGhF,OAAO,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAEnE,MAAM,CAAC,MAAM,sBAAsB,GAAG;IAClC,UAAU,EAAE,QAAQ;IACpB,cAAc,EAAE,CAAC,KAAK,CAAC;IACvB,eAAe,EAAE,KAAK;IACtB,IAAI,EAAE,
|
|
1
|
+
{"version":3,"file":"module.js","sourceRoot":"","sources":["../../src/generated/module.ts"],"names":[],"mappings":"AAAA;;;gFAGgF;AAGhF,OAAO,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAEnE,MAAM,CAAC,MAAM,sBAAsB,GAAG;IAClC,UAAU,EAAE,QAAQ;IACpB,cAAc,EAAE,CAAC,KAAK,CAAC;IACvB,eAAe,EAAE,KAAK;IACtB,IAAI,EAAE,YAAY;CACe,CAAC;AAEtC,MAAM,CAAC,MAAM,6BAA6B,GAAG;IACzC,UAAU,EAAE,gBAAgB;IAC5B,cAAc,EAAE,EAAE;IAClB,eAAe,EAAE,KAAK;IACtB,IAAI,EAAE,YAAY;CACe,CAAC;AAEtC,MAAM,CAAC,MAAM,2BAA2B,GAA0E;IAC9G,aAAa,EAAE,GAAG,EAAE,CAAC,IAAI,mBAAmB,EAAE;CACjD,CAAC;AAEF,MAAM,CAAC,MAAM,qBAAqB,GAA8D;IAC5F,OAAO,EAAE,GAAG,EAAE,CAAC,aAAa,EAAE;IAC9B,gBAAgB,EAAE,GAAG,EAAE,CAAC,sBAAsB;IAC9C,MAAM,EAAE,EAAE;CACb,CAAC;AAEF,MAAM,CAAC,MAAM,4BAA4B,GAA8D;IACnG,OAAO,EAAE,GAAG,EAAE,CAAC,oBAAoB,EAAE;IACrC,gBAAgB,EAAE,GAAG,EAAE,CAAC,6BAA6B;IACrD,MAAM,EAAE,EAAE;CACb,CAAC"}
|
package/out/index.d.ts
CHANGED
|
@@ -1,4 +1,7 @@
|
|
|
1
1
|
export * from './reqlan-module.js';
|
|
2
|
+
export * from './reqlan-parse-budget.js';
|
|
3
|
+
export { ReqlanAsyncParser, resolveParseWorkerPath } from './reqlan-async-parser.js';
|
|
4
|
+
export { ReqlanLangiumDocumentFactory } from './reqlan-document-factory.js';
|
|
2
5
|
export * from './reqlan-validator.js';
|
|
3
6
|
export * from './reqlan-comment-resolver.js';
|
|
4
7
|
export * from './reqlan-ignore-error.js';
|
package/out/index.js
CHANGED
|
@@ -1,4 +1,7 @@
|
|
|
1
1
|
export * from './reqlan-module.js';
|
|
2
|
+
export * from './reqlan-parse-budget.js';
|
|
3
|
+
export { ReqlanAsyncParser, resolveParseWorkerPath } from './reqlan-async-parser.js';
|
|
4
|
+
export { ReqlanLangiumDocumentFactory } from './reqlan-document-factory.js';
|
|
2
5
|
export * from './reqlan-validator.js';
|
|
3
6
|
export * from './reqlan-comment-resolver.js';
|
|
4
7
|
export * from './reqlan-ignore-error.js';
|
package/out/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AACtC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,0BAA0B,CAAC;AACzC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,sCAAsC,CAAC;AACrD,cAAc,wBAAwB,CAAC;AACvC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,4BAA4B,CAAC;AAC3C,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EACH,mBAAmB,EACnB,yBAAyB,EACzB,mBAAmB,EACnB,iBAAiB,EAGpB,MAAM,2BAA2B,CAAC;AACnC,cAAc,0BAA0B,CAAC;AACzC,cAAc,qBAAqB,CAAC;AACpC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,wBAAwB,CAAC;AACvC,cAAc,mCAAmC,CAAC;AAClD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,iCAAiC,CAAC;AAChD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,kCAAkC,CAAC;AACjD,cAAc,iCAAiC,CAAC;AAChD,cAAc,mCAAmC,CAAC;AAClD,cAAc,0BAA0B,CAAC;AACzC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,oCAAoC,CAAC;AACnD,cAAc,0BAA0B,CAAC;AACzC,cAAc,yCAAyC,CAAC;AACxD,cAAc,iCAAiC,CAAC;AAChD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,iCAAiC,CAAC;AAChD,OAAO,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AAC1E,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AACxE,OAAO,EAAE,wBAAwB,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AACrF,cAAc,oBAAoB,CAAC;AACnC,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,0BAA0B,CAAC;AACzC,OAAO,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AACrF,OAAO,EAAE,4BAA4B,EAAE,MAAM,8BAA8B,CAAC;AAC5E,cAAc,uBAAuB,CAAC;AACtC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,0BAA0B,CAAC;AACzC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,sCAAsC,CAAC;AACrD,cAAc,wBAAwB,CAAC;AACvC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,4BAA4B,CAAC;AAC3C,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EACH,mBAAmB,EACnB,yBAAyB,EACzB,mBAAmB,EACnB,iBAAiB,EAGpB,MAAM,2BAA2B,CAAC;AACnC,cAAc,0BAA0B,CAAC;AACzC,cAAc,qBAAqB,CAAC;AACpC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,wBAAwB,CAAC;AACvC,cAAc,mCAAmC,CAAC;AAClD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,iCAAiC,CAAC;AAChD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,kCAAkC,CAAC;AACjD,cAAc,iCAAiC,CAAC;AAChD,cAAc,mCAAmC,CAAC;AAClD,cAAc,0BAA0B,CAAC;AACzC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,oCAAoC,CAAC;AACnD,cAAc,0BAA0B,CAAC;AACzC,cAAc,yCAAyC,CAAC;AACxD,cAAc,iCAAiC,CAAC;AAChD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,iCAAiC,CAAC;AAChD,OAAO,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AAC1E,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AACxE,OAAO,EAAE,wBAAwB,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AACrF,cAAc,oBAAoB,CAAC;AACnC,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { type AstNode, type LangiumCoreServices, type LangiumParser } from 'langium';
|
|
2
|
+
import { WorkerThreadAsyncParser } from 'langium/node';
|
|
3
|
+
import { CancellationToken } from 'vscode-languageserver';
|
|
4
|
+
import { type ParseWorkerMode, type ReqlanParseResult } from './reqlan-parse-budget.js';
|
|
5
|
+
export interface ReqlanAsyncParserOptions {
|
|
6
|
+
timeoutMs?: number;
|
|
7
|
+
/** Override worker script path (tests). */
|
|
8
|
+
workerPath?: string;
|
|
9
|
+
/**
|
|
10
|
+
* `auto` (default): sync below size threshold; worker when escalated.
|
|
11
|
+
* `true` / `false`: always / never use workers.
|
|
12
|
+
*/
|
|
13
|
+
useWorker?: ParseWorkerMode;
|
|
14
|
+
/** Characters at or above which `auto` mode uses a worker. */
|
|
15
|
+
workerThresholdChars?: number;
|
|
16
|
+
/** Worker pool size (Langium default is 8; keep small for startup). */
|
|
17
|
+
threadCount?: number;
|
|
18
|
+
}
|
|
19
|
+
export interface ReqlanParseCallOptions {
|
|
20
|
+
/** Force the killable worker path for this call (sticky URI escalate, tests). */
|
|
21
|
+
forceWorker?: boolean;
|
|
22
|
+
}
|
|
23
|
+
export declare function resolveParseWorkerPath(explicit?: string): string;
|
|
24
|
+
export declare class ReqlanAsyncParser extends WorkerThreadAsyncParser {
|
|
25
|
+
private readonly timeoutMs;
|
|
26
|
+
private readonly useWorker;
|
|
27
|
+
private readonly workerThresholdChars;
|
|
28
|
+
private readonly syncParser;
|
|
29
|
+
constructor(services: LangiumCoreServices, options?: ReqlanAsyncParserOptions);
|
|
30
|
+
parse<T extends AstNode>(text: string, cancelToken: CancellationToken, callOptions?: ReqlanParseCallOptions): Promise<ReqlanParseResult<T>>;
|
|
31
|
+
/** Sync entry used by document factory / tests. */
|
|
32
|
+
parseSync<T extends AstNode>(text: string): ReqlanParseResult<T>;
|
|
33
|
+
private parseInWorker;
|
|
34
|
+
private parseOnThread;
|
|
35
|
+
/** Exposed for tests that need the underlying sync parser. */
|
|
36
|
+
get langiumParser(): LangiumParser;
|
|
37
|
+
}
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Per-file parse budget via Langium's worker-thread async parser.
|
|
3
|
+
* Happy path is in-process sync parse; workers enforce a killable wall-clock budget
|
|
4
|
+
* for large files, sticky timeout escalation, or explicit force.
|
|
5
|
+
* rq:["../../../reqlan rq/language/parser_lexer.rq".parse_budget_timeout]
|
|
6
|
+
*/
|
|
7
|
+
import { existsSync } from 'node:fs';
|
|
8
|
+
import { dirname, join } from 'node:path';
|
|
9
|
+
import { fileURLToPath } from 'node:url';
|
|
10
|
+
import { WorkerThreadAsyncParser } from 'langium/node';
|
|
11
|
+
import { CancellationTokenSource } from 'vscode-languageserver';
|
|
12
|
+
import { createIncompleteParseResult, DEFAULT_PARSE_BUDGET_MS, DEFAULT_WORKER_PARSE_THRESHOLD_CHARS, shouldEscalateToParseWorker } from './reqlan-parse-budget.js';
|
|
13
|
+
function moduleDirectory() {
|
|
14
|
+
if (typeof __dirname === 'string') {
|
|
15
|
+
return __dirname;
|
|
16
|
+
}
|
|
17
|
+
// Native ESM only — hide from esbuild's empty-import-meta rewrite.
|
|
18
|
+
const metaUrl = (0, eval)('import.meta.url');
|
|
19
|
+
return dirname(fileURLToPath(metaUrl));
|
|
20
|
+
}
|
|
21
|
+
export function resolveParseWorkerPath(explicit) {
|
|
22
|
+
if (explicit) {
|
|
23
|
+
return explicit;
|
|
24
|
+
}
|
|
25
|
+
const dir = moduleDirectory();
|
|
26
|
+
const jsPath = join(dir, 'reqlan-parse-worker.js');
|
|
27
|
+
if (existsSync(jsPath)) {
|
|
28
|
+
return jsPath;
|
|
29
|
+
}
|
|
30
|
+
const cjsPath = join(dir, 'reqlan-parse-worker.cjs');
|
|
31
|
+
if (existsSync(cjsPath)) {
|
|
32
|
+
return cjsPath;
|
|
33
|
+
}
|
|
34
|
+
return jsPath;
|
|
35
|
+
}
|
|
36
|
+
export class ReqlanAsyncParser extends WorkerThreadAsyncParser {
|
|
37
|
+
constructor(services, options = {}) {
|
|
38
|
+
super(services, () => resolveParseWorkerPath(options.workerPath));
|
|
39
|
+
this.syncParser = services.parser.LangiumParser;
|
|
40
|
+
this.timeoutMs = options.timeoutMs ?? DEFAULT_PARSE_BUDGET_MS;
|
|
41
|
+
this.useWorker = options.useWorker ?? 'auto';
|
|
42
|
+
this.workerThresholdChars = options.workerThresholdChars ?? DEFAULT_WORKER_PARSE_THRESHOLD_CHARS;
|
|
43
|
+
this.threadCount = options.threadCount ?? 2;
|
|
44
|
+
// Fail fast after cancel so the budget is close to timeoutMs wall-clock.
|
|
45
|
+
this.terminationDelay = 50;
|
|
46
|
+
}
|
|
47
|
+
async parse(text, cancelToken, callOptions = {}) {
|
|
48
|
+
if (cancelToken.isCancellationRequested) {
|
|
49
|
+
return createIncompleteParseResult(this.syncParser, {
|
|
50
|
+
reason: 'failure',
|
|
51
|
+
cause: 'cancelled'
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
const escalate = shouldEscalateToParseWorker(text, {
|
|
55
|
+
useWorker: this.useWorker,
|
|
56
|
+
forceWorker: callOptions.forceWorker,
|
|
57
|
+
thresholdChars: this.workerThresholdChars
|
|
58
|
+
});
|
|
59
|
+
if (!escalate) {
|
|
60
|
+
return this.parseOnThread(text);
|
|
61
|
+
}
|
|
62
|
+
return this.parseInWorker(text, cancelToken);
|
|
63
|
+
}
|
|
64
|
+
/** Sync entry used by document factory / tests. */
|
|
65
|
+
parseSync(text) {
|
|
66
|
+
return this.parseOnThread(text);
|
|
67
|
+
}
|
|
68
|
+
async parseInWorker(text, cancelToken) {
|
|
69
|
+
const timeoutSource = new CancellationTokenSource();
|
|
70
|
+
const timer = setTimeout(() => timeoutSource.cancel(), this.timeoutMs);
|
|
71
|
+
const callerCancel = cancelToken.onCancellationRequested(() => {
|
|
72
|
+
timeoutSource.cancel();
|
|
73
|
+
});
|
|
74
|
+
try {
|
|
75
|
+
return await super.parse(text, timeoutSource.token);
|
|
76
|
+
}
|
|
77
|
+
catch (error) {
|
|
78
|
+
if (timeoutSource.token.isCancellationRequested) {
|
|
79
|
+
if (cancelToken.isCancellationRequested) {
|
|
80
|
+
return createIncompleteParseResult(this.syncParser, {
|
|
81
|
+
reason: 'failure',
|
|
82
|
+
cause: 'cancelled'
|
|
83
|
+
});
|
|
84
|
+
}
|
|
85
|
+
return createIncompleteParseResult(this.syncParser, {
|
|
86
|
+
reason: 'timeout',
|
|
87
|
+
timeoutMs: this.timeoutMs
|
|
88
|
+
});
|
|
89
|
+
}
|
|
90
|
+
return createIncompleteParseResult(this.syncParser, {
|
|
91
|
+
reason: 'failure',
|
|
92
|
+
cause: error instanceof Error ? error.message : String(error)
|
|
93
|
+
});
|
|
94
|
+
}
|
|
95
|
+
finally {
|
|
96
|
+
clearTimeout(timer);
|
|
97
|
+
callerCancel.dispose();
|
|
98
|
+
timeoutSource.dispose();
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
parseOnThread(text) {
|
|
102
|
+
try {
|
|
103
|
+
return this.syncParser.parse(text);
|
|
104
|
+
}
|
|
105
|
+
catch (error) {
|
|
106
|
+
return createIncompleteParseResult(this.syncParser, {
|
|
107
|
+
reason: 'failure',
|
|
108
|
+
cause: error instanceof Error ? error.message : String(error)
|
|
109
|
+
});
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
/** Exposed for tests that need the underlying sync parser. */
|
|
113
|
+
get langiumParser() {
|
|
114
|
+
return this.syncParser;
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
//# sourceMappingURL=reqlan-async-parser.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reqlan-async-parser.js","sourceRoot":"","sources":["../src/reqlan-async-parser.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reqlan-completion-provider.js","sourceRoot":"","sources":["../src/reqlan-completion-provider.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"reqlan-completion-provider.js","sourceRoot":"","sources":["../src/reqlan-completion-provider.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Document factory that never lets a sync lex/parse throw escape into workspace init.
|
|
3
|
+
* Async path uses [ReqlanAsyncParser]: sync fast path by default, killable worker when escalated.
|
|
4
|
+
* rq:["../../../reqlan rq/language/parser_lexer.rq".parse_budget_timeout]
|
|
5
|
+
*/
|
|
6
|
+
import { DefaultLangiumDocumentFactory, type AstNode, type LangiumDocument, type LangiumSharedCoreServices, type ParseResult, type ParserOptions, URI } from 'langium';
|
|
7
|
+
import type { CancellationToken } from 'vscode-languageserver';
|
|
8
|
+
export declare class ReqlanLangiumDocumentFactory extends DefaultLangiumDocumentFactory {
|
|
9
|
+
/** URIs that previously hit the parse budget — keep using a killable worker. */
|
|
10
|
+
private readonly workerEscalateUris;
|
|
11
|
+
constructor(services: LangiumSharedCoreServices);
|
|
12
|
+
protected parse<T extends AstNode>(uri: URI, text: string, options?: ParserOptions): ParseResult<T>;
|
|
13
|
+
protected parseAsync<T extends AstNode>(uri: URI, text: string, cancellationToken?: CancellationToken): Promise<ParseResult<T>>;
|
|
14
|
+
/** Test helper: expose incomplete marker after async parse. */
|
|
15
|
+
static isIncompleteDocument(document: LangiumDocument): boolean;
|
|
16
|
+
}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Document factory that never lets a sync lex/parse throw escape into workspace init.
|
|
3
|
+
* Async path uses [ReqlanAsyncParser]: sync fast path by default, killable worker when escalated.
|
|
4
|
+
* rq:["../../../reqlan rq/language/parser_lexer.rq".parse_budget_timeout]
|
|
5
|
+
*/
|
|
6
|
+
import { DefaultLangiumDocumentFactory } from 'langium';
|
|
7
|
+
import { CancellationToken as CancelToken } from 'vscode-languageserver';
|
|
8
|
+
import { ReqlanAsyncParser } from './reqlan-async-parser.js';
|
|
9
|
+
import { createIncompleteParseResult } from './reqlan-parse-budget.js';
|
|
10
|
+
export class ReqlanLangiumDocumentFactory extends DefaultLangiumDocumentFactory {
|
|
11
|
+
constructor(services) {
|
|
12
|
+
super(services);
|
|
13
|
+
/** URIs that previously hit the parse budget — keep using a killable worker. */
|
|
14
|
+
this.workerEscalateUris = new Set();
|
|
15
|
+
}
|
|
16
|
+
parse(uri, text, options) {
|
|
17
|
+
const services = this.serviceRegistry.getServices(uri);
|
|
18
|
+
try {
|
|
19
|
+
return services.parser.LangiumParser.parse(text, options);
|
|
20
|
+
}
|
|
21
|
+
catch (error) {
|
|
22
|
+
return createIncompleteParseResult(services.parser.LangiumParser, {
|
|
23
|
+
reason: 'failure',
|
|
24
|
+
cause: error instanceof Error ? error.message : String(error)
|
|
25
|
+
});
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
async parseAsync(uri, text, cancellationToken = CancelToken.None) {
|
|
29
|
+
const services = this.serviceRegistry.getServices(uri);
|
|
30
|
+
const asyncParser = services.parser.AsyncParser;
|
|
31
|
+
const uriKey = uri.toString();
|
|
32
|
+
const forceWorker = this.workerEscalateUris.has(uriKey);
|
|
33
|
+
const result = asyncParser instanceof ReqlanAsyncParser
|
|
34
|
+
? await asyncParser.parse(text, cancellationToken, { forceWorker })
|
|
35
|
+
: await asyncParser.parse(text, cancellationToken);
|
|
36
|
+
const reqlanResult = result;
|
|
37
|
+
if (reqlanResult.reqlanIncomplete?.reason === 'timeout') {
|
|
38
|
+
this.workerEscalateUris.add(uriKey);
|
|
39
|
+
}
|
|
40
|
+
else if (!reqlanResult.reqlanIncomplete) {
|
|
41
|
+
this.workerEscalateUris.delete(uriKey);
|
|
42
|
+
}
|
|
43
|
+
return result;
|
|
44
|
+
}
|
|
45
|
+
/** Test helper: expose incomplete marker after async parse. */
|
|
46
|
+
static isIncompleteDocument(document) {
|
|
47
|
+
return Boolean(document.parseResult.reqlanIncomplete);
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
//# sourceMappingURL=reqlan-document-factory.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reqlan-document-factory.js","sourceRoot":"","sources":["../src/reqlan-document-factory.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EACH,6BAA6B,EAOhC,MAAM,SAAS,CAAC;AAEjB,OAAO,EAAE,iBAAiB,IAAI,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACzE,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EACH,2BAA2B,EAE9B,MAAM,0BAA0B,CAAC;AAElC,MAAM,OAAO,4BAA6B,SAAQ,6BAA6B;IAI3E,YAAY,QAAmC;QAC3C,KAAK,CAAC,QAAQ,CAAC,CAAC;QAJpB,gFAAgF;QAC/D,uBAAkB,GAAG,IAAI,GAAG,EAAU,CAAC;IAIxD,CAAC;IAEkB,KAAK,CACpB,GAAQ,EACR,IAAY,EACZ,OAAuB;QAEvB,MAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QACvD,IAAI,CAAC;YACD,OAAO,QAAQ,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAC9D,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,OAAO,2BAA2B,CAAI,QAAQ,CAAC,MAAM,CAAC,aAAa,EAAE;gBACjE,MAAM,EAAE,SAAS;gBACjB,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;aAChE,CAAC,CAAC;QACP,CAAC;IACL,CAAC;IAEkB,KAAK,CAAC,UAAU,CAC/B,GAAQ,EACR,IAAY,EACZ,oBAAuC,WAAW,CAAC,IAAI;QAEvD,MAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QACvD,MAAM,WAAW,GAAG,QAAQ,CAAC,MAAM,CAAC,WAAW,CAAC;QAChD,MAAM,MAAM,GAAG,GAAG,CAAC,QAAQ,EAAE,CAAC;QAC9B,MAAM,WAAW,GAAG,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAExD,MAAM,MAAM,GAAG,WAAW,YAAY,iBAAiB;YACnD,CAAC,CAAC,MAAM,WAAW,CAAC,KAAK,CAAI,IAAI,EAAE,iBAAiB,EAAE,EAAE,WAAW,EAAE,CAAC;YACtE,CAAC,CAAC,MAAM,WAAW,CAAC,KAAK,CAAI,IAAI,EAAE,iBAAiB,CAAC,CAAC;QAE1D,MAAM,YAAY,GAAG,MAA8B,CAAC;QACpD,IAAI,YAAY,CAAC,gBAAgB,EAAE,MAAM,KAAK,SAAS,EAAE,CAAC;YACtD,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACxC,CAAC;aAAM,IAAI,CAAC,YAAY,CAAC,gBAAgB,EAAE,CAAC;YACxC,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC3C,CAAC;QAED,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,+DAA+D;IAC/D,MAAM,CAAC,oBAAoB,CAAC,QAAyB;QACjD,OAAO,OAAO,CAAE,QAAQ,CAAC,WAAiC,CAAC,gBAAgB,CAAC,CAAC;IACjF,CAAC;CACJ"}
|
package/out/reqlan-linker.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { AstUtils, DefaultLinker } from 'langium';
|
|
2
|
-
import { isLocalReference, isModel, isQualifiedReference } from './generated/ast.js';
|
|
2
|
+
import { isIdea, isIdeaSet, isLocalReference, isModel, isOneLinerIdea, isQualifiedReference } from './generated/ast.js';
|
|
3
3
|
import { isOpaqueFileReferencePath } from './reqlan-file-references.js';
|
|
4
4
|
import { findNamespaceImportByAlias } from './reqlan-import-bindings.js';
|
|
5
5
|
import { isResolvableImportPath } from './reqlan-imports.js';
|
|
@@ -53,7 +53,7 @@ export class ReqlanLinker extends DefaultLinker {
|
|
|
53
53
|
return false;
|
|
54
54
|
}
|
|
55
55
|
const name = refInfo.reference.$refText;
|
|
56
|
-
if (model.elements.some(element => element.name === name)) {
|
|
56
|
+
if (model.elements.some(element => (isIdea(element) || isOneLinerIdea(element) || isIdeaSet(element)) && element.name === name)) {
|
|
57
57
|
return false;
|
|
58
58
|
}
|
|
59
59
|
return findNamespaceImportByAlias(model.imports, name) !== undefined;
|
package/out/reqlan-linker.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reqlan-linker.js","sourceRoot":"","sources":["../src/reqlan-linker.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAyB,MAAM,SAAS,CAAC;AACzE,OAAO,EAAE,gBAAgB,EAAE,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"reqlan-linker.js","sourceRoot":"","sources":["../src/reqlan-linker.ts"],"names":[],"mappings":"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"}
|
package/out/reqlan-module.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { type Module } from 'langium';
|
|
1
|
+
import { type Module, type PartialLangiumSharedCoreServices } from 'langium';
|
|
2
2
|
import { type DefaultSharedModuleContext, type LangiumServices, type LangiumSharedServices, type PartialLangiumServices } from 'langium/lsp';
|
|
3
3
|
import { ReqlanValidator } from './reqlan-validator.js';
|
|
4
4
|
/**
|
|
@@ -19,6 +19,7 @@ export type ReqlanServices = LangiumServices & ReqlanAddedServices;
|
|
|
19
19
|
* declared custom services. The Langium defaults can be partially specified to override only
|
|
20
20
|
* selected services, while the custom services must be fully specified.
|
|
21
21
|
*/
|
|
22
|
+
export declare const ReqlanSharedModule: Module<LangiumSharedServices, PartialLangiumSharedCoreServices>;
|
|
22
23
|
export declare const ReqlanModule: Module<ReqlanServices, PartialLangiumServices & ReqlanAddedServices>;
|
|
23
24
|
/**
|
|
24
25
|
* Create the full set of services required by Langium.
|
package/out/reqlan-module.js
CHANGED
|
@@ -18,11 +18,20 @@ import { ReqlanSemanticTokenProvider } from './reqlan-semantic-token-provider.js
|
|
|
18
18
|
import { ReqlanTokenBuilder } from './reqlan-token-builder.js';
|
|
19
19
|
import { registerRqIgnoreErrorFiltering } from './reqlan-ignore-error.js';
|
|
20
20
|
import { ReqlanValidator, registerValidationChecks } from './reqlan-validator.js';
|
|
21
|
+
import { ReqlanWorkspaceManager } from './reqlan-workspace-manager.js';
|
|
22
|
+
import { ReqlanAsyncParser } from './reqlan-async-parser.js';
|
|
23
|
+
import { ReqlanLangiumDocumentFactory } from './reqlan-document-factory.js';
|
|
21
24
|
/**
|
|
22
25
|
* Dependency injection module that overrides Langium default services and contributes the
|
|
23
26
|
* declared custom services. The Langium defaults can be partially specified to override only
|
|
24
27
|
* selected services, while the custom services must be fully specified.
|
|
25
28
|
*/
|
|
29
|
+
export const ReqlanSharedModule = {
|
|
30
|
+
workspace: {
|
|
31
|
+
WorkspaceManager: services => new ReqlanWorkspaceManager(services),
|
|
32
|
+
LangiumDocumentFactory: services => new ReqlanLangiumDocumentFactory(services)
|
|
33
|
+
}
|
|
34
|
+
};
|
|
26
35
|
export const ReqlanModule = {
|
|
27
36
|
validation: {
|
|
28
37
|
ReqlanValidator: services => new ReqlanValidator(services)
|
|
@@ -35,7 +44,8 @@ export const ReqlanModule = {
|
|
|
35
44
|
},
|
|
36
45
|
parser: {
|
|
37
46
|
GrammarConfig: createReqlanGrammarConfig,
|
|
38
|
-
TokenBuilder: () => new ReqlanTokenBuilder()
|
|
47
|
+
TokenBuilder: () => new ReqlanTokenBuilder(),
|
|
48
|
+
AsyncParser: (services) => new ReqlanAsyncParser(services)
|
|
39
49
|
},
|
|
40
50
|
lsp: {
|
|
41
51
|
DefinitionProvider: services => new ReqlanDefinitionProvider(services),
|
|
@@ -65,7 +75,7 @@ export const ReqlanModule = {
|
|
|
65
75
|
* @returns An object wrapping the shared services and the language-specific services
|
|
66
76
|
*/
|
|
67
77
|
export function createReqlanServices(context) {
|
|
68
|
-
const shared = inject(createDefaultSharedModule(context), ReqlanGeneratedSharedModule);
|
|
78
|
+
const shared = inject(createDefaultSharedModule(context), ReqlanGeneratedSharedModule, ReqlanSharedModule);
|
|
69
79
|
const Reqlan = inject(createDefaultModule({ shared }), ReqlanGeneratedModule, ReqlanModule);
|
|
70
80
|
shared.ServiceRegistry.register(Reqlan);
|
|
71
81
|
registerValidationChecks(Reqlan);
|
package/out/reqlan-module.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reqlan-module.js","sourceRoot":"","sources":["../src/reqlan-module.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,MAAM,
|
|
1
|
+
{"version":3,"file":"reqlan-module.js","sourceRoot":"","sources":["../src/reqlan-module.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Per-file parse/lex budget: if a document cannot finish within the budget,
|
|
3
|
+
* return an empty model plus warning + error diagnostics instead of hanging the host.
|
|
4
|
+
* rq:["../../../reqlan rq/language/parser_lexer.rq".parse_budget_timeout]
|
|
5
|
+
*/
|
|
6
|
+
import type { AstNode, LangiumParser, ParseResult } from 'langium';
|
|
7
|
+
/** Default wall-clock budget for lex+parse of one file (worker-enforced). */
|
|
8
|
+
export declare const DEFAULT_PARSE_BUDGET_MS = 8000;
|
|
9
|
+
/**
|
|
10
|
+
* Prefer in-process sync parse below this size. Worker threads (killable budget)
|
|
11
|
+
* are reserved for larger inputs, hang-sentinel tests, sticky timeout escalation,
|
|
12
|
+
* or an explicit force.
|
|
13
|
+
*/
|
|
14
|
+
export declare const DEFAULT_WORKER_PARSE_THRESHOLD_CHARS = 64000;
|
|
15
|
+
/** Test-only sentinel: a worker that sees this marker hangs until terminated. */
|
|
16
|
+
export declare const PARSE_HANG_SENTINEL = "__REQLAN_PARSE_HANG__";
|
|
17
|
+
export declare const PARSE_TIMEOUT_WARNING = "Parse budget exceeded for this file; semantic features may be incomplete until the file is simplified or the budget is raised.";
|
|
18
|
+
export declare function parseTimeoutErrorMessage(timeoutMs: number): string;
|
|
19
|
+
export declare function parseFailureErrorMessage(cause: string): string;
|
|
20
|
+
export type ParseWorkerMode = boolean | 'auto';
|
|
21
|
+
export interface ParseWorkerEscalationOptions {
|
|
22
|
+
/** `auto` (default): sync below threshold; worker for large / sentinel / force. */
|
|
23
|
+
useWorker?: ParseWorkerMode;
|
|
24
|
+
forceWorker?: boolean;
|
|
25
|
+
thresholdChars?: number;
|
|
26
|
+
}
|
|
27
|
+
/** Whether this parse should run in a killable worker thread. */
|
|
28
|
+
export declare function shouldEscalateToParseWorker(text: string, options?: ParseWorkerEscalationOptions): boolean;
|
|
29
|
+
/** Lexer error plus optional severity used for budget-timeout warnings. */
|
|
30
|
+
export type ReqlanLexerError = ParseResult['lexerErrors'][number] & {
|
|
31
|
+
severity?: 'warning' | 'error' | 'info' | 'hint';
|
|
32
|
+
};
|
|
33
|
+
export interface ReqlanParseResult<T extends AstNode = AstNode> extends Omit<ParseResult<T>, 'lexerErrors'> {
|
|
34
|
+
lexerErrors: ReqlanLexerError[];
|
|
35
|
+
/** Set when lex/parse did not complete successfully within budget (timeout or crash). */
|
|
36
|
+
reqlanIncomplete?: {
|
|
37
|
+
reason: 'timeout' | 'failure';
|
|
38
|
+
timeoutMs?: number;
|
|
39
|
+
cause?: string;
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
export declare function isReqlanIncompleteParseResult(result: ParseResult): result is ReqlanParseResult;
|
|
43
|
+
/**
|
|
44
|
+
* Empty model with a lexer warning and a parser error so the editor shows both severities.
|
|
45
|
+
*/
|
|
46
|
+
export declare function createIncompleteParseResult<T extends AstNode>(parser: LangiumParser, options: {
|
|
47
|
+
reason: 'timeout' | 'failure';
|
|
48
|
+
timeoutMs?: number;
|
|
49
|
+
cause?: string;
|
|
50
|
+
}): ReqlanParseResult<T>;
|