@mirascript/monaco 0.1.82 → 0.1.84
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/dist/basic/index.js +2 -2
- package/dist/basic/tokens-provider.d.ts.map +1 -1
- package/dist/{chunk-NIQ5XOKS.js → chunk-7NT3EI6C.js} +31 -21
- package/dist/chunk-7NT3EI6C.js.map +6 -0
- package/dist/{chunk-NAOKM25O.js → chunk-JOHUNWDB.js} +25 -2
- package/dist/{chunk-NAOKM25O.js.map → chunk-JOHUNWDB.js.map} +2 -2
- package/dist/contribute.d.ts +1 -0
- package/dist/contribute.d.ts.map +1 -1
- package/dist/index.js +2 -23
- package/dist/index.js.map +2 -2
- package/dist/lsp/compile-result.d.ts +1 -1
- package/dist/lsp/compile-result.d.ts.map +1 -1
- package/dist/lsp/index.js +149 -179
- package/dist/lsp/index.js.map +1 -1
- package/dist/lsp/providers/color-provider.d.ts.map +1 -1
- package/dist/lsp/providers/hover-provider.d.ts.map +1 -1
- package/dist/lsp/providers/inlay-hints-provider.d.ts.map +1 -1
- package/dist/lsp/utils.d.ts.map +1 -1
- package/dist/lsp/worker-core.d.ts +23 -0
- package/dist/lsp/worker-core.d.ts.map +1 -0
- package/dist/lsp/worker.d.ts +1 -22
- package/dist/lsp/worker.d.ts.map +1 -1
- package/dist/lsp/worker.js +3 -45
- package/dist/lsp/worker.js.map +1 -1
- package/dist/worker-core-MG2FDDNN.js +45 -0
- package/dist/worker-core-MG2FDDNN.js.map +6 -0
- package/package.json +7 -9
- package/src/basic/tokens-provider.ts +32 -23
- package/src/contribute.ts +8 -8
- package/src/lsp/compile-result.ts +1 -1
- package/src/lsp/providers/color-provider.ts +42 -44
- package/src/lsp/providers/hover-provider.ts +27 -59
- package/src/lsp/providers/inlay-hints-provider.ts +93 -89
- package/src/lsp/utils.ts +1 -3
- package/src/lsp/worker-core.ts +68 -0
- package/src/lsp/worker-helper.ts +3 -3
- package/src/lsp/worker.ts +5 -70
- package/dist/chunk-NIQ5XOKS.js.map +0 -6
package/src/lsp/worker.ts
CHANGED
|
@@ -1,73 +1,8 @@
|
|
|
1
|
-
|
|
2
|
-
import type {
|
|
3
|
-
import type { Tagged } from 'type-fest';
|
|
1
|
+
/// <reference lib="webworker" />
|
|
2
|
+
import type { Ready, Req, ResErr, ResOk } from './worker-core.js';
|
|
4
3
|
|
|
5
|
-
|
|
6
|
-
const
|
|
7
|
-
const { wasm, createConfig } = mod;
|
|
8
|
-
|
|
9
|
-
/** Monaco 编译结果 */
|
|
10
|
-
export interface MonacoResult extends BcModule.CompileResult {
|
|
11
|
-
/** 格式化结果 */
|
|
12
|
-
formatted?: string;
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
/** 缓存 Key (model id) */
|
|
16
|
-
export type CacheKey = Tagged<string, 'modelId'>;
|
|
17
|
-
/** 请求参数 */
|
|
18
|
-
export type Req = [key: CacheKey, version: number, script: string, mode: InputMode];
|
|
19
|
-
/** 编译结果 */
|
|
20
|
-
export type ResOk = [key: CacheKey, version: number, result: MonacoResult];
|
|
21
|
-
/** 编译结果 */
|
|
22
|
-
export type ResErr = [key: CacheKey, version: number, error: Error];
|
|
23
|
-
/** 编译结果 */
|
|
24
|
-
export type Res = ResOk | ResErr;
|
|
25
|
-
/** Ready */
|
|
26
|
-
export type Ready = 'mirascript lsp ready';
|
|
27
|
-
|
|
28
|
-
const configTemplate = createConfig({
|
|
29
|
-
diagnostic_position_encoding: 'Utf16',
|
|
30
|
-
diagnostic_tag: true,
|
|
31
|
-
diagnostic_sourcemap: true,
|
|
32
|
-
trivia: true,
|
|
33
|
-
input_mode: 'Template',
|
|
34
|
-
});
|
|
35
|
-
const configScript = createConfig({
|
|
36
|
-
diagnostic_position_encoding: 'Utf16',
|
|
37
|
-
diagnostic_tag: true,
|
|
38
|
-
diagnostic_sourcemap: true,
|
|
39
|
-
trivia: true,
|
|
40
|
-
input_mode: 'Script',
|
|
41
|
-
});
|
|
42
|
-
|
|
43
|
-
/** 编译 */
|
|
44
|
-
export function compile(script: string, mode: InputMode): MonacoResult {
|
|
45
|
-
const config = mode === 'Script' ? configScript : configTemplate;
|
|
46
|
-
const compiler = new wasm.MonacoCompiler(script, config);
|
|
47
|
-
try {
|
|
48
|
-
const parseOk = compiler.parse();
|
|
49
|
-
if (!parseOk) {
|
|
50
|
-
return { diagnostics: compiler.diagnostics(), chunk: undefined };
|
|
51
|
-
}
|
|
52
|
-
const chunk = compiler.emit();
|
|
53
|
-
const formatted = compiler.format();
|
|
54
|
-
return {
|
|
55
|
-
diagnostics: compiler.diagnostics(),
|
|
56
|
-
chunk,
|
|
57
|
-
formatted,
|
|
58
|
-
};
|
|
59
|
-
} finally {
|
|
60
|
-
try {
|
|
61
|
-
compiler.free();
|
|
62
|
-
} catch (ex) {
|
|
63
|
-
/* 忽略错误 */
|
|
64
|
-
// eslint-disable-next-line no-console
|
|
65
|
-
console.error(ex);
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
|
|
70
|
-
if (typeof Worker == 'function' && typeof addEventListener == 'function' && typeof postMessage == 'function') {
|
|
4
|
+
void Promise.resolve().then(async () => {
|
|
5
|
+
const { compile } = await import('./worker-core.js');
|
|
71
6
|
addEventListener('message', (event: MessageEvent) => {
|
|
72
7
|
const data = event.data as Req;
|
|
73
8
|
if (!Array.isArray(data)) return;
|
|
@@ -84,4 +19,4 @@ if (typeof Worker == 'function' && typeof addEventListener == 'function' && type
|
|
|
84
19
|
}
|
|
85
20
|
});
|
|
86
21
|
postMessage('mirascript lsp ready' satisfies Ready);
|
|
87
|
-
}
|
|
22
|
+
});
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../src/constants.ts", "../src/basic/language-configuration.ts", "../src/basic/tokens-provider.ts", "../src/basic/index.ts"],
|
|
4
|
-
"mappings": "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",
|
|
5
|
-
"names": []
|
|
6
|
-
}
|