@invinite-org/chartlang-language-service 1.1.0 → 1.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +88 -0
- package/README.md +7 -0
- package/dist/_lib/collectCompletions.d.ts +1 -1
- package/dist/_lib/collectCompletions.d.ts.map +1 -1
- package/dist/_lib/collectCompletions.js +20 -1
- package/dist/_lib/collectCompletions.js.map +1 -1
- package/dist/_lib/isInsideOutputStringLiteral.d.ts +14 -0
- package/dist/_lib/isInsideOutputStringLiteral.d.ts.map +1 -0
- package/dist/_lib/isInsideOutputStringLiteral.js +44 -0
- package/dist/_lib/isInsideOutputStringLiteral.js.map +1 -0
- package/dist/_lib/isInsideWithInputsKey.d.ts +15 -0
- package/dist/_lib/isInsideWithInputsKey.d.ts.map +1 -0
- package/dist/_lib/isInsideWithInputsKey.js +64 -0
- package/dist/_lib/isInsideWithInputsKey.js.map +1 -0
- package/dist/_lib/resolveDepAccessor.d.ts +77 -0
- package/dist/_lib/resolveDepAccessor.d.ts.map +1 -0
- package/dist/_lib/resolveDepAccessor.js +307 -0
- package/dist/_lib/resolveDepAccessor.js.map +1 -0
- package/dist/createLanguageService.d.ts.map +1 -1
- package/dist/createLanguageService.js +16 -12
- package/dist/createLanguageService.js.map +1 -1
- package/dist/hoverRegistry.generated.d.ts.map +1 -1
- package/dist/hoverRegistry.generated.js +221 -122
- package/dist/hoverRegistry.generated.js.map +1 -1
- package/package.json +4 -4
|
@@ -0,0 +1,307 @@
|
|
|
1
|
+
// Copyright (c) 2026 Invinite. Licensed under the MIT License.
|
|
2
|
+
// See the LICENSE file in the repo root for full license text.
|
|
3
|
+
import ts from "typescript";
|
|
4
|
+
import { findTokenAtOffset } from "./resolveFqnAtOffset.js";
|
|
5
|
+
const SCRIPT_FILE_NAME = "script.chart.ts";
|
|
6
|
+
/**
|
|
7
|
+
* Resolve a hover doc when the offset lands on a `<binding>.output(...)`
|
|
8
|
+
* or `<binding>.withInputs({...})` call site whose binding's initialiser
|
|
9
|
+
* is a same-file `defineIndicator(...)` (optionally chained through
|
|
10
|
+
* `.withInputs(...)`).
|
|
11
|
+
*
|
|
12
|
+
* @since 0.7
|
|
13
|
+
* @stable
|
|
14
|
+
* @example
|
|
15
|
+
* const fn: typeof resolveDepAccessorHover = resolveDepAccessorHover;
|
|
16
|
+
* void fn;
|
|
17
|
+
*/
|
|
18
|
+
export function resolveDepAccessorHover(source, offset) {
|
|
19
|
+
const accessor = findAccessorAtOffset(source, offset);
|
|
20
|
+
if (accessor === null)
|
|
21
|
+
return null;
|
|
22
|
+
const sourceFile = parse(source);
|
|
23
|
+
const producer = resolveProducerForBinding(sourceFile, accessor.bindingName);
|
|
24
|
+
if (producer === null)
|
|
25
|
+
return null;
|
|
26
|
+
if (accessor.kind === "output")
|
|
27
|
+
return formatOutputHover(accessor.bindingName, producer);
|
|
28
|
+
return formatWithInputsHover(accessor.bindingName, producer);
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Resolve a best-effort go-to-definition target for a
|
|
32
|
+
* `<binding>.output("title")` call. Returns the line / column of the
|
|
33
|
+
* producer's matching `plot(value, { title: "<title>" })` call when
|
|
34
|
+
* resolvable. Returns `null` when the binding is missing, the producer
|
|
35
|
+
* is not a same-file `defineIndicator`, or no matching `plot` call is
|
|
36
|
+
* found.
|
|
37
|
+
*
|
|
38
|
+
* @since 0.7
|
|
39
|
+
* @stable
|
|
40
|
+
* @example
|
|
41
|
+
* const fn: typeof resolveDepAccessorDefinition = resolveDepAccessorDefinition;
|
|
42
|
+
* void fn;
|
|
43
|
+
*/
|
|
44
|
+
export function resolveDepAccessorDefinition(source, offset) {
|
|
45
|
+
const accessor = findAccessorAtOffset(source, offset);
|
|
46
|
+
if (accessor === null || accessor.kind !== "output")
|
|
47
|
+
return null;
|
|
48
|
+
const sourceFile = parse(source);
|
|
49
|
+
const producer = resolveProducerForBinding(sourceFile, accessor.bindingName);
|
|
50
|
+
if (producer === null)
|
|
51
|
+
return null;
|
|
52
|
+
const title = accessor.outputTitle;
|
|
53
|
+
if (title === null)
|
|
54
|
+
return null;
|
|
55
|
+
for (const plotCall of producer.plotCalls) {
|
|
56
|
+
if (plotCall.title !== title)
|
|
57
|
+
continue;
|
|
58
|
+
const start = plotCall.titleNode.getStart(sourceFile);
|
|
59
|
+
const pos = sourceFile.getLineAndCharacterOfPosition(start);
|
|
60
|
+
return Object.freeze({
|
|
61
|
+
file: SCRIPT_FILE_NAME,
|
|
62
|
+
line: pos.line + 1,
|
|
63
|
+
column: pos.character + 1,
|
|
64
|
+
});
|
|
65
|
+
}
|
|
66
|
+
return null;
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Collect every producer-side titled output reachable from the binding
|
|
70
|
+
* at the offset's `<binding>.output("|")` call site. Returns `[]` when
|
|
71
|
+
* the binding is missing or the producer is not a same-file
|
|
72
|
+
* `defineIndicator(...)`.
|
|
73
|
+
*
|
|
74
|
+
* @since 0.7
|
|
75
|
+
* @stable
|
|
76
|
+
* @example
|
|
77
|
+
* const titles = resolveDepOutputsFor("baseTrend.output(\"\")", 18);
|
|
78
|
+
* void titles;
|
|
79
|
+
*/
|
|
80
|
+
export function resolveDepOutputsFor(source, offset) {
|
|
81
|
+
const accessor = findAccessorAtOffset(source, offset);
|
|
82
|
+
if (accessor === null || accessor.kind !== "output")
|
|
83
|
+
return Object.freeze([]);
|
|
84
|
+
const sourceFile = parse(source);
|
|
85
|
+
const producer = resolveProducerForBinding(sourceFile, accessor.bindingName);
|
|
86
|
+
if (producer === null)
|
|
87
|
+
return Object.freeze([]);
|
|
88
|
+
return Object.freeze(producer.plotCalls.map((call) => call.title));
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* Collect every producer-side input descriptor reachable from the
|
|
92
|
+
* binding at the offset's `<binding>.withInputs({ |})` call site.
|
|
93
|
+
* Returns `[]` when the binding is missing or the producer is not a
|
|
94
|
+
* same-file `defineIndicator(...)`.
|
|
95
|
+
*
|
|
96
|
+
* @since 0.7
|
|
97
|
+
* @stable
|
|
98
|
+
* @example
|
|
99
|
+
* const inputs = resolveDepInputsFor("baseTrend.withInputs({ })", 22);
|
|
100
|
+
* void inputs;
|
|
101
|
+
*/
|
|
102
|
+
export function resolveDepInputsFor(source, offset) {
|
|
103
|
+
const accessor = findAccessorAtOffset(source, offset);
|
|
104
|
+
if (accessor === null || accessor.kind !== "withInputs")
|
|
105
|
+
return Object.freeze([]);
|
|
106
|
+
const sourceFile = parse(source);
|
|
107
|
+
const producer = resolveProducerForBinding(sourceFile, accessor.bindingName);
|
|
108
|
+
if (producer === null)
|
|
109
|
+
return Object.freeze([]);
|
|
110
|
+
return Object.freeze(producer.inputs);
|
|
111
|
+
}
|
|
112
|
+
function findAccessorAtOffset(source, offset) {
|
|
113
|
+
const sourceFile = parse(source);
|
|
114
|
+
const token = findTokenAtOffset(sourceFile, offset);
|
|
115
|
+
if (token === null)
|
|
116
|
+
return null;
|
|
117
|
+
let current = token;
|
|
118
|
+
while (current !== undefined) {
|
|
119
|
+
if (ts.isCallExpression(current)) {
|
|
120
|
+
const callee = current.expression;
|
|
121
|
+
if (ts.isPropertyAccessExpression(callee) && ts.isIdentifier(callee.expression)) {
|
|
122
|
+
const method = callee.name.text;
|
|
123
|
+
if (method === "output") {
|
|
124
|
+
const arg = current.arguments[0];
|
|
125
|
+
const title = arg !== undefined && ts.isStringLiteral(arg) ? arg.text : null;
|
|
126
|
+
return Object.freeze({
|
|
127
|
+
kind: "output",
|
|
128
|
+
bindingName: callee.expression.text,
|
|
129
|
+
outputTitle: title,
|
|
130
|
+
});
|
|
131
|
+
}
|
|
132
|
+
if (method === "withInputs") {
|
|
133
|
+
return Object.freeze({
|
|
134
|
+
kind: "withInputs",
|
|
135
|
+
bindingName: callee.expression.text,
|
|
136
|
+
});
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
current = current.parent;
|
|
141
|
+
}
|
|
142
|
+
return null;
|
|
143
|
+
}
|
|
144
|
+
function resolveProducerForBinding(sourceFile, bindingName) {
|
|
145
|
+
const root = resolveDefineCall(sourceFile, bindingName, new Set());
|
|
146
|
+
if (root === null)
|
|
147
|
+
return null;
|
|
148
|
+
return extractProducerInfo(root, sourceFile);
|
|
149
|
+
}
|
|
150
|
+
function resolveDefineCall(sourceFile, bindingName, seen) {
|
|
151
|
+
if (seen.has(bindingName))
|
|
152
|
+
return null;
|
|
153
|
+
seen.add(bindingName);
|
|
154
|
+
const initializer = findBindingInitializer(sourceFile, bindingName);
|
|
155
|
+
if (initializer === null)
|
|
156
|
+
return null;
|
|
157
|
+
return unwrapToDefineCall(initializer, sourceFile, seen);
|
|
158
|
+
}
|
|
159
|
+
function findBindingInitializer(sourceFile, bindingName) {
|
|
160
|
+
for (const statement of sourceFile.statements) {
|
|
161
|
+
if (!ts.isVariableStatement(statement))
|
|
162
|
+
continue;
|
|
163
|
+
for (const declaration of statement.declarationList.declarations) {
|
|
164
|
+
if (!ts.isIdentifier(declaration.name))
|
|
165
|
+
continue;
|
|
166
|
+
if (declaration.name.text !== bindingName)
|
|
167
|
+
continue;
|
|
168
|
+
return declaration.initializer ?? null;
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
return null;
|
|
172
|
+
}
|
|
173
|
+
function unwrapToDefineCall(node, sourceFile, seen) {
|
|
174
|
+
let current = node;
|
|
175
|
+
while (ts.isCallExpression(current)) {
|
|
176
|
+
const callee = current.expression;
|
|
177
|
+
if (ts.isIdentifier(callee) && callee.text === "defineIndicator")
|
|
178
|
+
return current;
|
|
179
|
+
if (ts.isPropertyAccessExpression(callee)) {
|
|
180
|
+
// Chain like `baseTrend.withInputs({...}).withInputs({...})`.
|
|
181
|
+
current = callee.expression;
|
|
182
|
+
continue;
|
|
183
|
+
}
|
|
184
|
+
return null;
|
|
185
|
+
}
|
|
186
|
+
if (ts.isIdentifier(current)) {
|
|
187
|
+
// Follow a same-file rebinding chain (e.g. `const chain = root;`).
|
|
188
|
+
return resolveDefineCall(sourceFile, current.text, seen);
|
|
189
|
+
}
|
|
190
|
+
return null;
|
|
191
|
+
}
|
|
192
|
+
function extractProducerInfo(defineCall, sourceFile) {
|
|
193
|
+
const opts = defineCall.arguments[0];
|
|
194
|
+
/* v8 ignore start -- defineIndicator(...) without an object literal is a
|
|
195
|
+
compile-time type error that the language service surfaces elsewhere. */
|
|
196
|
+
if (opts === undefined || !ts.isObjectLiteralExpression(opts)) {
|
|
197
|
+
return Object.freeze({ plotCalls: Object.freeze([]), inputs: Object.freeze([]) });
|
|
198
|
+
}
|
|
199
|
+
/* v8 ignore stop */
|
|
200
|
+
const computeFn = findPropertyAssignment(opts, "compute");
|
|
201
|
+
const plotCalls = computeFn === null ? [] : collectPlotCalls(computeFn, sourceFile);
|
|
202
|
+
const inputsLiteral = findPropertyAssignment(opts, "inputs");
|
|
203
|
+
const inputs = inputsLiteral === null || !ts.isObjectLiteralExpression(inputsLiteral)
|
|
204
|
+
? []
|
|
205
|
+
: collectInputs(inputsLiteral, sourceFile);
|
|
206
|
+
return Object.freeze({
|
|
207
|
+
plotCalls: Object.freeze(plotCalls.map((entry) => Object.freeze(entry))),
|
|
208
|
+
inputs: Object.freeze(inputs.map((entry) => Object.freeze(entry))),
|
|
209
|
+
});
|
|
210
|
+
}
|
|
211
|
+
function findPropertyAssignment(objectLiteral, propertyName) {
|
|
212
|
+
for (const property of objectLiteral.properties) {
|
|
213
|
+
if (!ts.isPropertyAssignment(property))
|
|
214
|
+
continue;
|
|
215
|
+
if (propertyNameIs(property.name, propertyName))
|
|
216
|
+
return property.initializer;
|
|
217
|
+
}
|
|
218
|
+
return null;
|
|
219
|
+
}
|
|
220
|
+
function collectPlotCalls(root, sourceFile) {
|
|
221
|
+
const collected = [];
|
|
222
|
+
const visit = (node) => {
|
|
223
|
+
if (ts.isCallExpression(node) && isPlotCall(node)) {
|
|
224
|
+
const opts = node.arguments[1];
|
|
225
|
+
if (opts !== undefined && ts.isObjectLiteralExpression(opts)) {
|
|
226
|
+
for (const property of opts.properties) {
|
|
227
|
+
if (!ts.isPropertyAssignment(property))
|
|
228
|
+
continue;
|
|
229
|
+
if (!propertyNameIs(property.name, "title"))
|
|
230
|
+
continue;
|
|
231
|
+
const init = property.initializer;
|
|
232
|
+
if (ts.isStringLiteral(init))
|
|
233
|
+
collected.push({ title: init.text, titleNode: init });
|
|
234
|
+
}
|
|
235
|
+
}
|
|
236
|
+
}
|
|
237
|
+
ts.forEachChild(node, visit);
|
|
238
|
+
};
|
|
239
|
+
visit(root);
|
|
240
|
+
void sourceFile;
|
|
241
|
+
return collected;
|
|
242
|
+
}
|
|
243
|
+
function isPlotCall(call) {
|
|
244
|
+
const callee = call.expression;
|
|
245
|
+
return ts.isIdentifier(callee) && callee.text === "plot";
|
|
246
|
+
}
|
|
247
|
+
function collectInputs(inputsLiteral, sourceFile) {
|
|
248
|
+
const out = [];
|
|
249
|
+
for (const property of inputsLiteral.properties) {
|
|
250
|
+
if (!ts.isPropertyAssignment(property))
|
|
251
|
+
continue;
|
|
252
|
+
const name = propertyNameText(property.name);
|
|
253
|
+
if (name === null)
|
|
254
|
+
continue;
|
|
255
|
+
const init = property.initializer;
|
|
256
|
+
if (!ts.isCallExpression(init))
|
|
257
|
+
continue;
|
|
258
|
+
const callee = init.expression;
|
|
259
|
+
if (!ts.isPropertyAccessExpression(callee))
|
|
260
|
+
continue;
|
|
261
|
+
if (!ts.isIdentifier(callee.expression) || callee.expression.text !== "input")
|
|
262
|
+
continue;
|
|
263
|
+
const kind = callee.name.text;
|
|
264
|
+
const firstArg = init.arguments[0];
|
|
265
|
+
const defaultText = firstArg === undefined ? "—" : firstArg.getText(sourceFile);
|
|
266
|
+
out.push({ name, kind, defaultText });
|
|
267
|
+
}
|
|
268
|
+
return out;
|
|
269
|
+
}
|
|
270
|
+
function propertyNameIs(name, expected) {
|
|
271
|
+
return propertyNameText(name) === expected;
|
|
272
|
+
}
|
|
273
|
+
function propertyNameText(name) {
|
|
274
|
+
return ts.isIdentifier(name) || ts.isStringLiteral(name) || ts.isNumericLiteral(name)
|
|
275
|
+
? name.text
|
|
276
|
+
: null;
|
|
277
|
+
}
|
|
278
|
+
function formatOutputHover(bindingName, producer) {
|
|
279
|
+
if (producer.plotCalls.length === 0) {
|
|
280
|
+
return Object.freeze({
|
|
281
|
+
title: `${bindingName}.output(...)`,
|
|
282
|
+
summary: 'Producer does not expose any titled outputs. Add `plot(value, { title: "<name>" })` calls in the producer\'s `compute` body.',
|
|
283
|
+
});
|
|
284
|
+
}
|
|
285
|
+
const lines = producer.plotCalls.map((call) => `- "${call.title}" — Series<number>`);
|
|
286
|
+
return Object.freeze({
|
|
287
|
+
title: `${bindingName}.output(name)`,
|
|
288
|
+
summary: `Outputs declared by the producer:\n${lines.join("\n")}`,
|
|
289
|
+
});
|
|
290
|
+
}
|
|
291
|
+
function formatWithInputsHover(bindingName, producer) {
|
|
292
|
+
if (producer.inputs.length === 0) {
|
|
293
|
+
return Object.freeze({
|
|
294
|
+
title: `${bindingName}.withInputs({})`,
|
|
295
|
+
summary: "Producer does not declare any inputs.",
|
|
296
|
+
});
|
|
297
|
+
}
|
|
298
|
+
const lines = producer.inputs.map((entry) => `- ${entry.name}: ${entry.kind} (default: ${entry.defaultText})`);
|
|
299
|
+
return Object.freeze({
|
|
300
|
+
title: `${bindingName}.withInputs(overrides)`,
|
|
301
|
+
summary: `Producer inputs:\n${lines.join("\n")}`,
|
|
302
|
+
});
|
|
303
|
+
}
|
|
304
|
+
function parse(source) {
|
|
305
|
+
return ts.createSourceFile(SCRIPT_FILE_NAME, source, ts.ScriptTarget.Latest, true);
|
|
306
|
+
}
|
|
307
|
+
//# sourceMappingURL=resolveDepAccessor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resolveDepAccessor.js","sourceRoot":"","sources":["../../src/_lib/resolveDepAccessor.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createLanguageService.d.ts","sourceRoot":"","sources":["../src/createLanguageService.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"createLanguageService.d.ts","sourceRoot":"","sources":["../src/createLanguageService.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EACR,wBAAwB,EAIxB,sBAAsB,EAGzB,MAAM,YAAY,CAAC;AAEpB;;;;;;;;;GASG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,GAAE,sBAA2B,GAAG,wBAAwB,CAkFjG"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
// Copyright (c) 2026 Invinite. Licensed under the MIT License.
|
|
2
2
|
// See the LICENSE file in the repo root for full license text.
|
|
3
|
-
import { CompileError, compile } from "@invinite-org/chartlang-compiler";
|
|
4
3
|
import ts from "typescript";
|
|
5
4
|
import { collectCompletions } from "./_lib/collectCompletions.js";
|
|
6
5
|
import { isInsideIntervalLiteral } from "./_lib/isInsideIntervalLiteral.js";
|
|
7
6
|
import { makeDiagnostic, mapDiagnostic } from "./_lib/mapDiagnostic.js";
|
|
7
|
+
import { resolveDepAccessorDefinition, resolveDepAccessorHover, } from "./_lib/resolveDepAccessor.js";
|
|
8
8
|
import { findTokenAtOffset, resolveFqnAtOffset } from "./_lib/resolveFqnAtOffset.js";
|
|
9
9
|
import { toHoverDoc } from "./_lib/toHoverDoc.js";
|
|
10
10
|
import { HOVER_REGISTRY } from "./hoverRegistry.generated.js";
|
|
@@ -23,6 +23,7 @@ export function createLanguageService(opts = {}) {
|
|
|
23
23
|
return Object.freeze({
|
|
24
24
|
async compileToDiagnostics(source) {
|
|
25
25
|
const diagnostics = [];
|
|
26
|
+
const { CompileError, compile } = await import("@invinite-org/chartlang-compiler");
|
|
26
27
|
try {
|
|
27
28
|
await compile(source, { apiVersion: 1, sourcePath: "script.chart.ts" });
|
|
28
29
|
}
|
|
@@ -40,10 +41,12 @@ export function createLanguageService(opts = {}) {
|
|
|
40
41
|
},
|
|
41
42
|
getHoverDoc(source, offset) {
|
|
42
43
|
const fqn = resolveFqnAtOffset(source, offset);
|
|
43
|
-
if (fqn
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
44
|
+
if (fqn !== null) {
|
|
45
|
+
const entry = HOVER_REGISTRY[fqn];
|
|
46
|
+
if (entry !== undefined)
|
|
47
|
+
return toHoverDoc(entry);
|
|
48
|
+
}
|
|
49
|
+
return resolveDepAccessorHover(source, offset);
|
|
47
50
|
},
|
|
48
51
|
getCompletions(source, offset) {
|
|
49
52
|
if (capabilities !== undefined && isInsideIntervalLiteral(source, offset)) {
|
|
@@ -75,13 +78,14 @@ export function createLanguageService(opts = {}) {
|
|
|
75
78
|
},
|
|
76
79
|
getDefinition(source, offset) {
|
|
77
80
|
const fqn = resolveFqnAtOffset(source, offset);
|
|
78
|
-
if (fqn
|
|
79
|
-
return
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
}
|
|
81
|
+
if (fqn !== null && HOVER_REGISTRY[fqn] !== undefined) {
|
|
82
|
+
return Object.freeze({
|
|
83
|
+
file: "packages/core/dist/index.d.ts",
|
|
84
|
+
line: 1,
|
|
85
|
+
column: 1,
|
|
86
|
+
});
|
|
87
|
+
}
|
|
88
|
+
return resolveDepAccessorDefinition(source, offset);
|
|
85
89
|
},
|
|
86
90
|
getAvailableIntervals() {
|
|
87
91
|
return capabilities?.intervals ?? [];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createLanguageService.js","sourceRoot":"","sources":["../src/createLanguageService.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAC/D,+DAA+D;
|
|
1
|
+
{"version":3,"file":"createLanguageService.js","sourceRoot":"","sources":["../src/createLanguageService.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAC/D,+DAA+D;AAG/D,OAAO,EAAE,MAAM,YAAY,CAAC;AAE5B,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAClE,OAAO,EAAE,uBAAuB,EAAE,MAAM,mCAAmC,CAAC;AAC5E,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxE,OAAO,EACH,4BAA4B,EAC5B,uBAAuB,GAC1B,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AACrF,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAW9D;;;;;;;;;GASG;AACH,MAAM,UAAU,qBAAqB,CAAC,OAA+B,EAAE;IACnE,MAAM,YAAY,GAAG,IAAI,CAAC,kBAAkB,CAAC;IAE7C,OAAO,MAAM,CAAC,MAAM,CAAC;QACjB,KAAK,CAAC,oBAAoB,CAAC,MAAc;YACrC,MAAM,WAAW,GAAoB,EAAE,CAAC;YACxC,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,GAAG,MAAM,MAAM,CAAC,kCAAkC,CAAC,CAAC;YACnF,IAAI,CAAC;gBACD,MAAM,OAAO,CAAC,MAAM,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,UAAU,EAAE,iBAAiB,EAAE,CAAC,CAAC;YAC5E,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACX,mEAAmE;gBACnE,IAAI,GAAG,YAAY,YAAY;oBAC3B,WAAW,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC;;oBACvD,MAAM,GAAG,CAAC;YACnB,CAAC;YACD,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;gBAC7B,WAAW,CAAC,IAAI,CAAC,GAAG,4BAA4B,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC;YAC5E,CAAC;YACD,OAAO,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QACtC,CAAC;QAED,WAAW,CAAC,MAAc,EAAE,MAAc;YACtC,MAAM,GAAG,GAAG,kBAAkB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YAC/C,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;gBACf,MAAM,KAAK,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC;gBAClC,IAAI,KAAK,KAAK,SAAS;oBAAE,OAAO,UAAU,CAAC,KAAK,CAAC,CAAC;YACtD,CAAC;YACD,OAAO,uBAAuB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACnD,CAAC;QAED,cAAc,CAAC,MAAc,EAAE,MAAc;YACzC,IAAI,YAAY,KAAK,SAAS,IAAI,uBAAuB,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC;gBACxE,OAAO,MAAM,CAAC,MAAM,CAChB,YAAY,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CACtC,MAAM,CAAC,MAAM,CAAC;oBACV,KAAK,EAAE,UAAU,CAAC,KAAK;oBACvB,IAAI,EAAE,YAAqB;oBAC3B,UAAU,EAAE,UAAU,CAAC,KAAK;oBAC5B,MAAM,EAAE,UAAU,CAAC,KAAK;oBACxB,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC;wBACf,KAAK,EAAE,UAAU,CAAC,KAAK;wBACvB,OAAO,EAAE,UAAU,UAAU,CAAC,KAAK,EAAE;qBACxC,CAAC;iBACL,CAAC,CACL,CACJ,CAAC;YACN,CAAC;YACD,OAAO,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,cAAc,CAAC,CAAC;QAC9D,CAAC;QAED,gBAAgB,CAAC,MAAc,EAAE,MAAc;YAC3C,MAAM,IAAI,GAAG,kBAAkB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YAChD,IAAI,IAAI,KAAK,IAAI;gBAAE,OAAO,IAAI,CAAC;YAC/B,MAAM,KAAK,GAAG,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACvC,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,CAAC,UAAU,KAAK,SAAS;gBAAE,OAAO,IAAI,CAAC;YACvE,OAAO,MAAM,CAAC,MAAM,CAAC;gBACjB,KAAK,EAAE,KAAK,CAAC,KAAK;gBAClB,UAAU,EAAE,MAAM,CAAC,MAAM,CACrB,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAC3B,MAAM,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,CACtD,CACJ;gBACD,eAAe,EAAE,IAAI,CAAC,eAAe;aACxC,CAAC,CAAC;QACP,CAAC;QAED,aAAa,CAAC,MAAc,EAAE,MAAc;YACxC,MAAM,GAAG,GAAG,kBAAkB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YAC/C,IAAI,GAAG,KAAK,IAAI,IAAI,cAAc,CAAC,GAAG,CAAC,KAAK,SAAS,EAAE,CAAC;gBACpD,OAAO,MAAM,CAAC,MAAM,CAAC;oBACjB,IAAI,EAAE,+BAA+B;oBACrC,IAAI,EAAE,CAAC;oBACP,MAAM,EAAE,CAAC;iBACZ,CAAC,CAAC;YACP,CAAC;YACD,OAAO,4BAA4B,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACxD,CAAC;QAED,qBAAqB;YACjB,OAAO,YAAY,EAAE,SAAS,IAAI,EAAE,CAAC;QACzC,CAAC;KACJ,CAAC,CAAC;AACP,CAAC;AAED,SAAS,kBAAkB,CACvB,MAAc,EACd,MAAc;IAEd,MAAM,UAAU,GAAG,EAAE,CAAC,gBAAgB,CAAC,iBAAiB,EAAE,MAAM,EAAE,EAAE,CAAC,YAAY,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAChG,MAAM,KAAK,GAAG,iBAAiB,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;IACpD,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IAChC,IAAI,OAAO,GAAwB,KAAK,CAAC;IACzC,OAAO,OAAO,KAAK,SAAS,EAAE,CAAC;QAC3B,IAAI,EAAE,CAAC,gBAAgB,CAAC,OAAO,CAAC,EAAE,CAAC;YAC/B,MAAM,GAAG,GAAG,kBAAkB,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;YACpD,sFAAsF;YACtF,IAAI,GAAG,KAAK,IAAI;gBAAE,OAAO,IAAI,CAAC;YAC9B,OAAO,MAAM,CAAC,MAAM,CAAC;gBACjB,GAAG;gBACH,eAAe,EAAE,eAAe,CAAC,OAAO,EAAE,UAAU,EAAE,MAAM,CAAC;aAChE,CAAC,CAAC;QACP,CAAC;QACD,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC;IAC7B,CAAC;IACD,OAAO,IAAI,CAAC;AAChB,CAAC;AAED,SAAS,eAAe,CACpB,IAAuB,EACvB,UAAyB,EACzB,MAAc;IAEd,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC;IACjC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IACjD,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IAC/C,KAAK,MAAM,IAAI,IAAI,IAAI,EAAE,CAAC;QACtB,IAAI,IAAI,KAAK,GAAG;YAAE,KAAK,IAAI,CAAC,CAAC;IACjC,CAAC;IACD,OAAO,KAAK,CAAC;AACjB,CAAC;AAED,SAAS,kBAAkB,CAAC,IAAuB,EAAE,UAAyB;IAC1E,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;IACnC,IAAI,EAAE,CAAC,YAAY,CAAC,UAAU,CAAC;QAAE,OAAO,UAAU,CAAC,IAAI,CAAC;IACxD,mFAAmF;IACnF,IAAI,CAAC,EAAE,CAAC,0BAA0B,CAAC,UAAU,CAAC;QAAE,OAAO,IAAI,CAAC;IAC5D,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,IAAI,OAAO,GAAkB,UAAU,CAAC;IACxC,OAAO,EAAE,CAAC,0BAA0B,CAAC,OAAO,CAAC,EAAE,CAAC;QAC5C,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACjC,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC;IACjC,CAAC;IACD,oEAAoE;IACpE,IAAI,CAAC,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC;QAAE,OAAO,IAAI,CAAC;IAC3C,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC;IAC3C,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC3B,CAAC;AAED,SAAS,4BAA4B,CACjC,MAAc,EACd,YAAuE;IAEvE,MAAM,UAAU,GAAG,EAAE,CAAC,gBAAgB,CAAC,iBAAiB,EAAE,MAAM,EAAE,EAAE,CAAC,YAAY,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAChG,MAAM,WAAW,GAAoB,EAAE,CAAC;IACxC,MAAM,kBAAkB,GAAG,IAAI,GAAG,CAAC,YAAY,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;IAC7F,MAAM,cAAc,GAAwB,YAAY,CAAC,KAAK,CAAC;IAE/D,MAAM,KAAK,GAAG,CAAC,IAAa,EAAQ,EAAE;QAClC,IAAI,EAAE,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC;YAC5B,MAAM,GAAG,GAAG,kBAAkB,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;YACjD,IAAI,GAAG,KAAK,kBAAkB,EAAE,CAAC;gBAC7B,MAAM,QAAQ,GAAG,0BAA0B,CAAC,IAAI,CAAC,CAAC;gBAClD,IAAI,QAAQ,KAAK,IAAI,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;oBACzD,WAAW,CAAC,IAAI,CACZ,YAAY,CAAC,UAAU,EAAE,IAAI,EAAE;wBAC3B,QAAQ,EAAE,MAAM;wBAChB,IAAI,EAAE,sBAAsB;wBAC5B,OAAO,EAAE,6CAA6C,QAAQ,IAAI;qBACrE,CAAC,CACL,CAAC;gBACN,CAAC;gBACD,IAAI,QAAQ,KAAK,IAAI,IAAI,YAAY,CAAC,cAAc,KAAK,KAAK,EAAE,CAAC;oBAC7D,WAAW,CAAC,IAAI,CACZ,YAAY,CAAC,UAAU,EAAE,IAAI,EAAE;wBAC3B,QAAQ,EAAE,MAAM;wBAChB,IAAI,EAAE,+BAA+B;wBACrC,OAAO,EAAE,uDAAuD;qBACnE,CAAC,CACL,CAAC;gBACN,CAAC;YACL,CAAC;YACD,IAAI,GAAG,KAAK,MAAM,EAAE,CAAC;gBACjB,MAAM,IAAI,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;gBACnC,IAAI,IAAI,KAAK,IAAI,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;oBAC7C,WAAW,CAAC,IAAI,CACZ,YAAY,CAAC,UAAU,EAAE,IAAI,EAAE;wBAC3B,QAAQ,EAAE,MAAM;wBAChB,IAAI,EAAE,uBAAuB;wBAC7B,OAAO,EAAE,8CAA8C,IAAI,IAAI;qBAClE,CAAC,CACL,CAAC;gBACN,CAAC;YACL,CAAC;QACL,CAAC;QACD,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACjC,CAAC,CAAC;IACF,KAAK,CAAC,UAAU,CAAC,CAAC;IAClB,OAAO,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;AACtC,CAAC;AAED,SAAS,0BAA0B,CAAC,IAAuB;IACvD,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;IAChC,+EAA+E;IAC/E,IAAI,KAAK,KAAK,SAAS,IAAI,CAAC,EAAE,CAAC,yBAAyB,CAAC,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAC7E,KAAK,MAAM,QAAQ,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;QACtC,IAAI,CAAC,EAAE,CAAC,oBAAoB,CAAC,QAAQ,CAAC;YAAE,SAAS;QACjD,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;YAAE,SAAS;QACzD,mFAAmF;QACnF,OAAO,EAAE,CAAC,eAAe,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;IACvF,CAAC;IACD,OAAO,IAAI,CAAC;AAChB,CAAC;AAED,SAAS,eAAe,CAAC,IAAuB;IAC5C,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;IAC/B,IAAI,IAAI,KAAK,SAAS,IAAI,CAAC,EAAE,CAAC,yBAAyB,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IAC3E,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;QACrC,IAAI,CAAC,EAAE,CAAC,oBAAoB,CAAC,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;YAAE,SAAS;QAC5F,IAAI,CAAC,EAAE,CAAC,yBAAyB,CAAC,QAAQ,CAAC,WAAW,CAAC;YAAE,OAAO,IAAI,CAAC;QACrE,KAAK,MAAM,aAAa,IAAI,QAAQ,CAAC,WAAW,CAAC,UAAU,EAAE,CAAC;YAC1D,IAAI,CAAC,EAAE,CAAC,oBAAoB,CAAC,aAAa,CAAC;gBAAE,SAAS;YACtD,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,IAAI,EAAE,MAAM,CAAC;gBAAE,SAAS;YAC1D,OAAO,EAAE,CAAC,eAAe,CAAC,aAAa,CAAC,WAAW,CAAC;gBAChD,CAAC,CAAC,aAAa,CAAC,WAAW,CAAC,IAAI;gBAChC,CAAC,CAAC,IAAI,CAAC;QACf,CAAC;IACL,CAAC;IACD,OAAO,IAAI,CAAC;AAChB,CAAC;AAED,SAAS,cAAc,CAAC,IAAqB,EAAE,QAAgB;IAC3D,OAAO,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC;AACzF,CAAC;AAED,SAAS,YAAY,CACjB,UAAyB,EACzB,IAAa,EACb,IAAmE;IAEnE,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;IACxC,MAAM,GAAG,GAAG,UAAU,CAAC,6BAA6B,CAAC,KAAK,CAAC,CAAC;IAC5D,OAAO,cAAc,CAAC;QAClB,IAAI,EAAE,GAAG,CAAC,IAAI,GAAG,CAAC;QAClB,MAAM,EAAE,GAAG,CAAC,SAAS,GAAG,CAAC;QACzB,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,OAAO,EAAE,IAAI,CAAC,OAAO;KACxB,CAAC,CAAC;AACP,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hoverRegistry.generated.d.ts","sourceRoot":"","sources":["../src/hoverRegistry.generated.ts"],"names":[],"mappings":"AAKA;;;;;;;;GAQG;AACH,MAAM,MAAM,kBAAkB,GAAG,QAAQ,CAAC;IACtC,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,UAAU,GAAG,WAAW,GAAG,UAAU,GAAG,MAAM,CAAC;IACrD,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,aAAa,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACxE,QAAQ,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,QAAQ,CAAC;CACvB,CAAC,CAAC;AAEH;;;;;;;;GAQG;AAEH,eAAO,MAAM,cAAc,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,
|
|
1
|
+
{"version":3,"file":"hoverRegistry.generated.d.ts","sourceRoot":"","sources":["../src/hoverRegistry.generated.ts"],"names":[],"mappings":"AAKA;;;;;;;;GAQG;AACH,MAAM,MAAM,kBAAkB,GAAG,QAAQ,CAAC;IACtC,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,UAAU,GAAG,WAAW,GAAG,UAAU,GAAG,MAAM,CAAC;IACrD,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,aAAa,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACxE,QAAQ,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,QAAQ,CAAC;CACvB,CAAC,CAAC;AAEH;;;;;;;;GAQG;AAEH,eAAO,MAAM,cAAc,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAi9OvE,CAAC"}
|