@mirascript/monaco 0.1.17 → 0.1.18

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.
@@ -1 +1 @@
1
- {"version":3,"file":"compile-result.d.ts","sourceRoot":"","sources":["../../src/lsp/compile-result.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"compile-result.d.ts","sourceRoot":"","sources":["../../src/lsp/compile-result.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
- import { editor } from '../monaco-api.js';
1
+ import { type editor } from '../monaco-api.js';
2
2
  import type { CompileResult } from './compile-result.js';
3
3
  /** 设置标记 */
4
- export declare function setMarkers(model: editor.ITextModel, result: CompileResult): Promise<void>;
4
+ export declare function makeModelMarkers(model: editor.ITextModel, result: CompileResult): Promise<editor.IMarkerData[] | null>;
5
5
  //# sourceMappingURL=diagnostics.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"diagnostics.d.ts","sourceRoot":"","sources":["../../src/lsp/diagnostics.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAA+C,MAAM,kBAAkB,CAAC;AACvF,OAAO,KAAK,EAAE,aAAa,EAAoB,MAAM,qBAAqB,CAAC;AAyF3E,WAAW;AACX,wBAAsB,UAAU,CAAC,KAAK,EAAE,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAiC/F"}
1
+ {"version":3,"file":"diagnostics.d.ts","sourceRoot":"","sources":["../../src/lsp/diagnostics.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,MAAM,EAA+C,MAAM,kBAAkB,CAAC;AAC5F,OAAO,KAAK,EAAE,aAAa,EAAoB,MAAM,qBAAqB,CAAC;AAyF3E,WAAW;AACX,wBAAsB,gBAAgB,CAClC,KAAK,EAAE,MAAM,CAAC,UAAU,EACxB,MAAM,EAAE,aAAa,GACtB,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,CAgCtC"}
@@ -1,7 +1,7 @@
1
1
  import { type IDisposable } from '../monaco-api.js';
2
2
  import '../basic/index.js';
3
3
  import type { VmContextProvider } from '../index.js';
4
- import { setContextProvider } from './providers/base.js';
4
+ import { Provider } from './providers/base.js';
5
5
  import { CodeActionProvider } from './providers/code-action-provider.js';
6
6
  import { ColorProvider } from './providers/color-provider.js';
7
7
  import { CompletionItemProvider } from './providers/completion-item-provider.js';
@@ -15,7 +15,7 @@ import { RangeProvider } from './providers/range-provider.js';
15
15
  import { RenameProvider } from './providers/rename-provider.js';
16
16
  import { DocumentSemanticTokensProvider } from './providers/semantic-tokens-provider.js';
17
17
  import { SignatureHelpProvider } from './providers/signature-help-provider.js';
18
- export { CodeActionProvider, ColorProvider, CompletionItemProvider, DefinitionReferenceProvider, DocumentHighlightProvider, DocumentSemanticTokensProvider, DocumentSymbolProvider, FormatterProvider, HoverProvider, InlayHintsProvider, RangeProvider, RenameProvider, SignatureHelpProvider, setContextProvider, };
18
+ export { CodeActionProvider, ColorProvider, CompletionItemProvider, DefinitionReferenceProvider, DocumentHighlightProvider, DocumentSemanticTokensProvider, DocumentSymbolProvider, FormatterProvider, HoverProvider, InlayHintsProvider, RangeProvider, RenameProvider, SignatureHelpProvider, Provider, };
19
19
  /** 注册 LSP 相关的编辑器功能 */
20
20
  export declare function registerLSP(contextProvider: VmContextProvider | undefined): Promise<IDisposable[]>;
21
21
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/lsp/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,KAAK,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/D,OAAO,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAErD,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AACzE,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAE,sBAAsB,EAAE,MAAM,yCAAyC,CAAC;AACjF,OAAO,EAAE,2BAA2B,EAAE,MAAM,8CAA8C,CAAC;AAE3F,OAAO,EAAE,yBAAyB,EAAE,MAAM,4CAA4C,CAAC;AACvF,OAAO,EAAE,sBAAsB,EAAE,MAAM,yCAAyC,CAAC;AACjF,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AACtE,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AACzE,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAChE,OAAO,EAAE,8BAA8B,EAAE,MAAM,yCAAyC,CAAC;AACzF,OAAO,EAAE,qBAAqB,EAAE,MAAM,wCAAwC,CAAC;AAE/E,OAAO,EACH,kBAAkB,EAClB,aAAa,EACb,sBAAsB,EACtB,2BAA2B,EAC3B,yBAAyB,EACzB,8BAA8B,EAC9B,sBAAsB,EACtB,iBAAiB,EACjB,aAAa,EACb,kBAAkB,EAClB,aAAa,EACb,cAAc,EACd,qBAAqB,EACrB,kBAAkB,GACrB,CAAC;AAEF,sBAAsB;AACtB,wBAAsB,WAAW,CAAC,eAAe,EAAE,iBAAiB,GAAG,SAAS,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,CA6CxG"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/lsp/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,KAAK,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/D,OAAO,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAErD,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AACzE,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAE,sBAAsB,EAAE,MAAM,yCAAyC,CAAC;AACjF,OAAO,EAAE,2BAA2B,EAAE,MAAM,8CAA8C,CAAC;AAC3F,OAAO,EAAE,yBAAyB,EAAE,MAAM,4CAA4C,CAAC;AACvF,OAAO,EAAE,sBAAsB,EAAE,MAAM,yCAAyC,CAAC;AACjF,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AACtE,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AACzE,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAChE,OAAO,EAAE,8BAA8B,EAAE,MAAM,yCAAyC,CAAC;AACzF,OAAO,EAAE,qBAAqB,EAAE,MAAM,wCAAwC,CAAC;AAE/E,OAAO,EACH,kBAAkB,EAClB,aAAa,EACb,sBAAsB,EACtB,2BAA2B,EAC3B,yBAAyB,EACzB,8BAA8B,EAC9B,sBAAsB,EACtB,iBAAiB,EACjB,aAAa,EACb,kBAAkB,EAClB,aAAa,EACb,cAAc,EACd,qBAAqB,EACrB,QAAQ,GACX,CAAC;AAEF,sBAAsB;AACtB,wBAAsB,WAAW,CAAC,eAAe,EAAE,iBAAiB,GAAG,SAAS,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,CA6CxG"}
package/dist/lsp/index.js CHANGED
@@ -745,11 +745,9 @@ var makeMarker = (model, diagnostic, severity) => {
745
745
  }
746
746
  return marker;
747
747
  };
748
- async function setMarkers(model, result) {
749
- const setModelMarkers = editor?.setModelMarkers;
750
- if (typeof setModelMarkers != "function") return;
748
+ async function makeModelMarkers(model, result) {
751
749
  const { version } = result;
752
- if (version !== model.getVersionId()) return;
750
+ if (version !== model.getVersionId()) return null;
753
751
  const errors = result.errors.map((d) => makeMarker(model, d, MarkerSeverity.Error));
754
752
  const warnings = result.warnings.map((d) => makeMarker(model, d, MarkerSeverity.Warning));
755
753
  const infos = result.infos.map((d) => makeMarker(model, d, MarkerSeverity.Info));
@@ -757,25 +755,27 @@ async function setMarkers(model, result) {
757
755
  const markers = [...errors, ...warnings, ...infos, ...hints];
758
756
  const { globals } = result.groupedTags(model);
759
757
  if (globals.length) {
760
- const context = await getContext(model);
758
+ const context = await Provider.getContext(model);
761
759
  for (const g of globals) {
762
760
  const { name } = g;
763
761
  if (context.has(name)) continue;
764
762
  const template = getDiagnosticMessage(DiagnosticCode3.GlobalVariableNotDeclared);
765
763
  if (!template) continue;
766
764
  const message = formatMessage(model, template, name);
767
- markers.push(
768
- makeMarkerData(
769
- model,
770
- g.references[0].range,
771
- DiagnosticCode3.GlobalVariableNotDeclared,
772
- message,
773
- MarkerSeverity.Warning
774
- )
775
- );
765
+ for (const ref of g.references) {
766
+ markers.push(
767
+ makeMarkerData(
768
+ model,
769
+ ref.range,
770
+ DiagnosticCode3.GlobalVariableNotDeclared,
771
+ message,
772
+ MarkerSeverity.Warning
773
+ )
774
+ );
775
+ }
776
776
  }
777
777
  }
778
- setModelMarkers(model, "mirascript", markers);
778
+ return markers;
779
779
  }
780
780
 
781
781
  // src/lsp/worker-helper.ts
@@ -863,7 +863,13 @@ async function compile(model) {
863
863
  const value = model.getValue();
864
864
  const req = [cacheKey, version, value, mode];
865
865
  const res = USE_WORKER ? compileWorker(req) : compileSync(req);
866
- void res.then(async (result) => setMarkers(model, result));
866
+ void res.then(async (result) => {
867
+ const setModelMarkers = editor?.setModelMarkers;
868
+ if (typeof setModelMarkers != "function") return;
869
+ const markers = await makeModelMarkers(model, result);
870
+ if (!markers) return;
871
+ setModelMarkers(model, "mirascript", markers);
872
+ });
867
873
  const item = {
868
874
  version,
869
875
  lastAccess: Date.now(),
@@ -881,10 +887,6 @@ async function compile(model) {
881
887
 
882
888
  // src/lsp/providers/base.ts
883
889
  var contextProvider;
884
- function setContextProvider(provider) {
885
- contextProvider = provider;
886
- cachedContext = null;
887
- }
888
890
  var DEFAULT_MONACO_CONTEXT = Object.freeze({
889
891
  get(key) {
890
892
  return DefaultVmContext.get(key);
@@ -957,37 +959,47 @@ async function getContextImpl(model, clearCache) {
957
959
  }
958
960
  }
959
961
  var cachedContext = null;
960
- async function getContext(model) {
961
- if (cachedContext?.[0] === model) {
962
- return cachedContext[1];
963
- }
964
- const clearCache = () => {
965
- if (cachedContext === cache2) {
966
- cachedContext = null;
967
- }
968
- };
969
- const context = getContextImpl(model, clearCache);
970
- const cache2 = [model, context];
971
- cachedContext = cache2;
972
- setTimeout(clearCache, 100);
973
- return context;
974
- }
975
- var Provider = class {
962
+ var Provider = class _Provider {
976
963
  constructor() {
977
964
  this.displayName = "MiraScript LSP";
978
965
  this._debugDisplayName = "MiraScript LSP";
979
966
  this._onDidChange = null;
980
967
  }
968
+ /** 设置全局变量提供者 */
969
+ static setContextProvider(provider) {
970
+ contextProvider = provider;
971
+ cachedContext = null;
972
+ }
981
973
  /** 获取编译结果 */
982
- async getCompileResult(model) {
974
+ static async getCompileResult(model) {
983
975
  if (model.uri.scheme === "mirascript") {
984
976
  return void 0;
985
977
  }
986
978
  return await compile(model);
987
979
  }
980
+ /** 获取编译结果 */
981
+ async getCompileResult(model) {
982
+ return _Provider.getCompileResult(model);
983
+ }
984
+ /** 获取执行上下文(全局变量) */
985
+ static async getContext(model) {
986
+ if (cachedContext?.[0] === model) {
987
+ return cachedContext[1];
988
+ }
989
+ const clearCache = () => {
990
+ if (cachedContext === cache2) {
991
+ cachedContext = null;
992
+ }
993
+ };
994
+ const context = getContextImpl(model, clearCache);
995
+ const cache2 = [model, context];
996
+ cachedContext = cache2;
997
+ setTimeout(clearCache, 100);
998
+ return context;
999
+ }
988
1000
  /** 获取执行上下文(全局变量) */
989
1001
  async getContext(model) {
990
- return getContext(model);
1002
+ return _Provider.getContext(model);
991
1003
  }
992
1004
  /** 获取当前位置的值 */
993
1005
  async getValueAt(model, position) {
@@ -1722,39 +1734,43 @@ var DocumentSymbolProvider = class extends Provider {
1722
1734
  };
1723
1735
 
1724
1736
  // src/lsp/providers/formatter-provider.ts
1737
+ async function format(model, ranges, options, hint, token) {
1738
+ if (hint !== "full") return [];
1739
+ const compiled = await Provider.getCompileResult(model);
1740
+ if (compiled?.result.formatted == null) return [];
1741
+ return [
1742
+ {
1743
+ range: model.getFullModelRange(),
1744
+ text: compiled.result.formatted
1745
+ }
1746
+ ];
1747
+ }
1725
1748
  var FormatterProvider = class extends Provider {
1726
1749
  constructor() {
1727
1750
  super(...arguments);
1728
1751
  /** @inheritdoc */
1729
1752
  this.autoFormatTriggerCharacters = [";", "}", "]", ")"];
1730
1753
  }
1731
- /** @inheritdoc */
1732
- async format(model, ranges, options, hint, token) {
1733
- if (hint !== "full") return [];
1734
- const compiled = await this.getCompileResult(model);
1735
- if (compiled?.result.formatted == null) return [];
1736
- return [
1737
- {
1738
- range: model.getFullModelRange(),
1739
- text: compiled.result.formatted
1740
- }
1741
- ];
1754
+ /** 进行完整格式化 */
1755
+ static async format(model, options) {
1756
+ const formatted = await format(model, [], options, "full", void 0);
1757
+ return formatted.length === 1 ? formatted[0].text : null;
1742
1758
  }
1743
1759
  /** @inheritdoc */
1744
1760
  provideDocumentFormattingEdits(model, options, token) {
1745
- return this.format(model, [], options, "full", token);
1761
+ return format(model, [], options, "full", token);
1746
1762
  }
1747
1763
  /** @inheritdoc */
1748
1764
  provideDocumentRangeFormattingEdits(model, range, options, token) {
1749
- return this.format(model, [range], options, "range", token);
1765
+ return format(model, [range], options, "range", token);
1750
1766
  }
1751
1767
  /** @inheritdoc */
1752
1768
  provideDocumentRangesFormattingEdits(model, ranges, options, token) {
1753
- return this.format(model, ranges, options, "range", token);
1769
+ return format(model, ranges, options, "range", token);
1754
1770
  }
1755
1771
  /** @inheritdoc */
1756
1772
  provideOnTypeFormattingEdits(model, position, ch, options, token) {
1757
- return this.format(
1773
+ return format(
1758
1774
  model,
1759
1775
  [Range.fromPositions(position, position)],
1760
1776
  options,
@@ -2387,7 +2403,7 @@ var SignatureHelpProvider = class extends Provider {
2387
2403
 
2388
2404
  // src/lsp/index.ts
2389
2405
  async function registerLSP(contextProvider2) {
2390
- setContextProvider(contextProvider2);
2406
+ Provider.setContextProvider(contextProvider2);
2391
2407
  const { loadModule } = await import("@mirascript/bindings/wasm");
2392
2408
  await loadModule();
2393
2409
  const codeActionProvider = new CodeActionProvider();
@@ -2435,10 +2451,10 @@ export {
2435
2451
  FormatterProvider,
2436
2452
  HoverProvider,
2437
2453
  InlayHintsProvider,
2454
+ Provider,
2438
2455
  RangeProvider,
2439
2456
  RenameProvider,
2440
2457
  SignatureHelpProvider,
2441
- registerLSP,
2442
- setContextProvider
2458
+ registerLSP
2443
2459
  };
2444
2460
  //# sourceMappingURL=index.js.map
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/lsp/providers/base.ts", "../../src/lsp/utils.ts", "../../src/lsp/compile-result.ts", "../../src/lsp/diagnostics.ts", "../../src/lsp/worker-helper.ts", "../../src/lsp/providers/code-action-provider.ts", "../../src/lsp/providers/color-provider.ts", "../../src/lsp/providers/completion-item-provider.ts", "../../src/lsp/providers/definition-reference-provider.ts", "../../src/lsp/providers/document-highlight-provider.ts", "../../src/lsp/providers/document-symbol-provider.ts", "../../src/lsp/providers/formatter-provider.ts", "../../src/lsp/providers/hover-provider.ts", "../../src/lsp/providers/inlay-hints-provider.ts", "../../src/lsp/providers/range-provider.ts", "../../src/lsp/providers/rename-provider.ts", "../../src/lsp/providers/semantic-tokens-provider.ts", "../../src/lsp/providers/signature-help-provider.ts", "../../src/lsp/index.ts"],
4
- "mappings": "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",
4
+ "mappings": "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",
5
5
  "names": ["value", "DiagnosticCode", "def", "DiagnosticCode", "DiagnosticCode", "range", "code", "cache", "DiagnosticCode", "getVmFunctionInfo", "isVmExtern", "isVmModule", "DiagnosticCode", "operations", "getVmFunctionInfo", "isVmModule", "isVmExtern", "DiagnosticCode", "operations", "globals", "suggestions", "DiagnosticCode", "DiagnosticCode", "kw", "DiagnosticCode", "DiagnosticCode", "DiagnosticCode", "DiagnosticCode", "DiagnosticCode", "DiagnosticCode", "DiagnosticCode", "isVmFunction", "isVmModule", "DiagnosticCode", "DiagnosticCode", "isVmFunction", "isVmModule", "DiagnosticCode", "getVmFunctionInfo", "DiagnosticCode", "contextProvider"]
6
6
  }
@@ -3,20 +3,22 @@ import { type IRange } from '@mirascript/mirascript/subtle';
3
3
  import type { VmContextProvider } from '../../index.js';
4
4
  import { type editor, type IEvent, type IPosition } from '../../monaco-api.js';
5
5
  import type { CompileResult, FieldsAccessAt, VariableAccessAt } from '../compile-result.js';
6
- /** 设置全局变量提供者 */
7
- export declare function setContextProvider(provider: VmContextProvider | undefined): void;
8
6
  /** 提供全局变量的执行上下文 */
9
7
  export type MonacoContext = Readonly<Required<Pick<VmContext, 'get' | 'describe' | 'keys' | 'has'>>> & {
10
8
  /** 获取指定 key 的值,找不到时返回 undefined */
11
9
  getOrUndefined(key: string): VmAny;
12
10
  };
13
- /** 获取执行上下文 */
14
- export declare function getContext(model: editor.ITextModel): Promise<MonacoContext>;
15
11
  /** 提供编辑器 LSP 支持 */
16
12
  export declare abstract class Provider {
13
+ /** 设置全局变量提供者 */
14
+ static setContextProvider(provider: VmContextProvider | undefined): void;
15
+ /** 获取编译结果 */
16
+ static getCompileResult(model: editor.ITextModel): Promise<CompileResult | undefined>;
17
17
  /** 获取编译结果 */
18
18
  getCompileResult(model: editor.ITextModel): Promise<CompileResult | undefined>;
19
19
  /** 获取执行上下文(全局变量) */
20
+ static getContext(model: editor.ITextModel): Promise<MonacoContext>;
21
+ /** 获取执行上下文(全局变量) */
20
22
  getContext(model: editor.ITextModel): Promise<MonacoContext>;
21
23
  /** 获取当前位置的值 */
22
24
  getValueAt(model: editor.ITextModel, position: IPosition): Promise<({
@@ -1 +1 @@
1
- {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../src/lsp/providers/base.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAoB,KAAK,MAAM,EAAE,MAAM,+BAA+B,CAAC;AAC9E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAE,KAAK,MAAM,EAAW,KAAK,MAAM,EAAE,KAAK,SAAS,EAAE,MAAM,qBAAqB,CAAC;AACxF,OAAO,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAK5F,gBAAgB;AAChB,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,iBAAiB,GAAG,SAAS,GAAG,IAAI,CAGhF;AAED,mBAAmB;AACnB,MAAM,MAAM,aAAa,GAAG,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,GAAG,UAAU,GAAG,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG;IACnG,mCAAmC;IACnC,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,KAAK,CAAC;CACtC,CAAC;AA4EF,cAAc;AACd,wBAAsB,UAAU,CAAC,KAAK,EAAE,MAAM,CAAC,UAAU,GAAG,OAAO,CAAC,aAAa,CAAC,CAcjF;AAED,mBAAmB;AACnB,8BAAsB,QAAQ;IAC1B,aAAa;IACP,gBAAgB,CAAC,KAAK,EAAE,MAAM,CAAC,UAAU,GAAG,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC;IAMpF,oBAAoB;IACd,UAAU,CAAC,KAAK,EAAE,MAAM,CAAC,UAAU,GAAG,OAAO,CAAC,aAAa,CAAC;IAGlE,eAAe;IACT,UAAU,CACZ,KAAK,EAAE,MAAM,CAAC,UAAU,EACxB,QAAQ,EAAE,SAAS,GACpB,OAAO,CAAC,CAAC;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,CAAC;QAAE,QAAQ,EAAE,gBAAgB,CAAA;KAAE,GAAG;QAAE,MAAM,EAAE,cAAc,CAAA;KAAE,CAAC,CAAC,GAAG,SAAS,CAAC;IAgB3G,QAAQ,CAAC,WAAW,oBAAoB;IACxC,QAAQ,CAAC,iBAAiB,oBAAoB;IAC9C,OAAO,CAAC,YAAY,CAA8B;IAClD,kBAAkB;IAClB,IAAI,WAAW,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAG7C;IACD,qBAAqB;IACrB,aAAa,IAAI,IAAI;CAGxB"}
1
+ {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../src/lsp/providers/base.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAoB,KAAK,MAAM,EAAE,MAAM,+BAA+B,CAAC;AAC9E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAE,KAAK,MAAM,EAAW,KAAK,MAAM,EAAE,KAAK,SAAS,EAAE,MAAM,qBAAqB,CAAC;AACxF,OAAO,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAK5F,mBAAmB;AACnB,MAAM,MAAM,aAAa,GAAG,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,GAAG,UAAU,GAAG,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG;IACnG,mCAAmC;IACnC,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,KAAK,CAAC;CACtC,CAAC;AA6EF,mBAAmB;AACnB,8BAAsB,QAAQ;IAC1B,gBAAgB;IAChB,MAAM,CAAC,kBAAkB,CAAC,QAAQ,EAAE,iBAAiB,GAAG,SAAS,GAAG,IAAI;IAIxE,aAAa;WACA,gBAAgB,CAAC,KAAK,EAAE,MAAM,CAAC,UAAU,GAAG,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC;IAM3F,aAAa;IACP,gBAAgB,CAAC,KAAK,EAAE,MAAM,CAAC,UAAU,GAAG,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC;IAGpF,oBAAoB;WACP,UAAU,CAAC,KAAK,EAAE,MAAM,CAAC,UAAU,GAAG,OAAO,CAAC,aAAa,CAAC;IAezE,oBAAoB;IACd,UAAU,CAAC,KAAK,EAAE,MAAM,CAAC,UAAU,GAAG,OAAO,CAAC,aAAa,CAAC;IAGlE,eAAe;IACT,UAAU,CACZ,KAAK,EAAE,MAAM,CAAC,UAAU,EACxB,QAAQ,EAAE,SAAS,GACpB,OAAO,CAAC,CAAC;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,CAAC;QAAE,QAAQ,EAAE,gBAAgB,CAAA;KAAE,GAAG;QAAE,MAAM,EAAE,cAAc,CAAA;KAAE,CAAC,CAAC,GAAG,SAAS,CAAC;IAgB3G,QAAQ,CAAC,WAAW,oBAAoB;IACxC,QAAQ,CAAC,iBAAiB,oBAAoB;IAC9C,OAAO,CAAC,YAAY,CAA8B;IAClD,kBAAkB;IAClB,IAAI,WAAW,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAG7C;IACD,qBAAqB;IACrB,aAAa,IAAI,IAAI;CAGxB"}
@@ -2,8 +2,8 @@ import { type languages, type editor, Range, type CancellationToken, type Positi
2
2
  import { Provider } from './base.js';
3
3
  /** 格式化 */
4
4
  export declare class FormatterProvider extends Provider implements languages.DocumentFormattingEditProvider, languages.DocumentRangeFormattingEditProvider, languages.OnTypeFormattingEditProvider {
5
- /** @inheritdoc */
6
- private format;
5
+ /** 进行完整格式化 */
6
+ static format(model: editor.ITextModel, options?: languages.FormattingOptions): Promise<string | null>;
7
7
  /** @inheritdoc */
8
8
  provideDocumentFormattingEdits(model: editor.ITextModel, options: languages.FormattingOptions, token: CancellationToken): languages.ProviderResult<languages.TextEdit[]>;
9
9
  /** @inheritdoc */
@@ -1 +1 @@
1
- {"version":3,"file":"formatter-provider.d.ts","sourceRoot":"","sources":["../../../src/lsp/providers/formatter-provider.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,KAAK,SAAS,EACd,KAAK,MAAM,EAEX,KAAK,EACL,KAAK,iBAAiB,EACtB,KAAK,QAAQ,EAChB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAErC,UAAU;AACV,qBAAa,iBACT,SAAQ,QACR,YACI,SAAS,CAAC,8BAA8B,EACxC,SAAS,CAAC,mCAAmC,EAC7C,SAAS,CAAC,4BAA4B;IAE1C,kBAAkB;YACJ,MAAM;IAiBpB,kBAAkB;IAClB,8BAA8B,CAC1B,KAAK,EAAE,MAAM,CAAC,UAAU,EACxB,OAAO,EAAE,SAAS,CAAC,iBAAiB,EACpC,KAAK,EAAE,iBAAiB,GACzB,SAAS,CAAC,cAAc,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC;IAGjD,kBAAkB;IAClB,mCAAmC,CAC/B,KAAK,EAAE,MAAM,CAAC,UAAU,EACxB,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,SAAS,CAAC,iBAAiB,EACpC,KAAK,EAAE,iBAAiB,GACzB,SAAS,CAAC,cAAc,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC;IAGjD,kBAAkB;IAClB,oCAAoC,CAChC,KAAK,EAAE,MAAM,CAAC,UAAU,EACxB,MAAM,EAAE,KAAK,EAAE,EACf,OAAO,EAAE,SAAS,CAAC,iBAAiB,EACpC,KAAK,EAAE,iBAAiB,GACzB,SAAS,CAAC,cAAc,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC;IAGjD,kBAAkB;IAClB,QAAQ,CAAC,2BAA2B,WAAwB;IAC5D,kBAAkB;IAClB,4BAA4B,CACxB,KAAK,EAAE,MAAM,CAAC,UAAU,EACxB,QAAQ,EAAE,QAAQ,EAClB,EAAE,EAAE,MAAM,EACV,OAAO,EAAE,SAAS,CAAC,iBAAiB,EACpC,KAAK,EAAE,iBAAiB,GACzB,SAAS,CAAC,cAAc,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC;CASpD"}
1
+ {"version":3,"file":"formatter-provider.d.ts","sourceRoot":"","sources":["../../../src/lsp/providers/formatter-provider.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,KAAK,SAAS,EACd,KAAK,MAAM,EAEX,KAAK,EACL,KAAK,iBAAiB,EACtB,KAAK,QAAQ,EAChB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAqBrC,UAAU;AACV,qBAAa,iBACT,SAAQ,QACR,YACI,SAAS,CAAC,8BAA8B,EACxC,SAAS,CAAC,mCAAmC,EAC7C,SAAS,CAAC,4BAA4B;IAE1C,cAAc;WACD,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,UAAU,EAAE,OAAO,CAAC,EAAE,SAAS,CAAC,iBAAiB,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAI5G,kBAAkB;IAClB,8BAA8B,CAC1B,KAAK,EAAE,MAAM,CAAC,UAAU,EACxB,OAAO,EAAE,SAAS,CAAC,iBAAiB,EACpC,KAAK,EAAE,iBAAiB,GACzB,SAAS,CAAC,cAAc,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC;IAGjD,kBAAkB;IAClB,mCAAmC,CAC/B,KAAK,EAAE,MAAM,CAAC,UAAU,EACxB,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,SAAS,CAAC,iBAAiB,EACpC,KAAK,EAAE,iBAAiB,GACzB,SAAS,CAAC,cAAc,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC;IAGjD,kBAAkB;IAClB,oCAAoC,CAChC,KAAK,EAAE,MAAM,CAAC,UAAU,EACxB,MAAM,EAAE,KAAK,EAAE,EACf,OAAO,EAAE,SAAS,CAAC,iBAAiB,EACpC,KAAK,EAAE,iBAAiB,GACzB,SAAS,CAAC,cAAc,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC;IAGjD,kBAAkB;IAClB,QAAQ,CAAC,2BAA2B,WAAwB;IAC5D,kBAAkB;IAClB,4BAA4B,CACxB,KAAK,EAAE,MAAM,CAAC,UAAU,EACxB,QAAQ,EAAE,QAAQ,EAClB,EAAE,EAAE,MAAM,EACV,OAAO,EAAE,SAAS,CAAC,iBAAiB,EACpC,KAAK,EAAE,iBAAiB,GACzB,SAAS,CAAC,cAAc,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC;CASpD"}
@@ -1,5 +1,5 @@
1
- import type { editor } from '../monaco-api.js';
1
+ import { editor } from '../monaco-api.js';
2
2
  import { CompileResult } from './compile-result.js';
3
- /** 注册 worker */
3
+ /** 编译并设置缓存 */
4
4
  export declare function compile(model: editor.ITextModel): Promise<CompileResult>;
5
5
  //# sourceMappingURL=worker-helper.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"worker-helper.d.ts","sourceRoot":"","sources":["../../src/lsp/worker-helper.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAE/C,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAyFpD,gBAAgB;AAChB,wBAAsB,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,UAAU,GAAG,OAAO,CAAC,aAAa,CAAC,CA4B9E"}
1
+ {"version":3,"file":"worker-helper.d.ts","sourceRoot":"","sources":["../../src/lsp/worker-helper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAE1C,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAyFpD,cAAc;AACd,wBAAsB,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,UAAU,GAAG,OAAO,CAAC,aAAa,CAAC,CAkC9E"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mirascript/monaco",
3
- "version": "0.1.17",
3
+ "version": "0.1.18",
4
4
  "author": "CloudPSS",
5
5
  "license": "MIT",
6
6
  "description": "Monaco Editor integration for Mirascript.",
@@ -28,8 +28,8 @@
28
28
  }
29
29
  },
30
30
  "dependencies": {
31
- "@mirascript/mirascript": "~0.1.17",
32
- "@mirascript/bindings": "~0.1.17"
31
+ "@mirascript/mirascript": "~0.1.18",
32
+ "@mirascript/bindings": "~0.1.18"
33
33
  },
34
34
  "peerDependencies": {
35
35
  "monaco-editor": ">= 0.0.40 < 0.55.0"
@@ -67,13 +67,9 @@ export type LocalDefinitionType = (typeof LocalDefinitionType)[number];
67
67
  export const LocalDefinitionType = [...LocalVariableType, ...LocalFunctionType, ...ParameterDefinitionType] as const;
68
68
 
69
69
  /** 源代码定义信息 */
70
- export interface LocalDefinition<T extends LocalDefinitionType = LocalDefinitionType>
71
- extends SourceDefinitionBase<
72
- | DiagnosticCode.ReadLocal
73
- | DiagnosticCode.WriteLocal
74
- | DiagnosticCode.ReadWriteLocal
75
- | DiagnosticCode.RedeclareLocal
76
- > {
70
+ export interface LocalDefinition<T extends LocalDefinitionType = LocalDefinitionType> extends SourceDefinitionBase<
71
+ DiagnosticCode.ReadLocal | DiagnosticCode.WriteLocal | DiagnosticCode.ReadWriteLocal | DiagnosticCode.RedeclareLocal
72
+ > {
77
73
  /** 符号定义 */
78
74
  readonly definition: SourceDiagnostic<T>;
79
75
  /** 定义的函数,仅对 LocalFunction 有效 */
@@ -1,7 +1,7 @@
1
1
  import { DiagnosticCode, getDiagnosticMessage } from '@mirascript/mirascript/subtle';
2
- import { editor, MarkerSeverity, MarkerTag, Uri, type IRange } from '../monaco-api.js';
2
+ import { type editor, MarkerSeverity, MarkerTag, Uri, type IRange } from '../monaco-api.js';
3
3
  import type { CompileResult, SourceDiagnostic } from './compile-result.js';
4
- import { getContext } from './providers/base.js';
4
+ import { Provider } from './providers/base.js';
5
5
 
6
6
  const formatMessage = (model: editor.ITextModel, template: string, $0?: string | IRange): string => {
7
7
  if (template.includes(`$0`)) {
@@ -90,12 +90,12 @@ const makeMarker = (
90
90
  };
91
91
 
92
92
  /** 设置标记 */
93
- export async function setMarkers(model: editor.ITextModel, result: CompileResult): Promise<void> {
94
- const setModelMarkers = editor?.setModelMarkers;
95
- if (typeof setModelMarkers != 'function') return;
96
-
93
+ export async function makeModelMarkers(
94
+ model: editor.ITextModel,
95
+ result: CompileResult,
96
+ ): Promise<editor.IMarkerData[] | null> {
97
97
  const { version } = result;
98
- if (version !== model.getVersionId()) return;
98
+ if (version !== model.getVersionId()) return null;
99
99
 
100
100
  const errors = result.errors.map((d) => makeMarker(model, d, MarkerSeverity.Error));
101
101
  const warnings = result.warnings.map((d) => makeMarker(model, d, MarkerSeverity.Warning));
@@ -104,23 +104,25 @@ export async function setMarkers(model: editor.ITextModel, result: CompileResult
104
104
  const markers = [...errors, ...warnings, ...infos, ...hints];
105
105
  const { globals } = result.groupedTags(model);
106
106
  if (globals.length) {
107
- const context = await getContext(model);
107
+ const context = await Provider.getContext(model);
108
108
  for (const g of globals) {
109
109
  const { name } = g;
110
110
  if (context.has(name)) continue;
111
111
  const template = getDiagnosticMessage(DiagnosticCode.GlobalVariableNotDeclared);
112
112
  if (!template) continue;
113
113
  const message = formatMessage(model, template, name);
114
- markers.push(
115
- makeMarkerData(
116
- model,
117
- g.references[0]!.range,
118
- DiagnosticCode.GlobalVariableNotDeclared,
119
- message,
120
- MarkerSeverity.Warning,
121
- ),
122
- );
114
+ for (const ref of g.references) {
115
+ markers.push(
116
+ makeMarkerData(
117
+ model,
118
+ ref.range,
119
+ DiagnosticCode.GlobalVariableNotDeclared,
120
+ message,
121
+ MarkerSeverity.Warning,
122
+ ),
123
+ );
124
+ }
123
125
  }
124
126
  }
125
- setModelMarkers(model, 'mirascript', markers);
127
+ return markers;
126
128
  }
package/src/lsp/index.ts CHANGED
@@ -2,12 +2,11 @@ import { languages, type IDisposable } from '../monaco-api.js';
2
2
  import '../basic/index.js';
3
3
  import type { VmContextProvider } from '../index.js';
4
4
 
5
- import { setContextProvider } from './providers/base.js';
5
+ import { Provider } from './providers/base.js';
6
6
  import { CodeActionProvider } from './providers/code-action-provider.js';
7
7
  import { ColorProvider } from './providers/color-provider.js';
8
8
  import { CompletionItemProvider } from './providers/completion-item-provider.js';
9
9
  import { DefinitionReferenceProvider } from './providers/definition-reference-provider.js';
10
- import {} from './diagnostics.js';
11
10
  import { DocumentHighlightProvider } from './providers/document-highlight-provider.js';
12
11
  import { DocumentSymbolProvider } from './providers/document-symbol-provider.js';
13
12
  import { FormatterProvider } from './providers/formatter-provider.js';
@@ -32,12 +31,12 @@ export {
32
31
  RangeProvider,
33
32
  RenameProvider,
34
33
  SignatureHelpProvider,
35
- setContextProvider,
34
+ Provider,
36
35
  };
37
36
 
38
37
  /** 注册 LSP 相关的编辑器功能 */
39
38
  export async function registerLSP(contextProvider: VmContextProvider | undefined): Promise<IDisposable[]> {
40
- setContextProvider(contextProvider);
39
+ Provider.setContextProvider(contextProvider);
41
40
  const { loadModule } = await import('@mirascript/bindings/wasm');
42
41
  await loadModule();
43
42
 
@@ -7,12 +7,6 @@ import { compile } from '../worker-helper.js';
7
7
  import { wordAt } from '../utils.js';
8
8
 
9
9
  let contextProvider: VmContextProvider | undefined;
10
- /** 设置全局变量提供者 */
11
- export function setContextProvider(provider: VmContextProvider | undefined): void {
12
- contextProvider = provider;
13
- cachedContext = null;
14
- }
15
-
16
10
  /** 提供全局变量的执行上下文 */
17
11
  export type MonacoContext = Readonly<Required<Pick<VmContext, 'get' | 'describe' | 'keys' | 'has'>>> & {
18
12
  /** 获取指定 key 的值,找不到时返回 undefined */
@@ -93,35 +87,44 @@ async function getContextImpl(model: editor.ITextModel, clearCache: () => void):
93
87
  }
94
88
  }
95
89
  let cachedContext: readonly [editor.ITextModel, Promise<MonacoContext>] | null = null;
96
- /** 获取执行上下文 */
97
- export async function getContext(model: editor.ITextModel): Promise<MonacoContext> {
98
- if (cachedContext?.[0] === model) {
99
- return cachedContext[1];
100
- }
101
- const clearCache = () => {
102
- if (cachedContext === cache) {
103
- cachedContext = null;
104
- }
105
- };
106
- const context = getContextImpl(model, clearCache);
107
- const cache = [model, context] as const;
108
- cachedContext = cache;
109
- setTimeout(clearCache, 100);
110
- return context;
111
- }
112
90
 
113
91
  /** 提供编辑器 LSP 支持 */
114
92
  export abstract class Provider {
93
+ /** 设置全局变量提供者 */
94
+ static setContextProvider(provider: VmContextProvider | undefined): void {
95
+ contextProvider = provider;
96
+ cachedContext = null;
97
+ }
115
98
  /** 获取编译结果 */
116
- async getCompileResult(model: editor.ITextModel): Promise<CompileResult | undefined> {
99
+ static async getCompileResult(model: editor.ITextModel): Promise<CompileResult | undefined> {
117
100
  if (model.uri.scheme === 'mirascript') {
118
101
  return undefined; // 不处理标准库
119
102
  }
120
103
  return await compile(model);
121
104
  }
105
+ /** 获取编译结果 */
106
+ async getCompileResult(model: editor.ITextModel): Promise<CompileResult | undefined> {
107
+ return Provider.getCompileResult(model);
108
+ }
109
+ /** 获取执行上下文(全局变量) */
110
+ static async getContext(model: editor.ITextModel): Promise<MonacoContext> {
111
+ if (cachedContext?.[0] === model) {
112
+ return cachedContext[1];
113
+ }
114
+ const clearCache = () => {
115
+ if (cachedContext === cache) {
116
+ cachedContext = null;
117
+ }
118
+ };
119
+ const context = getContextImpl(model, clearCache);
120
+ const cache = [model, context] as const;
121
+ cachedContext = cache;
122
+ setTimeout(clearCache, 100);
123
+ return context;
124
+ }
122
125
  /** 获取执行上下文(全局变量) */
123
126
  async getContext(model: editor.ITextModel): Promise<MonacoContext> {
124
- return getContext(model);
127
+ return Provider.getContext(model);
125
128
  }
126
129
  /** 获取当前位置的值 */
127
130
  async getValueAt(
@@ -8,6 +8,25 @@ import {
8
8
  } from '../../monaco-api.js';
9
9
  import { Provider } from './base.js';
10
10
 
11
+ /** 进行格式化 */
12
+ async function format(
13
+ model: editor.ITextModel,
14
+ ranges: readonly IRange[],
15
+ options: languages.FormattingOptions | undefined,
16
+ hint: 'full' | 'range' | 'expression' | 'statement',
17
+ token: CancellationToken | undefined,
18
+ ): Promise<languages.TextEdit[]> {
19
+ if (hint !== 'full') return [];
20
+ const compiled = await Provider.getCompileResult(model);
21
+ if (compiled?.result.formatted == null) return [];
22
+ return [
23
+ {
24
+ range: model.getFullModelRange(),
25
+ text: compiled.result.formatted,
26
+ },
27
+ ];
28
+ }
29
+
11
30
  /** 格式化 */
12
31
  export class FormatterProvider
13
32
  extends Provider
@@ -16,23 +35,10 @@ export class FormatterProvider
16
35
  languages.DocumentRangeFormattingEditProvider,
17
36
  languages.OnTypeFormattingEditProvider
18
37
  {
19
- /** @inheritdoc */
20
- private async format(
21
- model: editor.ITextModel,
22
- ranges: readonly IRange[],
23
- options: languages.FormattingOptions,
24
- hint: 'full' | 'range' | 'expression' | 'statement',
25
- token: CancellationToken,
26
- ): Promise<languages.TextEdit[]> {
27
- if (hint !== 'full') return [];
28
- const compiled = await this.getCompileResult(model);
29
- if (compiled?.result.formatted == null) return [];
30
- return [
31
- {
32
- range: model.getFullModelRange(),
33
- text: compiled.result.formatted,
34
- },
35
- ];
38
+ /** 进行完整格式化 */
39
+ static async format(model: editor.ITextModel, options?: languages.FormattingOptions): Promise<string | null> {
40
+ const formatted = await format(model, [], options, 'full', undefined);
41
+ return formatted.length === 1 ? formatted[0]!.text : null;
36
42
  }
37
43
  /** @inheritdoc */
38
44
  provideDocumentFormattingEdits(
@@ -40,7 +46,7 @@ export class FormatterProvider
40
46
  options: languages.FormattingOptions,
41
47
  token: CancellationToken,
42
48
  ): languages.ProviderResult<languages.TextEdit[]> {
43
- return this.format(model, [], options, 'full', token);
49
+ return format(model, [], options, 'full', token);
44
50
  }
45
51
  /** @inheritdoc */
46
52
  provideDocumentRangeFormattingEdits(
@@ -49,7 +55,7 @@ export class FormatterProvider
49
55
  options: languages.FormattingOptions,
50
56
  token: CancellationToken,
51
57
  ): languages.ProviderResult<languages.TextEdit[]> {
52
- return this.format(model, [range], options, 'range', token);
58
+ return format(model, [range], options, 'range', token);
53
59
  }
54
60
  /** @inheritdoc */
55
61
  provideDocumentRangesFormattingEdits(
@@ -58,7 +64,7 @@ export class FormatterProvider
58
64
  options: languages.FormattingOptions,
59
65
  token: CancellationToken,
60
66
  ): languages.ProviderResult<languages.TextEdit[]> {
61
- return this.format(model, ranges, options, 'range', token);
67
+ return format(model, ranges, options, 'range', token);
62
68
  }
63
69
  /** @inheritdoc */
64
70
  readonly autoFormatTriggerCharacters = [';', '}', ']', ')'];
@@ -70,7 +76,7 @@ export class FormatterProvider
70
76
  options: languages.FormattingOptions,
71
77
  token: CancellationToken,
72
78
  ): languages.ProviderResult<languages.TextEdit[]> {
73
- return this.format(
79
+ return format(
74
80
  model,
75
81
  [Range.fromPositions(position, position)],
76
82
  options,
@@ -1,7 +1,7 @@
1
- import type { editor } from '../monaco-api.js';
1
+ import { editor } from '../monaco-api.js';
2
2
  import type { Ready, CacheKey, Req, Res, ResOk } from './worker.js';
3
3
  import { CompileResult } from './compile-result.js';
4
- import { setMarkers } from './diagnostics.js';
4
+ import { makeModelMarkers } from './diagnostics.js';
5
5
 
6
6
  /** 缓存 */
7
7
  type CacheValue = {
@@ -89,7 +89,7 @@ async function compileSync(req: Req): Promise<CompileResult> {
89
89
  }
90
90
 
91
91
  const USE_WORKER = typeof Worker === 'function';
92
- /** 注册 worker */
92
+ /** 编译并设置缓存 */
93
93
  export async function compile(model: editor.ITextModel): Promise<CompileResult> {
94
94
  const uri = model.uri.toString();
95
95
  const version = model.getVersionId();
@@ -104,7 +104,13 @@ export async function compile(model: editor.ITextModel): Promise<CompileResult>
104
104
  const value = model.getValue();
105
105
  const req: Req = [cacheKey, version, value, mode];
106
106
  const res = USE_WORKER ? compileWorker(req) : compileSync(req);
107
- void res.then(async (result) => setMarkers(model, result));
107
+ void res.then(async (result) => {
108
+ const setModelMarkers = editor?.setModelMarkers;
109
+ if (typeof setModelMarkers != 'function') return;
110
+ const markers = await makeModelMarkers(model, result);
111
+ if (!markers) return;
112
+ setModelMarkers(model, 'mirascript', markers);
113
+ });
108
114
  const item: CacheValue = {
109
115
  version,
110
116
  lastAccess: Date.now(),