@hydranium/core 1.0.0-next.354 → 1.0.0-next.356
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/lib/langium/diagnostics/console-tee.d.ts.map +1 -1
- package/lib/langium/diagnostics/console-tee.js +2 -3
- package/lib/langium/diagnostics/console-tee.js.map +1 -1
- package/lib/langium/diagnostics/lsp-logger.d.ts.map +1 -1
- package/lib/langium/diagnostics/lsp-logger.js +1 -2
- package/lib/langium/diagnostics/lsp-logger.js.map +1 -1
- package/lib/langium/language-module.d.ts.map +1 -1
- package/lib/langium/language-module.js +3 -1
- package/lib/langium/language-module.js.map +1 -1
- package/lib/langium/workspace/ast-node-locator.d.ts +24 -0
- package/lib/langium/workspace/ast-node-locator.d.ts.map +1 -0
- package/lib/langium/workspace/ast-node-locator.js +32 -0
- package/lib/langium/workspace/ast-node-locator.js.map +1 -0
- package/lib/langium/workspace/index.d.ts +1 -0
- package/lib/langium/workspace/index.d.ts.map +1 -1
- package/lib/langium/workspace/index.js +1 -0
- package/lib/langium/workspace/index.js.map +1 -1
- package/package.json +5 -5
- package/src/langium/diagnostics/console-tee.ts +2 -3
- package/src/langium/diagnostics/lsp-logger.ts +1 -2
- package/src/langium/language-module.ts +3 -1
- package/src/langium/workspace/ast-node-locator.ts +33 -0
- package/src/langium/workspace/index.ts +1 -0
- package/lib/langium/diagnostics/format-log-arg.d.ts +0 -18
- package/lib/langium/diagnostics/format-log-arg.d.ts.map +0 -1
- package/lib/langium/diagnostics/format-log-arg.js +0 -36
- package/lib/langium/diagnostics/format-log-arg.js.map +0 -1
- package/src/langium/diagnostics/format-log-arg.ts +0 -36
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"console-tee.d.ts","sourceRoot":"","sources":["../../../src/langium/diagnostics/console-tee.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;
|
|
1
|
+
{"version":3,"file":"console-tee.d.ts","sourceRoot":"","sources":["../../../src/langium/diagnostics/console-tee.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAmClF,sGAAsG;AACtG,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,MAAM,GAAG,IAAI,CAE7E;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,iBAAiB,IAAI,IAAI,CAWxC"}
|
|
@@ -6,8 +6,7 @@
|
|
|
6
6
|
*
|
|
7
7
|
* SPDX-License-Identifier: MIT
|
|
8
8
|
********************************************************************************/
|
|
9
|
-
import { Format, LEVEL_LABELS, SystemClock } from '@hydranium/protocol';
|
|
10
|
-
import { formatLogArg } from './format-log-arg.js';
|
|
9
|
+
import { Format, formatLogArg, LEVEL_LABELS, SystemClock } from '@hydranium/protocol';
|
|
11
10
|
import { teeLogLine } from './logger.js';
|
|
12
11
|
import { hasProcessStderr } from '../../util/environment.js';
|
|
13
12
|
import { isConnectionGoneError } from '../../util/connection-liveness.js';
|
|
@@ -113,7 +112,7 @@ function formatArgs(args) {
|
|
|
113
112
|
// Described below instead.
|
|
114
113
|
}
|
|
115
114
|
}
|
|
116
|
-
return args.map(formatLogArg).join(' ');
|
|
115
|
+
return args.map(arg => formatLogArg(arg)).join(' ');
|
|
117
116
|
}
|
|
118
117
|
/**
|
|
119
118
|
* How Node's default warning handler starts what it prints through
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"console-tee.js","sourceRoot":"","sources":["../../../src/langium/diagnostics/console-tee.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAElF,OAAO,EAAE,MAAM,EAAE,YAAY,
|
|
1
|
+
{"version":3,"file":"console-tee.js","sourceRoot":"","sources":["../../../src/langium/diagnostics/console-tee.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lsp-logger.d.ts","sourceRoot":"","sources":["../../../src/langium/diagnostics/lsp-logger.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAElF,OAAO,EACJ,cAAc,EACd,KAAK,KAAK,EAKV,MAAM,EACN,KAAK,QAAQ,EACb,KAAK,YAAY,EAEjB,KAAK,oBAAoB,EAE3B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,KAAK,GAAG,EAAE,MAAM,oBAAoB,CAAC;AAE9C,OAAO,EAAE,KAAK,oBAAoB,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"lsp-logger.d.ts","sourceRoot":"","sources":["../../../src/langium/diagnostics/lsp-logger.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAElF,OAAO,EACJ,cAAc,EACd,KAAK,KAAK,EAKV,MAAM,EACN,KAAK,QAAQ,EACb,KAAK,YAAY,EAEjB,KAAK,oBAAoB,EAE3B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,KAAK,GAAG,EAAE,MAAM,oBAAoB,CAAC;AAE9C,OAAO,EAAE,KAAK,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAezD;;;;;;;GAOG;AACH,MAAM,WAAW,gBAAgB;IAC9B,6EAA6E;IAC7E,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B;;;;;;;;;;;;;;OAcG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE,oBAAoB,CAAC,YAAY,GAAG,SAAS,CAAC,CAAC;CACzE;AAED;;;;;;;;;;GAUG;AACH,qBAAa,SAAU,SAAQ,cAAe,YAAW,MAAM;IAEzD,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,oBAAoB;IADpD,YACsB,QAAQ,EAAE,oBAAoB,EACjD,OAAO,GAAE,gBAAqB,EAwDhC;IAED;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,SAAS,CAAC,UAAU,CAAC,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,GAAE;QAAE,MAAM,CAAC,EAAE,OAAO,CAAA;KAAO,GAAG,IAAI,CAqBjG;IAED;;;;;;;OAOG;IACH,UAAmB,KAAK,IAAI,KAAK,CAEhC;IAED;;;;;;;;OAQG;IACM,OAAO,CAAC,GAAG,EAAE,GAAG,GAAG,MAAM,GAAG,IAAI,CAExC;IAED,SAAS,CAAC,IAAI,CAAC,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,OAAO,EAAE,GAAG,IAAI,CAuC9F;IAED,SAAS,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAGxC;CAGH"}
|
|
@@ -8,7 +8,6 @@
|
|
|
8
8
|
********************************************************************************/
|
|
9
9
|
import { AbstractLogger, DEFAULT_LOG_FILE_ENV, DEFAULT_LOG_FILE_LEVEL_ENV, DEFAULT_LOG_LEVEL_ENV, LEVEL_ORDER, Logger, ObservableValue, parseLogLevel } from '@hydranium/protocol';
|
|
10
10
|
import { installConsoleTee } from './console-tee.js';
|
|
11
|
-
import { formatLogArg } from './format-log-arg.js';
|
|
12
11
|
import { setLogFilePath, teeLogLine } from './logger.js';
|
|
13
12
|
import { processEnv, writeStderr } from '../../util/environment.js';
|
|
14
13
|
/**
|
|
@@ -159,7 +158,7 @@ export class LspLogger extends AbstractLogger {
|
|
|
159
158
|
}
|
|
160
159
|
emit(level, label, message, args) {
|
|
161
160
|
const prefix = this.formatLinePrefix(label);
|
|
162
|
-
const combined = args.length === 0 ? message : `${message} ${args.map(
|
|
161
|
+
const combined = args.length === 0 ? message : `${message} ${args.map(arg => this.formatArg(arg)).join(' ')}`;
|
|
163
162
|
const formatted = `${prefix} ${combined}`;
|
|
164
163
|
const connection = this.services.lsp.Connection;
|
|
165
164
|
// Route through the LSP `window/logMessage` channel so log lines stay
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lsp-logger.js","sourceRoot":"","sources":["../../../src/langium/diagnostics/lsp-logger.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAElF,OAAO,EACJ,cAAc,EAEd,oBAAoB,EACpB,0BAA0B,EAC1B,qBAAqB,EACrB,WAAW,EACX,MAAM,EAGN,eAAe,EAEf,aAAa,EACf,MAAM,qBAAqB,CAAC;AAI7B,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"lsp-logger.js","sourceRoot":"","sources":["../../../src/langium/diagnostics/lsp-logger.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"language-module.d.ts","sourceRoot":"","sources":["../../src/langium/language-module.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAGlF,OAAO,EAAE,KAAK,OAAO,EAAE,KAAK,mBAAmB,EAAE,KAAK,MAAM,EAAE,MAAM,oBAAoB,CAAC;AACzF,OAAO,EAAE,KAAK,eAAe,EAAE,KAAK,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAC3F,OAAO,EAAE,KAAK,wBAAwB,EAAE,MAAM,+CAA+C,CAAC;AAC9F,OAAO,EAAE,KAAK,mBAAmB,EAA8B,MAAM,0CAA0C,CAAC;AAEhH,OAAO,EAAE,KAAK,yBAAyB,EAAE,MAAM,uCAAuC,CAAC;AACvF,OAAO,EAA2B,KAAK,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AAElG,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AACzE,OAAO,EAAwB,KAAK,aAAa,EAAE,MAAM,8BAA8B,CAAC;AACxF,OAAO,EAAuB,KAAK,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAEnF,OAAO,EAAE,mCAAmC,EAAE,MAAM,0CAA0C,CAAC;AAC/F,OAAO,EAAE,KAAK,0BAA0B,EAAqC,MAAM,yCAAyC,CAAC;AAC7H,OAAO,EAAE,yBAAyB,EAAE,MAAM,wCAAwC,CAAC;AACnF,OAAO,EAAE,sBAAsB,EAAE,MAAM,qCAAqC,CAAC;AAC7E,OAAO,EAA2B,KAAK,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAC9F,OAAO,EAAE,KAAK,0BAA0B,EAAE,MAAM,yCAAyC,CAAC;AAC1F,OAAO,EAAgC,KAAK,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AAC9G,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AAC1E,OAAO,EAAE,KAAK,aAAa,EAAwB,MAAM,4BAA4B,CAAC;AAGtF,OAAO,EAAE,KAAK,yBAAyB,EAAE,MAAM,iDAAiD,CAAC;AACjG,OAAO,EAA+B,KAAK,oBAAoB,EAAE,MAAM,4CAA4C,CAAC;AAEpH,OAAO,EAAE,KAAK,2BAA2B,EAAE,MAAM,yCAAyC,CAAC;AAC3F,OAAO,EAEJ,KAAK,+BAA+B,EACtC,MAAM,mDAAmD,CAAC;
|
|
1
|
+
{"version":3,"file":"language-module.d.ts","sourceRoot":"","sources":["../../src/langium/language-module.ts"],"names":[],"mappings":"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"}
|
|
@@ -25,6 +25,7 @@ import { DocumentEndingPreserverContribution } from './trivia/document-ending-pr
|
|
|
25
25
|
import { DefaultUpdateRewriteService } from './update-rewrite/update-rewrite-service.js';
|
|
26
26
|
import { HydraniumDocumentValidator } from './validation/document-validator.js';
|
|
27
27
|
import { DefaultValidationContributionCollector } from './validation/validation-contribution-collector.js';
|
|
28
|
+
import { HydraniumAstNodeLocator } from './workspace/ast-node-locator.js';
|
|
28
29
|
/** Framework default — throws when either serializer entry point is invoked without an adopter binding. */
|
|
29
30
|
class UnboundSerializer {
|
|
30
31
|
serializeAst(_model) {
|
|
@@ -63,7 +64,8 @@ export function createServerLanguageModule(_context) {
|
|
|
63
64
|
CommentProvider: services => new HydraniumCommentProvider(services)
|
|
64
65
|
},
|
|
65
66
|
workspace: {
|
|
66
|
-
AstNodeDescriptionProvider: services => new HydraniumAstNodeDescriptionProvider(services)
|
|
67
|
+
AstNodeDescriptionProvider: services => new HydraniumAstNodeDescriptionProvider(services),
|
|
68
|
+
AstNodeLocator: () => new HydraniumAstNodeLocator()
|
|
67
69
|
},
|
|
68
70
|
ast: {
|
|
69
71
|
AstExtensionService: services => new DefaultAstExtensionService(services),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"language-module.js","sourceRoot":"","sources":["../../src/langium/language-module.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAMlF,OAAO,EAA4B,0BAA0B,EAAE,MAAM,0CAA0C,CAAC;AAChH,OAAO,EAAE,wBAAwB,EAAE,MAAM,qCAAqC,CAAC;AAE/E,OAAO,EAAE,uBAAuB,EAAyB,MAAM,kCAAkC,CAAC;AAClG,OAAO,EAAE,yBAAyB,EAAE,MAAM,wCAAwC,CAAC;AAEnF,OAAO,EAAE,oBAAoB,EAAsB,MAAM,8BAA8B,CAAC;AACxF,OAAO,EAAE,mBAAmB,EAAqB,MAAM,2BAA2B,CAAC;AACnF,OAAO,EAAE,8BAA8B,EAAE,MAAM,uCAAuC,CAAC;AACvF,OAAO,EAAE,mCAAmC,EAAE,MAAM,0CAA0C,CAAC;AAC/F,OAAO,EAAmC,iCAAiC,EAAE,MAAM,yCAAyC,CAAC;AAC7H,OAAO,EAAE,yBAAyB,EAAE,MAAM,wCAAwC,CAAC;AACnF,OAAO,EAAE,sBAAsB,EAAE,MAAM,qCAAqC,CAAC;AAC7E,OAAO,EAAE,uBAAuB,EAAyB,MAAM,8BAA8B,CAAC;AAE9F,OAAO,EAAE,4BAA4B,EAA8B,MAAM,oCAAoC,CAAC;AAG9G,OAAO,EAAsB,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AACtF,OAAO,EAAE,4BAA4B,EAAE,MAAM,+BAA+B,CAAC;AAC7E,OAAO,EAAE,mCAAmC,EAAE,MAAM,uCAAuC,CAAC;AAE5F,OAAO,EAAE,2BAA2B,EAA6B,MAAM,4CAA4C,CAAC;AACpH,OAAO,EAAE,0BAA0B,EAAE,MAAM,oCAAoC,CAAC;AAEhF,OAAO,EACJ,sCAAsC,EAExC,MAAM,mDAAmD,CAAC;AA+
|
|
1
|
+
{"version":3,"file":"language-module.js","sourceRoot":"","sources":["../../src/langium/language-module.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/********************************************************************************
|
|
2
|
+
* Copyright (c) 2026 EclipseSource and others.
|
|
3
|
+
*
|
|
4
|
+
* This program and the accompanying materials are made available under the
|
|
5
|
+
* terms of the MIT License which is available in the project root.
|
|
6
|
+
*
|
|
7
|
+
* SPDX-License-Identifier: MIT
|
|
8
|
+
********************************************************************************/
|
|
9
|
+
import { type AstNode, DefaultAstNodeLocator } from '@hydranium/langium';
|
|
10
|
+
/**
|
|
11
|
+
* Framework `AstNodeLocator`. Returns the same paths as Langium's, built as
|
|
12
|
+
* one flat string: Langium's recursive `+` leaves V8 a rope of up to two cons
|
|
13
|
+
* cells per level, retained by every description and reference description
|
|
14
|
+
* in the index. Interning the paths would save more but keeps one pool entry
|
|
15
|
+
* per list index ever seen, deleted documents' paths included.
|
|
16
|
+
*
|
|
17
|
+
* Ancestors' segments come from `getPathSegment`, not from `getAstNodePath`,
|
|
18
|
+
* so an override of `getAstNodePath` for one node does not reach its
|
|
19
|
+
* descendants' paths; override `getPathSegment` for that.
|
|
20
|
+
*/
|
|
21
|
+
export declare class HydraniumAstNodeLocator extends DefaultAstNodeLocator {
|
|
22
|
+
getAstNodePath(node: AstNode): string;
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=ast-node-locator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ast-node-locator.d.ts","sourceRoot":"","sources":["../../../src/langium/workspace/ast-node-locator.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAElF,OAAO,EAAE,KAAK,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAEzE;;;;;;;;;;GAUG;AACH,qBAAa,uBAAwB,SAAQ,qBAAqB;IACtD,cAAc,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,CAQ7C;CACH"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/********************************************************************************
|
|
2
|
+
* Copyright (c) 2026 EclipseSource and others.
|
|
3
|
+
*
|
|
4
|
+
* This program and the accompanying materials are made available under the
|
|
5
|
+
* terms of the MIT License which is available in the project root.
|
|
6
|
+
*
|
|
7
|
+
* SPDX-License-Identifier: MIT
|
|
8
|
+
********************************************************************************/
|
|
9
|
+
import { DefaultAstNodeLocator } from '@hydranium/langium';
|
|
10
|
+
/**
|
|
11
|
+
* Framework `AstNodeLocator`. Returns the same paths as Langium's, built as
|
|
12
|
+
* one flat string: Langium's recursive `+` leaves V8 a rope of up to two cons
|
|
13
|
+
* cells per level, retained by every description and reference description
|
|
14
|
+
* in the index. Interning the paths would save more but keeps one pool entry
|
|
15
|
+
* per list index ever seen, deleted documents' paths included.
|
|
16
|
+
*
|
|
17
|
+
* Ancestors' segments come from `getPathSegment`, not from `getAstNodePath`,
|
|
18
|
+
* so an override of `getAstNodePath` for one node does not reach its
|
|
19
|
+
* descendants' paths; override `getPathSegment` for that.
|
|
20
|
+
*/
|
|
21
|
+
export class HydraniumAstNodeLocator extends DefaultAstNodeLocator {
|
|
22
|
+
getAstNodePath(node) {
|
|
23
|
+
const segments = [];
|
|
24
|
+
for (let current = node; current.$container; current = current.$container) {
|
|
25
|
+
segments.push(this.getPathSegment(current));
|
|
26
|
+
}
|
|
27
|
+
// The root's empty segment gives the leading separator; a root alone yields ''.
|
|
28
|
+
segments.push('');
|
|
29
|
+
return segments.reverse().join(this.segmentSeparator);
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=ast-node-locator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ast-node-locator.js","sourceRoot":"","sources":["../../../src/langium/workspace/ast-node-locator.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAElF,OAAO,EAAgB,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAEzE;;;;;;;;;;GAUG;AACH,MAAM,OAAO,uBAAwB,SAAQ,qBAAqB;IACtD,cAAc,CAAC,IAAa;QAClC,MAAM,QAAQ,GAAa,EAAE,CAAC;QAC9B,KAAK,IAAI,OAAO,GAAG,IAAI,EAAE,OAAO,CAAC,UAAU,EAAE,OAAO,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;YACzE,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC;QAC/C,CAAC;QACD,gFAAgF;QAChF,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAClB,OAAO,QAAQ,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IACzD,CAAC;CACH"}
|
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
*
|
|
7
7
|
* SPDX-License-Identifier: MIT
|
|
8
8
|
********************************************************************************/
|
|
9
|
+
export * from './ast-node-locator.js';
|
|
9
10
|
export * from './document-uri-policy.js';
|
|
10
11
|
export * from './file-system-provider.js';
|
|
11
12
|
export * from './in-memory-file-system-provider.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/langium/workspace/index.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAElF,cAAc,0BAA0B,CAAC;AACzC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,qCAAqC,CAAC;AACpD,cAAc,sCAAsC,CAAC;AACrD,cAAc,yBAAyB,CAAC;AACxC,cAAc,oBAAoB,CAAC;AACnC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,wBAAwB,CAAC;AACvC,cAAc,kCAAkC,CAAC;AACjD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,uBAAuB,CAAC;AACtC,cAAc,yCAAyC,CAAC;AACxD,cAAc,uCAAuC,CAAC;AACtD,cAAc,gBAAgB,CAAC;AAC/B,cAAc,uBAAuB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/langium/workspace/index.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAElF,cAAc,uBAAuB,CAAC;AACtC,cAAc,0BAA0B,CAAC;AACzC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,qCAAqC,CAAC;AACpD,cAAc,sCAAsC,CAAC;AACrD,cAAc,yBAAyB,CAAC;AACxC,cAAc,oBAAoB,CAAC;AACnC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,wBAAwB,CAAC;AACvC,cAAc,kCAAkC,CAAC;AACjD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,uBAAuB,CAAC;AACtC,cAAc,yCAAyC,CAAC;AACxD,cAAc,uCAAuC,CAAC;AACtD,cAAc,gBAAgB,CAAC;AAC/B,cAAc,uBAAuB,CAAC"}
|
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
*
|
|
7
7
|
* SPDX-License-Identifier: MIT
|
|
8
8
|
********************************************************************************/
|
|
9
|
+
export * from './ast-node-locator.js';
|
|
9
10
|
export * from './document-uri-policy.js';
|
|
10
11
|
export * from './file-system-provider.js';
|
|
11
12
|
export * from './in-memory-file-system-provider.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/langium/workspace/index.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAElF,cAAc,0BAA0B,CAAC;AACzC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,qCAAqC,CAAC;AACpD,cAAc,sCAAsC,CAAC;AACrD,cAAc,yBAAyB,CAAC;AACxC,cAAc,oBAAoB,CAAC;AACnC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,wBAAwB,CAAC;AACvC,cAAc,kCAAkC,CAAC;AACjD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,uBAAuB,CAAC;AACtC,cAAc,yCAAyC,CAAC;AACxD,cAAc,uCAAuC,CAAC;AACtD,cAAc,gBAAgB,CAAC;AAC/B,cAAc,uBAAuB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/langium/workspace/index.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAElF,cAAc,uBAAuB,CAAC;AACtC,cAAc,0BAA0B,CAAC;AACzC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,qCAAqC,CAAC;AACpD,cAAc,sCAAsC,CAAC;AACrD,cAAc,yBAAyB,CAAC;AACxC,cAAc,oBAAoB,CAAC;AACnC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,wBAAwB,CAAC;AACvC,cAAc,kCAAkC,CAAC;AACjD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,uBAAuB,CAAC;AACtC,cAAc,yCAAyC,CAAC;AACxD,cAAc,uCAAuC,CAAC;AACtD,cAAc,gBAAgB,CAAC;AAC/B,cAAc,uBAAuB,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@hydranium/core",
|
|
3
|
-
"version": "1.0.0-next.
|
|
3
|
+
"version": "1.0.0-next.356",
|
|
4
4
|
"description": "Foundational runtime of the hydranium framework: AST coordination layer (services, integrity, AST extension, serialization, multi-client documents) plus the LSP textual head at the /lsp subpath. Consumed by protocol-head packages (@hydranium/data-server, @hydranium/glsp-server).",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"ast",
|
|
@@ -87,8 +87,8 @@
|
|
|
87
87
|
"diff": "^5.2.0"
|
|
88
88
|
},
|
|
89
89
|
"devDependencies": {
|
|
90
|
-
"@hydranium/langium": "1.0.0-next.
|
|
91
|
-
"@hydranium/protocol": "1.0.0-next.
|
|
90
|
+
"@hydranium/langium": "1.0.0-next.356",
|
|
91
|
+
"@hydranium/protocol": "1.0.0-next.356",
|
|
92
92
|
"@playwright/test": "^1.55.0",
|
|
93
93
|
"@types/diff": "^5.2.0",
|
|
94
94
|
"fake-indexeddb": "^6.2.5",
|
|
@@ -101,8 +101,8 @@
|
|
|
101
101
|
"vscode-languageserver-types": "3.18.0"
|
|
102
102
|
},
|
|
103
103
|
"peerDependencies": {
|
|
104
|
-
"@hydranium/langium": "1.0.0-next.
|
|
105
|
-
"@hydranium/protocol": "1.0.0-next.
|
|
104
|
+
"@hydranium/langium": "1.0.0-next.356",
|
|
105
|
+
"@hydranium/protocol": "1.0.0-next.356",
|
|
106
106
|
"@playwright/test": "^1.40.0",
|
|
107
107
|
"vscode-jsonrpc": "^9.0.0",
|
|
108
108
|
"vscode-languageserver": "~10.0.1",
|
|
@@ -7,8 +7,7 @@
|
|
|
7
7
|
* SPDX-License-Identifier: MIT
|
|
8
8
|
********************************************************************************/
|
|
9
9
|
|
|
10
|
-
import { Format, LEVEL_LABELS, type LogLevel, SystemClock } from '@hydranium/protocol';
|
|
11
|
-
import { formatLogArg } from './format-log-arg.js';
|
|
10
|
+
import { Format, formatLogArg, LEVEL_LABELS, type LogLevel, SystemClock } from '@hydranium/protocol';
|
|
12
11
|
import { teeLogLine } from './logger.js';
|
|
13
12
|
import { hasProcessStderr } from '../../util/environment.js';
|
|
14
13
|
import { isConnectionGoneError } from '../../util/connection-liveness.js';
|
|
@@ -119,7 +118,7 @@ function formatArgs(args: unknown[]): string {
|
|
|
119
118
|
// Described below instead.
|
|
120
119
|
}
|
|
121
120
|
}
|
|
122
|
-
return args.map(formatLogArg).join(' ');
|
|
121
|
+
return args.map(arg => formatLogArg(arg)).join(' ');
|
|
123
122
|
}
|
|
124
123
|
|
|
125
124
|
/**
|
|
@@ -25,7 +25,6 @@ import { type URI } from '@hydranium/langium';
|
|
|
25
25
|
import type { Connection } from 'vscode-languageserver';
|
|
26
26
|
import { type ServerSharedServices } from '../module.js';
|
|
27
27
|
import { installConsoleTee } from './console-tee.js';
|
|
28
|
-
import { formatLogArg } from './format-log-arg.js';
|
|
29
28
|
import { setLogFilePath, teeLogLine } from './logger.js';
|
|
30
29
|
import { processEnv, writeStderr } from '../../util/environment.js';
|
|
31
30
|
|
|
@@ -212,7 +211,7 @@ export class LspLogger extends AbstractLogger implements Logger {
|
|
|
212
211
|
|
|
213
212
|
protected emit(level: LogLevel, label: string, message: string, args: readonly unknown[]): void {
|
|
214
213
|
const prefix = this.formatLinePrefix(label);
|
|
215
|
-
const combined = args.length === 0 ? message : `${message} ${args.map(
|
|
214
|
+
const combined = args.length === 0 ? message : `${message} ${args.map(arg => this.formatArg(arg)).join(' ')}`;
|
|
216
215
|
const formatted = `${prefix} ${combined}`;
|
|
217
216
|
const connection = this.services.lsp.Connection;
|
|
218
217
|
// Route through the LSP `window/logMessage` channel so log lines stay
|
|
@@ -40,6 +40,7 @@ import {
|
|
|
40
40
|
DefaultValidationContributionCollector,
|
|
41
41
|
type ValidationContributionCollector
|
|
42
42
|
} from './validation/validation-contribution-collector.js';
|
|
43
|
+
import { HydraniumAstNodeLocator } from './workspace/ast-node-locator.js';
|
|
43
44
|
import { type ServerModuleContext, type ServerSharedServices } from './module.js';
|
|
44
45
|
|
|
45
46
|
/**
|
|
@@ -355,7 +356,8 @@ export function createServerLanguageModule(
|
|
|
355
356
|
CommentProvider: services => new HydraniumCommentProvider(services)
|
|
356
357
|
},
|
|
357
358
|
workspace: {
|
|
358
|
-
AstNodeDescriptionProvider: services => new HydraniumAstNodeDescriptionProvider(services)
|
|
359
|
+
AstNodeDescriptionProvider: services => new HydraniumAstNodeDescriptionProvider(services),
|
|
360
|
+
AstNodeLocator: () => new HydraniumAstNodeLocator()
|
|
359
361
|
},
|
|
360
362
|
ast: {
|
|
361
363
|
AstExtensionService: services => new DefaultAstExtensionService(services),
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/********************************************************************************
|
|
2
|
+
* Copyright (c) 2026 EclipseSource and others.
|
|
3
|
+
*
|
|
4
|
+
* This program and the accompanying materials are made available under the
|
|
5
|
+
* terms of the MIT License which is available in the project root.
|
|
6
|
+
*
|
|
7
|
+
* SPDX-License-Identifier: MIT
|
|
8
|
+
********************************************************************************/
|
|
9
|
+
|
|
10
|
+
import { type AstNode, DefaultAstNodeLocator } from '@hydranium/langium';
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* Framework `AstNodeLocator`. Returns the same paths as Langium's, built as
|
|
14
|
+
* one flat string: Langium's recursive `+` leaves V8 a rope of up to two cons
|
|
15
|
+
* cells per level, retained by every description and reference description
|
|
16
|
+
* in the index. Interning the paths would save more but keeps one pool entry
|
|
17
|
+
* per list index ever seen, deleted documents' paths included.
|
|
18
|
+
*
|
|
19
|
+
* Ancestors' segments come from `getPathSegment`, not from `getAstNodePath`,
|
|
20
|
+
* so an override of `getAstNodePath` for one node does not reach its
|
|
21
|
+
* descendants' paths; override `getPathSegment` for that.
|
|
22
|
+
*/
|
|
23
|
+
export class HydraniumAstNodeLocator extends DefaultAstNodeLocator {
|
|
24
|
+
override getAstNodePath(node: AstNode): string {
|
|
25
|
+
const segments: string[] = [];
|
|
26
|
+
for (let current = node; current.$container; current = current.$container) {
|
|
27
|
+
segments.push(this.getPathSegment(current));
|
|
28
|
+
}
|
|
29
|
+
// The root's empty segment gives the leading separator; a root alone yields ''.
|
|
30
|
+
segments.push('');
|
|
31
|
+
return segments.reverse().join(this.segmentSeparator);
|
|
32
|
+
}
|
|
33
|
+
}
|
|
@@ -7,6 +7,7 @@
|
|
|
7
7
|
* SPDX-License-Identifier: MIT
|
|
8
8
|
********************************************************************************/
|
|
9
9
|
|
|
10
|
+
export * from './ast-node-locator.js';
|
|
10
11
|
export * from './document-uri-policy.js';
|
|
11
12
|
export * from './file-system-provider.js';
|
|
12
13
|
export * from './in-memory-file-system-provider.js';
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
/********************************************************************************
|
|
2
|
-
* Copyright (c) 2026 EclipseSource and others.
|
|
3
|
-
*
|
|
4
|
-
* This program and the accompanying materials are made available under the
|
|
5
|
-
* terms of the MIT License which is available in the project root.
|
|
6
|
-
*
|
|
7
|
-
* SPDX-License-Identifier: MIT
|
|
8
|
-
********************************************************************************/
|
|
9
|
-
/**
|
|
10
|
-
* Render a log argument for the single string a line carries, to the LSP
|
|
11
|
-
* `window/logMessage` channel and the log file: a string as it is, an error by
|
|
12
|
-
* its stack and causes, another object as JSON, and anything else, what JSON
|
|
13
|
-
* renders as nothing or cannot render included, by its description. Never
|
|
14
|
-
* throws, since a log call that throws loses the line and interrupts its
|
|
15
|
-
* caller. A `%s`-style specifier is not substituted.
|
|
16
|
-
*/
|
|
17
|
-
export declare function formatLogArg(value: unknown): string;
|
|
18
|
-
//# sourceMappingURL=format-log-arg.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"format-log-arg.d.ts","sourceRoot":"","sources":["../../../src/langium/diagnostics/format-log-arg.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAIlF;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAgBnD"}
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
/********************************************************************************
|
|
2
|
-
* Copyright (c) 2026 EclipseSource and others.
|
|
3
|
-
*
|
|
4
|
-
* This program and the accompanying materials are made available under the
|
|
5
|
-
* terms of the MIT License which is available in the project root.
|
|
6
|
-
*
|
|
7
|
-
* SPDX-License-Identifier: MIT
|
|
8
|
-
********************************************************************************/
|
|
9
|
-
import { describeErrorWithStack } from '@hydranium/protocol';
|
|
10
|
-
/**
|
|
11
|
-
* Render a log argument for the single string a line carries, to the LSP
|
|
12
|
-
* `window/logMessage` channel and the log file: a string as it is, an error by
|
|
13
|
-
* its stack and causes, another object as JSON, and anything else, what JSON
|
|
14
|
-
* renders as nothing or cannot render included, by its description. Never
|
|
15
|
-
* throws, since a log call that throws loses the line and interrupts its
|
|
16
|
-
* caller. A `%s`-style specifier is not substituted.
|
|
17
|
-
*/
|
|
18
|
-
export function formatLogArg(value) {
|
|
19
|
-
if (typeof value === 'string') {
|
|
20
|
-
return value;
|
|
21
|
-
}
|
|
22
|
-
if (typeof value === 'object' && value !== null) {
|
|
23
|
-
try {
|
|
24
|
-
// `undefined` where `toJSON` returns nothing.
|
|
25
|
-
const json = value instanceof Error ? undefined : JSON.stringify(value);
|
|
26
|
-
if (json !== undefined) {
|
|
27
|
-
return json;
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
catch {
|
|
31
|
-
// Cyclic, not serialisable, or a revoked proxy; described below instead.
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
return describeErrorWithStack(value);
|
|
35
|
-
}
|
|
36
|
-
//# sourceMappingURL=format-log-arg.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"format-log-arg.js","sourceRoot":"","sources":["../../../src/langium/diagnostics/format-log-arg.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAElF,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAE7D;;;;;;;GAOG;AACH,MAAM,UAAU,YAAY,CAAC,KAAc;IACxC,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC7B,OAAO,KAAK,CAAC;IAChB,CAAC;IACD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QAC/C,IAAI,CAAC;YACF,8CAA8C;YAC9C,MAAM,IAAI,GAAuB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;YAC5F,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;gBACtB,OAAO,IAAI,CAAC;YACf,CAAC;QACJ,CAAC;QAAC,MAAM,CAAC;YACN,yEAAyE;QAC5E,CAAC;IACJ,CAAC;IACD,OAAO,sBAAsB,CAAC,KAAK,CAAC,CAAC;AACxC,CAAC"}
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
/********************************************************************************
|
|
2
|
-
* Copyright (c) 2026 EclipseSource and others.
|
|
3
|
-
*
|
|
4
|
-
* This program and the accompanying materials are made available under the
|
|
5
|
-
* terms of the MIT License which is available in the project root.
|
|
6
|
-
*
|
|
7
|
-
* SPDX-License-Identifier: MIT
|
|
8
|
-
********************************************************************************/
|
|
9
|
-
|
|
10
|
-
import { describeErrorWithStack } from '@hydranium/protocol';
|
|
11
|
-
|
|
12
|
-
/**
|
|
13
|
-
* Render a log argument for the single string a line carries, to the LSP
|
|
14
|
-
* `window/logMessage` channel and the log file: a string as it is, an error by
|
|
15
|
-
* its stack and causes, another object as JSON, and anything else, what JSON
|
|
16
|
-
* renders as nothing or cannot render included, by its description. Never
|
|
17
|
-
* throws, since a log call that throws loses the line and interrupts its
|
|
18
|
-
* caller. A `%s`-style specifier is not substituted.
|
|
19
|
-
*/
|
|
20
|
-
export function formatLogArg(value: unknown): string {
|
|
21
|
-
if (typeof value === 'string') {
|
|
22
|
-
return value;
|
|
23
|
-
}
|
|
24
|
-
if (typeof value === 'object' && value !== null) {
|
|
25
|
-
try {
|
|
26
|
-
// `undefined` where `toJSON` returns nothing.
|
|
27
|
-
const json: string | undefined = value instanceof Error ? undefined : JSON.stringify(value);
|
|
28
|
-
if (json !== undefined) {
|
|
29
|
-
return json;
|
|
30
|
-
}
|
|
31
|
-
} catch {
|
|
32
|
-
// Cyclic, not serialisable, or a revoked proxy; described below instead.
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
return describeErrorWithStack(value);
|
|
36
|
-
}
|