@mirascript/monaco 0.1.44 → 0.1.45
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-QENEDDTR.js → chunk-LZVIYOSD.js} +8 -3
- package/dist/chunk-LZVIYOSD.js.map +6 -0
- package/dist/{chunk-B45DYEY5.js → chunk-NAOKM25O.js} +2 -2
- package/dist/chunk-NAOKM25O.js.map +6 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -2
- package/dist/index.js.map +1 -1
- package/dist/lsp/compile-result.d.ts +3 -6
- package/dist/lsp/compile-result.d.ts.map +1 -1
- package/dist/lsp/diagnostics.d.ts.map +1 -1
- package/dist/lsp/index.d.ts +22 -1
- package/dist/lsp/index.d.ts.map +1 -1
- package/dist/lsp/index.js +149 -85
- package/dist/lsp/index.js.map +1 -1
- package/dist/lsp/providers/base.d.ts +4 -0
- package/dist/lsp/providers/base.d.ts.map +1 -1
- package/dist/lsp/providers/completion-item-provider.d.ts.map +1 -1
- package/dist/lsp/providers/definition-reference-provider.d.ts +3 -2
- package/dist/lsp/providers/definition-reference-provider.d.ts.map +1 -1
- package/dist/lsp/providers/hover-provider.d.ts.map +1 -1
- package/dist/lsp/providers/semantic-tokens-provider.d.ts.map +1 -1
- package/dist/lsp/utils.d.ts.map +1 -1
- package/dist/lsp/worker-helper.d.ts.map +1 -1
- package/package.json +6 -6
- package/src/basic/tokens-provider.ts +6 -1
- package/src/index.ts +3 -1
- package/src/lsp/compile-result.ts +8 -5
- package/src/lsp/diagnostics.ts +10 -18
- package/src/lsp/index.ts +71 -36
- package/src/lsp/providers/base.ts +6 -0
- package/src/lsp/providers/code-lens-provider.ts +1 -1
- package/src/lsp/providers/completion-item-provider.ts +44 -11
- package/src/lsp/providers/definition-reference-provider.ts +9 -10
- package/src/lsp/providers/hover-provider.ts +5 -0
- package/src/lsp/providers/semantic-tokens-provider.ts +7 -0
- package/src/lsp/utils.ts +17 -10
- package/src/lsp/worker-helper.ts +1 -0
- package/src/monaco-api.js +1 -1
- package/dist/chunk-B45DYEY5.js.map +0 -6
- package/dist/chunk-QENEDDTR.js.map +0 -6
package/src/lsp/index.ts
CHANGED
|
@@ -36,52 +36,87 @@ export {
|
|
|
36
36
|
Provider,
|
|
37
37
|
};
|
|
38
38
|
|
|
39
|
+
/** 支持的功能 */
|
|
40
|
+
export type LspFeatures = {
|
|
41
|
+
codeAction: CodeActionProvider;
|
|
42
|
+
codeLens: CodeLensProvider;
|
|
43
|
+
color: ColorProvider;
|
|
44
|
+
completionItem: CompletionItemProvider;
|
|
45
|
+
definitionReference: DefinitionReferenceProvider;
|
|
46
|
+
documentHighlight: DocumentHighlightProvider;
|
|
47
|
+
documentSymbol: DocumentSymbolProvider;
|
|
48
|
+
formatter: FormatterProvider;
|
|
49
|
+
hover: HoverProvider;
|
|
50
|
+
inlayHints: InlayHintsProvider;
|
|
51
|
+
range: RangeProvider;
|
|
52
|
+
rename: RenameProvider;
|
|
53
|
+
documentSemanticTokens: DocumentSemanticTokensProvider;
|
|
54
|
+
signatureHelp: SignatureHelpProvider;
|
|
55
|
+
};
|
|
56
|
+
|
|
57
|
+
/** 配置启用功能 */
|
|
58
|
+
export type LspFeaturesConfig = { [K in keyof LspFeatures]?: boolean | undefined };
|
|
59
|
+
|
|
39
60
|
/** 注册 LSP 相关的编辑器功能 */
|
|
40
|
-
export async function registerLSP(
|
|
61
|
+
export async function registerLSP(
|
|
62
|
+
contextProvider: VmContextProvider | undefined,
|
|
63
|
+
features: LspFeaturesConfig = {},
|
|
64
|
+
): Promise<IDisposable[]> {
|
|
41
65
|
Provider.setContextProvider(contextProvider);
|
|
42
66
|
const { loadModule } = await import('@mirascript/bindings/wasm');
|
|
43
67
|
await loadModule();
|
|
68
|
+
const disposables: IDisposable[] = [];
|
|
69
|
+
const registerIfEnabled = <T extends keyof LspFeatures>(
|
|
70
|
+
feature: T,
|
|
71
|
+
provider: new (enabled: () => boolean) => LspFeatures[T],
|
|
72
|
+
register: (language: languages.LanguageSelector, provider: LspFeatures[T]) => IDisposable | IDisposable[],
|
|
73
|
+
): void => {
|
|
74
|
+
const providerInstance = new provider(() => features[feature] !== false);
|
|
75
|
+
const d = register(['mirascript', 'mirascript-template'], providerInstance);
|
|
76
|
+
if (Array.isArray(d)) disposables.push(...d);
|
|
77
|
+
else disposables.push(d);
|
|
78
|
+
};
|
|
44
79
|
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
const completionItemProvider = new CompletionItemProvider();
|
|
49
|
-
const definitionReferenceProvider = new DefinitionReferenceProvider();
|
|
50
|
-
const documentHighlightProvider = new DocumentHighlightProvider();
|
|
51
|
-
const documentSymbolProvider = new DocumentSymbolProvider();
|
|
52
|
-
const formatterProvider = new FormatterProvider();
|
|
53
|
-
const hoverProvider = new HoverProvider();
|
|
54
|
-
const inlayHintsProvider = new InlayHintsProvider();
|
|
55
|
-
const rangeProvider = new RangeProvider();
|
|
56
|
-
const renameProvider = new RenameProvider();
|
|
57
|
-
const documentSemanticTokensProvider = new DocumentSemanticTokensProvider();
|
|
58
|
-
const signatureHelpProvider = new SignatureHelpProvider();
|
|
80
|
+
registerIfEnabled('codeAction', CodeActionProvider, languages.registerCodeActionProvider);
|
|
81
|
+
registerIfEnabled('codeLens', CodeLensProvider, languages.registerCodeLensProvider);
|
|
82
|
+
registerIfEnabled('color', ColorProvider, languages.registerColorProvider);
|
|
59
83
|
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
84
|
+
registerIfEnabled('definitionReference', DefinitionReferenceProvider, (language, provider) => {
|
|
85
|
+
return [
|
|
86
|
+
languages.registerDefinitionProvider(language, provider),
|
|
87
|
+
languages.registerReferenceProvider(language, provider),
|
|
88
|
+
];
|
|
89
|
+
});
|
|
65
90
|
|
|
66
|
-
|
|
67
|
-
|
|
91
|
+
registerIfEnabled('documentHighlight', DocumentHighlightProvider, languages.registerDocumentHighlightProvider);
|
|
92
|
+
registerIfEnabled('documentSymbol', DocumentSymbolProvider, languages.registerDocumentSymbolProvider);
|
|
68
93
|
|
|
69
|
-
|
|
70
|
-
|
|
94
|
+
registerIfEnabled('formatter', FormatterProvider, (language, provider) => {
|
|
95
|
+
return [
|
|
96
|
+
languages.registerDocumentFormattingEditProvider(language, provider),
|
|
97
|
+
// languages.registerDocumentRangeFormattingEditProvider(language, provider),
|
|
98
|
+
// languages.registerOnTypeFormattingEditProvider(language, provider),
|
|
99
|
+
];
|
|
100
|
+
});
|
|
71
101
|
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
// languages.registerOnTypeFormattingEditProvider(language, formatterProvider),
|
|
102
|
+
registerIfEnabled('hover', HoverProvider, languages.registerHoverProvider);
|
|
103
|
+
registerIfEnabled('inlayHints', InlayHintsProvider, languages.registerInlayHintsProvider);
|
|
75
104
|
|
|
76
|
-
|
|
77
|
-
|
|
105
|
+
registerIfEnabled('range', RangeProvider, (language, provider) => {
|
|
106
|
+
return [
|
|
107
|
+
languages.registerFoldingRangeProvider(language, provider),
|
|
108
|
+
languages.registerSelectionRangeProvider(language, provider),
|
|
109
|
+
];
|
|
110
|
+
});
|
|
78
111
|
|
|
79
|
-
|
|
80
|
-
|
|
112
|
+
registerIfEnabled(
|
|
113
|
+
'documentSemanticTokens',
|
|
114
|
+
DocumentSemanticTokensProvider,
|
|
115
|
+
languages.registerDocumentSemanticTokensProvider,
|
|
116
|
+
);
|
|
117
|
+
registerIfEnabled('rename', RenameProvider, languages.registerRenameProvider);
|
|
118
|
+
registerIfEnabled('completionItem', CompletionItemProvider, languages.registerCompletionItemProvider);
|
|
119
|
+
registerIfEnabled('signatureHelp', SignatureHelpProvider, languages.registerSignatureHelpProvider);
|
|
81
120
|
|
|
82
|
-
|
|
83
|
-
languages.registerRenameProvider(language, renameProvider),
|
|
84
|
-
languages.registerCompletionItemProvider(language, completionItemProvider),
|
|
85
|
-
languages.registerSignatureHelpProvider(language, signatureHelpProvider),
|
|
86
|
-
];
|
|
121
|
+
return disposables;
|
|
87
122
|
}
|
|
@@ -90,6 +90,11 @@ let cachedContext: readonly [editor.ITextModel, Promise<MonacoContext>] | null =
|
|
|
90
90
|
|
|
91
91
|
/** 提供编辑器 LSP 支持 */
|
|
92
92
|
export abstract class Provider {
|
|
93
|
+
constructor(private readonly enabled: () => boolean = () => true) {}
|
|
94
|
+
/** 是否启用 */
|
|
95
|
+
get isEnabled(): boolean {
|
|
96
|
+
return this.enabled();
|
|
97
|
+
}
|
|
93
98
|
/** 设置全局变量提供者 */
|
|
94
99
|
static setContextProvider(provider: VmContextProvider | undefined): void {
|
|
95
100
|
contextProvider = provider;
|
|
@@ -104,6 +109,7 @@ export abstract class Provider {
|
|
|
104
109
|
}
|
|
105
110
|
/** 获取编译结果 */
|
|
106
111
|
async getCompileResult(model: editor.ITextModel): Promise<CompileResult | undefined> {
|
|
112
|
+
if (!this.isEnabled) return undefined;
|
|
107
113
|
return Provider.getCompileResult(model);
|
|
108
114
|
}
|
|
109
115
|
/** 获取执行上下文(全局变量) */
|
|
@@ -16,7 +16,7 @@ export class CodeLensProvider extends Provider implements languages.CodeLensProv
|
|
|
16
16
|
|
|
17
17
|
const lenses: languages.CodeLens[] = [];
|
|
18
18
|
for (const { definition, references } of result.groupedTags(model).locals) {
|
|
19
|
-
if (definition.code === DiagnosticCode.LocalFunction) {
|
|
19
|
+
if (definition.code === DiagnosticCode.LocalFunction || definition.code === DiagnosticCode.LocalModule) {
|
|
20
20
|
lenses.push({
|
|
21
21
|
range: definition.range,
|
|
22
22
|
command: {
|
|
@@ -250,6 +250,7 @@ export class CompletionItemProvider extends Provider implements languages.Comple
|
|
|
250
250
|
char: string | undefined,
|
|
251
251
|
locals: readonly CustomCompletionItem[],
|
|
252
252
|
range: languages.CompletionItemRanges,
|
|
253
|
+
hasGlobalPrefix: boolean,
|
|
253
254
|
): Promise<CustomCompletionItem[]> {
|
|
254
255
|
const global = await this.getContext(model);
|
|
255
256
|
const suggestions: CustomCompletionItem[] = [];
|
|
@@ -258,6 +259,29 @@ export class CompletionItemProvider extends Provider implements languages.Comple
|
|
|
258
259
|
if (!global.has(key)) continue;
|
|
259
260
|
const element = global.get(key);
|
|
260
261
|
|
|
262
|
+
let prefix = key;
|
|
263
|
+
const edits: editor.ISingleEditOperation[] = [];
|
|
264
|
+
if (!REG_IDENTIFIER_FULL.test(key)) {
|
|
265
|
+
const kStr = serialize(key);
|
|
266
|
+
if (hasGlobalPrefix) {
|
|
267
|
+
prefix = `[${kStr}]`;
|
|
268
|
+
// 删除多余的 . 前缀
|
|
269
|
+
edits.push({
|
|
270
|
+
range: {
|
|
271
|
+
startLineNumber: range.replace.startLineNumber,
|
|
272
|
+
startColumn: range.replace.startColumn - 1,
|
|
273
|
+
endLineNumber: range.replace.endLineNumber,
|
|
274
|
+
endColumn: range.replace.endColumn,
|
|
275
|
+
},
|
|
276
|
+
text: '',
|
|
277
|
+
});
|
|
278
|
+
} else {
|
|
279
|
+
prefix = `global[${serialize(key)}]`;
|
|
280
|
+
}
|
|
281
|
+
} else if (!hasGlobalPrefix && (localKeys.has(key) || isKeyword(key))) {
|
|
282
|
+
prefix = `global.${key}`;
|
|
283
|
+
}
|
|
284
|
+
|
|
261
285
|
if (isVmModule(element)) {
|
|
262
286
|
for (const f of element.keys()) {
|
|
263
287
|
if (char && !f.toLowerCase().includes(char)) {
|
|
@@ -267,9 +291,10 @@ export class CompletionItemProvider extends Provider implements languages.Comple
|
|
|
267
291
|
if (field === undefined) continue;
|
|
268
292
|
|
|
269
293
|
suggestions.push({
|
|
270
|
-
insertText:
|
|
294
|
+
insertText: `${prefix}.${f}`,
|
|
271
295
|
filterText: filterText(f, char),
|
|
272
296
|
range,
|
|
297
|
+
additionalTextEdits: edits,
|
|
273
298
|
vmParent: element,
|
|
274
299
|
...completion(model, DESC_GLOBAL, `${key}.${f}`, field, undefined, true),
|
|
275
300
|
});
|
|
@@ -285,14 +310,10 @@ export class CompletionItemProvider extends Provider implements languages.Comple
|
|
|
285
310
|
continue;
|
|
286
311
|
}
|
|
287
312
|
suggestions.push({
|
|
288
|
-
insertText:
|
|
289
|
-
localKeys.has(key) || isKeyword(key)
|
|
290
|
-
? `global.${key}` // 如果有同名局部变量,使用 global. 前缀
|
|
291
|
-
: REG_IDENTIFIER_FULL.test(key)
|
|
292
|
-
? key
|
|
293
|
-
: `global[${serialize(key)}]`,
|
|
313
|
+
insertText: prefix,
|
|
294
314
|
filterText: filterText(key, char),
|
|
295
315
|
range,
|
|
316
|
+
additionalTextEdits: edits,
|
|
296
317
|
vmParent: global,
|
|
297
318
|
...completion(model, DESC_GLOBAL, key, element, undefined, false),
|
|
298
319
|
});
|
|
@@ -320,12 +341,18 @@ export class CompletionItemProvider extends Provider implements languages.Comple
|
|
|
320
341
|
if (locals.has(name)) continue; // 子作用域可能会覆盖父作用域的变量
|
|
321
342
|
|
|
322
343
|
locals.add(name);
|
|
323
|
-
|
|
344
|
+
const suggestion = {
|
|
324
345
|
insertText: name,
|
|
325
346
|
filterText: filterText(name, char),
|
|
326
347
|
range,
|
|
327
348
|
...completion(model, DESC_LOCAL, name, undefined, fn, false),
|
|
328
|
-
}
|
|
349
|
+
};
|
|
350
|
+
if (definition.code === DiagnosticCode.LocalModule) {
|
|
351
|
+
suggestion.kind = languages.CompletionItemKind.Module;
|
|
352
|
+
} else if (definition.code === DiagnosticCode.LocalFunction) {
|
|
353
|
+
suggestion.kind = languages.CompletionItemKind.Function;
|
|
354
|
+
}
|
|
355
|
+
suggestions.push(suggestion);
|
|
329
356
|
}
|
|
330
357
|
if (!scope.parent) break;
|
|
331
358
|
scope = scope.parent;
|
|
@@ -404,7 +431,13 @@ export class CompletionItemProvider extends Provider implements languages.Comple
|
|
|
404
431
|
model,
|
|
405
432
|
undefined,
|
|
406
433
|
[],
|
|
407
|
-
|
|
434
|
+
this.toCompletionItemRanges(position, {
|
|
435
|
+
startLineNumber: position.lineNumber,
|
|
436
|
+
startColumn: position.column,
|
|
437
|
+
endLineNumber: position.lineNumber,
|
|
438
|
+
endColumn: position.column,
|
|
439
|
+
}),
|
|
440
|
+
true,
|
|
408
441
|
);
|
|
409
442
|
return { suggestions: globals };
|
|
410
443
|
}
|
|
@@ -473,7 +506,7 @@ export class CompletionItemProvider extends Provider implements languages.Comple
|
|
|
473
506
|
|
|
474
507
|
const suggestions = COMMON_GLOBAL_SUGGESTIONS(completionRange, prev === '::');
|
|
475
508
|
const locals = await this.completeLocal(model, position, char, completionRange);
|
|
476
|
-
const globals = await this.completeGlobal(model, char, locals, completionRange);
|
|
509
|
+
const globals = await this.completeGlobal(model, char, locals, completionRange, false);
|
|
477
510
|
suggestions.push(...locals, ...globals);
|
|
478
511
|
|
|
479
512
|
return { suggestions };
|
|
@@ -17,27 +17,26 @@ export class DefinitionReferenceProvider
|
|
|
17
17
|
extends Provider
|
|
18
18
|
implements languages.DefinitionProvider, languages.ReferenceProvider
|
|
19
19
|
{
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
Uri.parse('mirascript:///lib/global.mira')
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
super();
|
|
20
|
+
private _globalModel?: editor.ITextModel;
|
|
21
|
+
/** 全局模型 */
|
|
22
|
+
protected get globalModel(): editor.ITextModel {
|
|
23
|
+
if (!this._globalModel || this._globalModel.isDisposed()) {
|
|
24
|
+
this._globalModel = editor.createModel(``, 'mirascript-doc', Uri.parse('mirascript:///lib/global.mira'));
|
|
25
|
+
}
|
|
26
|
+
return this._globalModel;
|
|
28
27
|
}
|
|
29
28
|
/** 准备要显示的定义 */
|
|
30
29
|
private async prepareGlobal(
|
|
31
30
|
model: editor.ITextModel,
|
|
32
31
|
path: readonly string[],
|
|
33
32
|
): Promise<{ uri: Uri; range: IRange } | undefined> {
|
|
34
|
-
const { globalModel } = this;
|
|
35
33
|
const globals = await this.getContext(model);
|
|
36
34
|
const [name, ...access] = path;
|
|
37
35
|
const [parent, value] = getDeep(globals, name!, access);
|
|
38
36
|
if (value === undefined) return undefined;
|
|
39
37
|
const { script, doc } = valueDoc(path.at(-1)!, value, 'declare', parent);
|
|
40
|
-
const code = [
|
|
38
|
+
const code = [...docComment(doc), script, ''];
|
|
39
|
+
const { globalModel } = this;
|
|
41
40
|
globalModel.setValue(code.join('\n'));
|
|
42
41
|
return {
|
|
43
42
|
uri: globalModel.uri,
|
|
@@ -108,6 +108,11 @@ export class HoverProvider extends Provider implements languages.HoverProvider {
|
|
|
108
108
|
};
|
|
109
109
|
break;
|
|
110
110
|
}
|
|
111
|
+
case DiagnosticCode.LocalModule:
|
|
112
|
+
content = {
|
|
113
|
+
value: codeblock(`\0mod ${model.getValueInRange(tag.range)}`),
|
|
114
|
+
};
|
|
115
|
+
break;
|
|
111
116
|
case DiagnosticCode.LocalImmutable:
|
|
112
117
|
content = {
|
|
113
118
|
value: codeblock(`\0let ${model.getValueInRange(tag.range)}`),
|
|
@@ -80,6 +80,10 @@ export class DocumentSemanticTokensProvider extends Provider implements language
|
|
|
80
80
|
tokenType = TokenType.FUNCTION;
|
|
81
81
|
break;
|
|
82
82
|
}
|
|
83
|
+
case DiagnosticCode.LocalModule: {
|
|
84
|
+
tokenType = TokenType.MODULE;
|
|
85
|
+
break;
|
|
86
|
+
}
|
|
83
87
|
case DiagnosticCode.ParameterMutable:
|
|
84
88
|
case DiagnosticCode.ParameterSubPatternMutable:
|
|
85
89
|
case DiagnosticCode.ParameterMutableRest: {
|
|
@@ -134,6 +138,9 @@ export class DocumentSemanticTokensProvider extends Provider implements language
|
|
|
134
138
|
});
|
|
135
139
|
}
|
|
136
140
|
for (const ref of references) {
|
|
141
|
+
if (ref.code === DiagnosticCode.ExportedLocal) {
|
|
142
|
+
continue; // 导出位置的类型为模块,与原始定义位置不同
|
|
143
|
+
}
|
|
137
144
|
data.push({
|
|
138
145
|
row: ref.range.startLineNumber - 1,
|
|
139
146
|
col: ref.range.startColumn - 1,
|
package/src/lsp/utils.ts
CHANGED
|
@@ -393,25 +393,32 @@ export function valueDoc(
|
|
|
393
393
|
prefix = `${name}: `;
|
|
394
394
|
}
|
|
395
395
|
if (isVmModule(value)) {
|
|
396
|
-
const doc = `模块 \`${value.name}\``;
|
|
397
396
|
let script;
|
|
398
397
|
if (type === 'declare') {
|
|
399
398
|
const exports = value.keys();
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
const
|
|
405
|
-
|
|
399
|
+
if (!exports.length) {
|
|
400
|
+
script = `mod ${value.name} { }`;
|
|
401
|
+
} else {
|
|
402
|
+
script = `mod ${value.name} {\n`;
|
|
403
|
+
for (const k of exports) {
|
|
404
|
+
const v = value.get(k);
|
|
405
|
+
const vDoc = valueDoc(k, v, 'declare', value);
|
|
406
|
+
const code = [...docComment(vDoc.doc), 'pub ' + vDoc.script];
|
|
407
|
+
const lines = code.flatMap((line) => line.split('\n'));
|
|
408
|
+
for (const line of lines) {
|
|
409
|
+
script += line ? ' ' + line + '\n' : '\n';
|
|
410
|
+
}
|
|
411
|
+
script += '\n';
|
|
412
|
+
}
|
|
413
|
+
script = script.trimEnd() + '\n}';
|
|
406
414
|
}
|
|
407
|
-
script = script.trimEnd();
|
|
408
415
|
} else {
|
|
409
|
-
script = `
|
|
416
|
+
script = `mod ${value.name}`;
|
|
410
417
|
if (value.name !== name) {
|
|
411
418
|
script = `${prefix}${script}`;
|
|
412
419
|
}
|
|
413
420
|
}
|
|
414
|
-
return { script, doc:
|
|
421
|
+
return { script, doc: [`模块 \`${value.name}\``] };
|
|
415
422
|
}
|
|
416
423
|
let valueStr = UNKNOWN_REPR;
|
|
417
424
|
if (value !== undefined) {
|
package/src/lsp/worker-helper.ts
CHANGED
|
@@ -105,6 +105,7 @@ export async function compile(model: editor.ITextModel): Promise<CompileResult>
|
|
|
105
105
|
const req: Req = [cacheKey, version, value, mode];
|
|
106
106
|
const res = USE_WORKER ? compileWorker(req) : compileSync(req);
|
|
107
107
|
void res.then(async (result) => {
|
|
108
|
+
if (model.isDisposed()) return;
|
|
108
109
|
const setModelMarkers = editor?.setModelMarkers;
|
|
109
110
|
if (typeof setModelMarkers != 'function') return;
|
|
110
111
|
const markers = await makeModelMarkers(model, result);
|
package/src/monaco-api.js
CHANGED
|
@@ -23,7 +23,7 @@ export let CancellationTokenSource,
|
|
|
23
23
|
* @param {object} monacoApi - Monaco API 对象,必须包含特定方法和属性。
|
|
24
24
|
*/
|
|
25
25
|
export function registerMonacoApi(monacoApi) {
|
|
26
|
-
if (monaco) {
|
|
26
|
+
if (monaco && monaco !== monacoApi) {
|
|
27
27
|
throw new Error('MiraScriptMonacoLoader has already been registered.');
|
|
28
28
|
}
|
|
29
29
|
if (
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../src/monaco-api.js"],
|
|
4
|
-
"mappings": ";AAAA,IAAI,SAAS;AAGN,IAAI;AAAJ,IACH;AADG,IAEH;AAFG,IAGH;AAHG,IAIH;AAJG,IAKH;AALG,IAMH;AANG,IAOH;AAPG,IAQH;AARG,IASH;AATG,IAUH;AAVG,IAWH;AAXG,IAYH;AAZG,IAaH;AAbG,IAcH;AAdG,IAeH;AAMG,SAAS,kBAAkB,WAAW;AACzC,MAAI,QAAQ;AACR,UAAM,IAAI,MAAM,qDAAqD;AAAA,EACzE;AACA,MACI,CAAC,aACD,OAAO,cAAc,YACrB,CAAC,UAAU;AAAA;AAAA,EAGX,CAAC,UAAU;AAAA;AAAA;AAAA,EAIX,cAAc,OAAO,UAAU,OAC/B,cAAc,OAAO,UAAU,SAC/B,cAAc,OAAO,UAAU,YAC/B,cAAc,OAAO,UAAU,2BAC/B,cAAc,OAAO,UAAU,SACjC;AACE,UAAM,IAAI,UAAU,0CAA0C;AAAA,EAClE;AACA,WAAS;AACT,GAAC;AAAA,IACG;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACJ,IAAI;AACR;",
|
|
5
|
-
"names": []
|
|
6
|
-
}
|
|
@@ -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
|
-
}
|