@mirascript/monaco 0.1.45 → 0.1.47

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/lsp/index.js CHANGED
@@ -1063,12 +1063,11 @@ async function compileSync(req) {
1063
1063
  }
1064
1064
  var USE_WORKER = typeof Worker === "function";
1065
1065
  async function compile(model) {
1066
- const uri = model.uri.toString();
1067
1066
  const version = model.getVersionId();
1068
1067
  const mode = model.getLanguageId() === "mirascript-template" ? "Template" : "Script";
1069
- const cacheKey = `${model.id}\0${uri}\0${mode}`;
1068
+ const cacheKey = model.id;
1070
1069
  const cached = cache.get(cacheKey);
1071
- if (cached?.version === version) {
1070
+ if (cached?.version === version && cached.mode === mode) {
1072
1071
  cached.lastAccess = Date.now();
1073
1072
  return cached.result;
1074
1073
  }
@@ -1086,6 +1085,7 @@ async function compile(model) {
1086
1085
  const item = {
1087
1086
  version,
1088
1087
  lastAccess: Date.now(),
1088
+ mode,
1089
1089
  result: res
1090
1090
  };
1091
1091
  cache.set(cacheKey, item);
@@ -1979,12 +1979,18 @@ ${def.doc.join("\n")}`
1979
1979
 
1980
1980
  // src/lsp/providers/definition-reference-provider.ts
1981
1981
  var DefinitionReferenceProvider = class extends Provider {
1982
+ constructor() {
1983
+ super(...arguments);
1984
+ /** 创建全局模型 */
1985
+ this.createGlobalModel = (uri) => editor.createModel(``, "mirascript-doc", Uri.parse(uri));
1986
+ }
1987
+ #globalModel;
1982
1988
  /** 全局模型 */
1983
- get globalModel() {
1984
- if (!this._globalModel || this._globalModel.isDisposed()) {
1985
- this._globalModel = editor.createModel(``, "mirascript-doc", Uri.parse("mirascript:///lib/global.mira"));
1989
+ async getGlobalModel() {
1990
+ if (!this.#globalModel || this.#globalModel.isDisposed()) {
1991
+ this.#globalModel = await this.createGlobalModel("mirascript:///lib/global.mira") ?? void 0;
1986
1992
  }
1987
- return this._globalModel;
1993
+ return this.#globalModel;
1988
1994
  }
1989
1995
  /** 准备要显示的定义 */
1990
1996
  async prepareGlobal(model, path) {
@@ -1994,7 +2000,8 @@ var DefinitionReferenceProvider = class extends Provider {
1994
2000
  if (value === void 0) return void 0;
1995
2001
  const { script, doc } = valueDoc(path.at(-1), value, "declare", parent);
1996
2002
  const code = [...docComment(doc), script, ""];
1997
- const { globalModel } = this;
2003
+ const globalModel = await this.getGlobalModel();
2004
+ if (!globalModel) return void 0;
1998
2005
  globalModel.setValue(code.join("\n"));
1999
2006
  return {
2000
2007
  uri: globalModel.uri,
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/lsp/providers/base.ts", "../../src/lsp/monaco-utils.ts", "../../src/lsp/compile-result.ts", "../../src/lsp/diagnostics.ts", "../../src/lsp/utils.ts", "../../src/lsp/worker-helper.ts", "../../src/lsp/providers/code-action-provider.ts", "../../src/lsp/providers/code-lens-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/monaco-private.js", "../../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": ["def", "DiagnosticCode", "DiagnosticCode", "DiagnosticCode", "DiagnosticCode", "range", "code", "cache", "DiagnosticCode", "edits", "DiagnosticCode", "tag", "DiagnosticCode", "DiagnosticCode", "DiagnosticCode", "getVmFunctionInfo", "isVmExtern", "isVmModule", "isVmWrapper", "serialize", "DiagnosticCode", "getVmFunctionInfo", "isVmModule", "isVmExtern", "serialize", "DiagnosticCode", "isVmWrapper", "globals", "suggestions", "DiagnosticCode", "DiagnosticCode", "kw", "DiagnosticCode", "DiagnosticCode", "DiagnosticCode", "HELP_KEYWORDS", "tryGetTokenProp", "DiagnosticCode", "HELP_KEYWORDS", "DiagnosticCode", "DiagnosticCode", "DiagnosticCode", "isVmFunction", "isVmModule", "DiagnosticCode", "DiagnosticCode", "isVmFunction", "isVmModule", "DiagnosticCode", "getVmFunctionInfo", "DiagnosticCode", "getVmFunctionInfo", "contextProvider"]
6
6
  }
@@ -4,9 +4,11 @@ import { Provider } from './base.js';
4
4
  * 转到定义/引用
5
5
  */
6
6
  export declare class DefinitionReferenceProvider extends Provider implements languages.DefinitionProvider, languages.ReferenceProvider {
7
- private _globalModel?;
7
+ #private;
8
8
  /** 全局模型 */
9
- protected get globalModel(): editor.ITextModel;
9
+ protected getGlobalModel(): Promise<editor.ITextModel | undefined>;
10
+ /** 创建全局模型 */
11
+ createGlobalModel: (uri: string) => languages.ProviderResult<editor.ITextModel>;
10
12
  /** 准备要显示的定义 */
11
13
  private prepareGlobal;
12
14
  /** @inheritdoc */
@@ -1 +1 @@
1
- {"version":3,"file":"definition-reference-provider.d.ts","sourceRoot":"","sources":["../../../src/lsp/providers/definition-reference-provider.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,MAAM,EAEN,KAAK,SAAS,EACd,KAAK,iBAAiB,EAEtB,KAAK,QAAQ,EAEhB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAGrC;;GAEG;AACH,qBAAa,2BACT,SAAQ,QACR,YAAW,SAAS,CAAC,kBAAkB,EAAE,SAAS,CAAC,iBAAiB;IAEpE,OAAO,CAAC,YAAY,CAAC,CAAoB;IACzC,WAAW;IACX,SAAS,KAAK,WAAW,IAAI,MAAM,CAAC,UAAU,CAK7C;IACD,eAAe;YACD,aAAa;IAsB3B,kBAAkB;IACZ,iBAAiB,CACnB,KAAK,EAAE,MAAM,CAAC,UAAU,EACxB,QAAQ,EAAE,QAAQ,EAClB,KAAK,EAAE,iBAAiB,GACzB,OAAO,CAAC,SAAS,CAAC,YAAY,EAAE,GAAG,SAAS,CAAC;IA4BhD,kBAAkB;IACZ,iBAAiB,CACnB,KAAK,EAAE,MAAM,CAAC,UAAU,EACxB,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,SAAS,CAAC,gBAAgB,EACnC,KAAK,EAAE,iBAAiB,GACzB,OAAO,CAAC,SAAS,CAAC,QAAQ,EAAE,GAAG,SAAS,CAAC;CAqB/C"}
1
+ {"version":3,"file":"definition-reference-provider.d.ts","sourceRoot":"","sources":["../../../src/lsp/providers/definition-reference-provider.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,MAAM,EAEN,KAAK,SAAS,EACd,KAAK,iBAAiB,EAEtB,KAAK,QAAQ,EAEhB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAGrC;;GAEG;AACH,qBAAa,2BACT,SAAQ,QACR,YAAW,SAAS,CAAC,kBAAkB,EAAE,SAAS,CAAC,iBAAiB;;IAGpE,WAAW;cACK,cAAc,IAAI,OAAO,CAAC,MAAM,CAAC,UAAU,GAAG,SAAS,CAAC;IAMxE,aAAa;IACb,iBAAiB,GAAI,KAAK,MAAM,KAAG,SAAS,CAAC,cAAc,CAAC,MAAM,CAAC,UAAU,CAAC,CACjB;IAC7D,eAAe;YACD,aAAa;IAuB3B,kBAAkB;IACZ,iBAAiB,CACnB,KAAK,EAAE,MAAM,CAAC,UAAU,EACxB,QAAQ,EAAE,QAAQ,EAClB,KAAK,EAAE,iBAAiB,GACzB,OAAO,CAAC,SAAS,CAAC,YAAY,EAAE,GAAG,SAAS,CAAC;IA4BhD,kBAAkB;IACZ,iBAAiB,CACnB,KAAK,EAAE,MAAM,CAAC,UAAU,EACxB,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,SAAS,CAAC,gBAAgB,EACnC,KAAK,EAAE,iBAAiB,GACzB,OAAO,CAAC,SAAS,CAAC,QAAQ,EAAE,GAAG,SAAS,CAAC;CAqB/C"}
@@ -1 +1 @@
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,CAmC9E"}
1
+ {"version":3,"file":"worker-helper.d.ts","sourceRoot":"","sources":["../../src/lsp/worker-helper.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAE1C,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AA0FpD,cAAc;AACd,wBAAsB,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,UAAU,GAAG,OAAO,CAAC,aAAa,CAAC,CAmC9E"}
@@ -1,12 +1,13 @@
1
1
  import type { InputMode } from '@mirascript/mirascript';
2
2
  import type { BcModule } from '@mirascript/bindings/wasm';
3
+ import type { Tagged } from 'type-fest';
3
4
  /** Monaco 编译结果 */
4
5
  export interface MonacoResult extends BcModule.CompileResult {
5
6
  /** 格式化结果 */
6
7
  formatted?: string;
7
8
  }
8
- /** 缓存 Key (id, uri, inputMode) */
9
- export type CacheKey = `${string}\0${string}\0${InputMode}`;
9
+ /** 缓存 Key (model id) */
10
+ export type CacheKey = Tagged<string, 'modelId'>;
10
11
  /** 请求参数 */
11
12
  export type Req = [key: CacheKey, version: number, script: string, mode: InputMode];
12
13
  /** 编译结果 */
@@ -1 +1 @@
1
- {"version":3,"file":"worker.d.ts","sourceRoot":"","sources":["../../src/lsp/worker.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAM1D,kBAAkB;AAClB,MAAM,WAAW,YAAa,SAAQ,QAAQ,CAAC,aAAa;IACxD,YAAY;IACZ,SAAS,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,kCAAkC;AAClC,MAAM,MAAM,QAAQ,GAAG,GAAG,MAAM,KAAK,MAAM,KAAK,SAAS,EAAE,CAAC;AAC5D,WAAW;AACX,MAAM,MAAM,GAAG,GAAG,CAAC,GAAG,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC;AACpF,WAAW;AACX,MAAM,MAAM,KAAK,GAAG,CAAC,GAAG,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC;AAC3E,WAAW;AACX,MAAM,MAAM,MAAM,GAAG,CAAC,GAAG,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;AACpE,WAAW;AACX,MAAM,MAAM,GAAG,GAAG,KAAK,GAAG,MAAM,CAAC;AACjC,YAAY;AACZ,MAAM,MAAM,KAAK,GAAG,sBAAsB,CAAC;AAiB3C,SAAS;AACT,wBAAgB,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,GAAG,YAAY,CAwBrE"}
1
+ {"version":3,"file":"worker.d.ts","sourceRoot":"","sources":["../../src/lsp/worker.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAMxC,kBAAkB;AAClB,MAAM,WAAW,YAAa,SAAQ,QAAQ,CAAC,aAAa;IACxD,YAAY;IACZ,SAAS,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,wBAAwB;AACxB,MAAM,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;AACjD,WAAW;AACX,MAAM,MAAM,GAAG,GAAG,CAAC,GAAG,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC;AACpF,WAAW;AACX,MAAM,MAAM,KAAK,GAAG,CAAC,GAAG,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC;AAC3E,WAAW;AACX,MAAM,MAAM,MAAM,GAAG,CAAC,GAAG,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;AACpE,WAAW;AACX,MAAM,MAAM,GAAG,GAAG,KAAK,GAAG,MAAM,CAAC;AACjC,YAAY;AACZ,MAAM,MAAM,KAAK,GAAG,sBAAsB,CAAC;AAiB3C,SAAS;AACT,wBAAgB,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,GAAG,YAAY,CAwBrE"}
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/lsp/worker.ts"],
4
- "mappings": ";AAGA,IAAM,EAAE,WAAW,IAAI,MAAM,OAAO,2BAA2B;AAC/D,IAAM,MAAM,MAAM,WAAW;AAC7B,IAAM,EAAE,MAAM,aAAa,IAAI;AAqB/B,IAAM,iBAAiB,aAAa;AAAA,EAChC,8BAA8B;AAAA,EAC9B,gBAAgB;AAAA,EAChB,sBAAsB;AAAA,EACtB,QAAQ;AAAA,EACR,YAAY;AAChB,CAAC;AACD,IAAM,eAAe,aAAa;AAAA,EAC9B,8BAA8B;AAAA,EAC9B,gBAAgB;AAAA,EAChB,sBAAsB;AAAA,EACtB,QAAQ;AAAA,EACR,YAAY;AAChB,CAAC;AAGM,SAAS,QAAQ,QAAgB,MAA+B;AACnE,QAAM,SAAS,SAAS,WAAW,eAAe;AAClD,QAAM,WAAW,IAAI,KAAK,eAAe,QAAQ,MAAM;AACvD,MAAI;AACA,UAAM,UAAU,SAAS,MAAM;AAC/B,QAAI,CAAC,SAAS;AACV,aAAO,EAAE,aAAa,SAAS,YAAY,GAAG,OAAO,OAAU;AAAA,IACnE;AACA,UAAM,QAAQ,SAAS,KAAK;AAC5B,UAAM,YAAY,SAAS,OAAO;AAClC,WAAO;AAAA,MACH,aAAa,SAAS,YAAY;AAAA,MAClC;AAAA,MACA;AAAA,IACJ;AAAA,EACJ,UAAE;AACE,QAAI;AACA,eAAS,KAAK;AAAA,IAClB,SAAS,IAAI;AAGT,cAAQ,MAAM,EAAE;AAAA,IACpB;AAAA,EACJ;AACJ;AAEA,IAAI,OAAO,UAAU,cAAc,OAAO,oBAAoB,cAAc,OAAO,eAAe,YAAY;AAC1G,mBAAiB,WAAW,CAAC,UAAwB;AACjD,UAAM,OAAO,MAAM;AACnB,QAAI,CAAC,MAAM,QAAQ,IAAI,EAAG;AAC1B,UAAM,CAAC,KAAK,SAAS,QAAQ,IAAI,IAAI;AACrC,QAAI;AACA,YAAM,SAAS,QAAQ,QAAQ,IAAI;AACnC,YAAM,WAAW,CAAC;AAClB,UAAI,OAAO,MAAO,UAAS,KAAK,OAAO,MAAM,MAAM;AACnD,UAAI,OAAO,YAAa,UAAS,KAAK,OAAO,YAAY,MAAM;AAC/D,kBAAY,CAAC,KAAK,SAAS,MAAM,GAAmB,EAAE,SAAS,CAAC;AAAA,IACpE,SAAS,OAAO;AACZ,YAAM,IAAI,iBAAiB,QAAQ,QAAQ,IAAI,MAAM,OAAO,KAAK,CAAC;AAClE,kBAAY,CAAC,KAAK,SAAS,CAAC,CAAkB;AAAA,IAClD;AAAA,EACJ,CAAC;AACD,cAAY,sBAAsC;AACtD;",
4
+ "mappings": ";AAIA,IAAM,EAAE,WAAW,IAAI,MAAM,OAAO,2BAA2B;AAC/D,IAAM,MAAM,MAAM,WAAW;AAC7B,IAAM,EAAE,MAAM,aAAa,IAAI;AAqB/B,IAAM,iBAAiB,aAAa;AAAA,EAChC,8BAA8B;AAAA,EAC9B,gBAAgB;AAAA,EAChB,sBAAsB;AAAA,EACtB,QAAQ;AAAA,EACR,YAAY;AAChB,CAAC;AACD,IAAM,eAAe,aAAa;AAAA,EAC9B,8BAA8B;AAAA,EAC9B,gBAAgB;AAAA,EAChB,sBAAsB;AAAA,EACtB,QAAQ;AAAA,EACR,YAAY;AAChB,CAAC;AAGM,SAAS,QAAQ,QAAgB,MAA+B;AACnE,QAAM,SAAS,SAAS,WAAW,eAAe;AAClD,QAAM,WAAW,IAAI,KAAK,eAAe,QAAQ,MAAM;AACvD,MAAI;AACA,UAAM,UAAU,SAAS,MAAM;AAC/B,QAAI,CAAC,SAAS;AACV,aAAO,EAAE,aAAa,SAAS,YAAY,GAAG,OAAO,OAAU;AAAA,IACnE;AACA,UAAM,QAAQ,SAAS,KAAK;AAC5B,UAAM,YAAY,SAAS,OAAO;AAClC,WAAO;AAAA,MACH,aAAa,SAAS,YAAY;AAAA,MAClC;AAAA,MACA;AAAA,IACJ;AAAA,EACJ,UAAE;AACE,QAAI;AACA,eAAS,KAAK;AAAA,IAClB,SAAS,IAAI;AAGT,cAAQ,MAAM,EAAE;AAAA,IACpB;AAAA,EACJ;AACJ;AAEA,IAAI,OAAO,UAAU,cAAc,OAAO,oBAAoB,cAAc,OAAO,eAAe,YAAY;AAC1G,mBAAiB,WAAW,CAAC,UAAwB;AACjD,UAAM,OAAO,MAAM;AACnB,QAAI,CAAC,MAAM,QAAQ,IAAI,EAAG;AAC1B,UAAM,CAAC,KAAK,SAAS,QAAQ,IAAI,IAAI;AACrC,QAAI;AACA,YAAM,SAAS,QAAQ,QAAQ,IAAI;AACnC,YAAM,WAAW,CAAC;AAClB,UAAI,OAAO,MAAO,UAAS,KAAK,OAAO,MAAM,MAAM;AACnD,UAAI,OAAO,YAAa,UAAS,KAAK,OAAO,YAAY,MAAM;AAC/D,kBAAY,CAAC,KAAK,SAAS,MAAM,GAAmB,EAAE,SAAS,CAAC;AAAA,IACpE,SAAS,OAAO;AACZ,YAAM,IAAI,iBAAiB,QAAQ,QAAQ,IAAI,MAAM,OAAO,KAAK,CAAC;AAClE,kBAAY,CAAC,KAAK,SAAS,CAAC,CAAkB;AAAA,IAClD;AAAA,EACJ,CAAC;AACD,cAAY,sBAAsC;AACtD;",
5
5
  "names": []
6
6
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mirascript/monaco",
3
- "version": "0.1.45",
3
+ "version": "0.1.47",
4
4
  "author": "CloudPSS",
5
5
  "license": "MIT",
6
6
  "description": "Monaco Editor integration for Mirascript.",
@@ -28,14 +28,19 @@
28
28
  }
29
29
  },
30
30
  "dependencies": {
31
- "@mirascript/bindings": "~0.1.45",
32
- "@mirascript/constants": "~0.1.45",
33
- "@mirascript/help": "~0.1.45",
34
- "@mirascript/mirascript": "~0.1.45"
31
+ "@mirascript/bindings": "~0.1.47",
32
+ "@mirascript/constants": "~0.1.47",
33
+ "@mirascript/help": "~0.1.47",
34
+ "@mirascript/mirascript": "~0.1.47"
35
35
  },
36
36
  "peerDependencies": {
37
37
  "monaco-editor": ">= 0.0.40"
38
38
  },
39
+ "peerDependenciesMeta": {
40
+ "monaco-editor": {
41
+ "optional": true
42
+ }
43
+ },
39
44
  "devDependencies": {
40
45
  "type-fest": "^5.4.4"
41
46
  },
@@ -17,14 +17,17 @@ export class DefinitionReferenceProvider
17
17
  extends Provider
18
18
  implements languages.DefinitionProvider, languages.ReferenceProvider
19
19
  {
20
- private _globalModel?: editor.ITextModel;
20
+ #globalModel?: editor.ITextModel;
21
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'));
22
+ protected async getGlobalModel(): Promise<editor.ITextModel | undefined> {
23
+ if (!this.#globalModel || this.#globalModel.isDisposed()) {
24
+ this.#globalModel = (await this.createGlobalModel('mirascript:///lib/global.mira')) ?? undefined;
25
25
  }
26
- return this._globalModel;
26
+ return this.#globalModel;
27
27
  }
28
+ /** 创建全局模型 */
29
+ createGlobalModel = (uri: string): languages.ProviderResult<editor.ITextModel> =>
30
+ editor.createModel(``, 'mirascript-doc', Uri.parse(uri));
28
31
  /** 准备要显示的定义 */
29
32
  private async prepareGlobal(
30
33
  model: editor.ITextModel,
@@ -36,7 +39,8 @@ export class DefinitionReferenceProvider
36
39
  if (value === undefined) return undefined;
37
40
  const { script, doc } = valueDoc(path.at(-1)!, value, 'declare', parent);
38
41
  const code = [...docComment(doc), script, ''];
39
- const { globalModel } = this;
42
+ const globalModel = await this.getGlobalModel();
43
+ if (!globalModel) return undefined;
40
44
  globalModel.setValue(code.join('\n'));
41
45
  return {
42
46
  uri: globalModel.uri,
@@ -1,3 +1,4 @@
1
+ import type { InputMode } from '@mirascript/constants';
1
2
  import { editor } from '../monaco-api.js';
2
3
  import type { Ready, CacheKey, Req, Res, ResOk } from './worker.js';
3
4
  import { CompileResult } from './compile-result.js';
@@ -7,6 +8,7 @@ import { makeModelMarkers } from './diagnostics.js';
7
8
  type CacheValue = {
8
9
  readonly version: number;
9
10
  readonly result: Promise<CompileResult>;
11
+ readonly mode: InputMode;
10
12
  lastAccess: number;
11
13
  };
12
14
  /** 编译结果缓存,避免重复编译 */
@@ -91,12 +93,11 @@ async function compileSync(req: Req): Promise<CompileResult> {
91
93
  const USE_WORKER = typeof Worker === 'function';
92
94
  /** 编译并设置缓存 */
93
95
  export async function compile(model: editor.ITextModel): Promise<CompileResult> {
94
- const uri = model.uri.toString();
95
96
  const version = model.getVersionId();
96
97
  const mode = model.getLanguageId() === 'mirascript-template' ? 'Template' : 'Script';
97
- const cacheKey = `${model.id}\0${uri}\0${mode}` as const;
98
+ const cacheKey = model.id as CacheKey;
98
99
  const cached = cache.get(cacheKey);
99
- if (cached?.version === version) {
100
+ if (cached?.version === version && cached.mode === mode) {
100
101
  cached.lastAccess = Date.now();
101
102
  return cached.result;
102
103
  }
@@ -115,6 +116,7 @@ export async function compile(model: editor.ITextModel): Promise<CompileResult>
115
116
  const item: CacheValue = {
116
117
  version,
117
118
  lastAccess: Date.now(),
119
+ mode,
118
120
  result: res,
119
121
  };
120
122
  cache.set(cacheKey, item);
package/src/lsp/worker.ts CHANGED
@@ -1,5 +1,6 @@
1
1
  import type { InputMode } from '@mirascript/mirascript';
2
2
  import type { BcModule } from '@mirascript/bindings/wasm';
3
+ import type { Tagged } from 'type-fest';
3
4
 
4
5
  const { loadModule } = await import('@mirascript/bindings/wasm');
5
6
  const mod = await loadModule();
@@ -11,8 +12,8 @@ export interface MonacoResult extends BcModule.CompileResult {
11
12
  formatted?: string;
12
13
  }
13
14
 
14
- /** 缓存 Key (id, uri, inputMode) */
15
- export type CacheKey = `${string}\0${string}\0${InputMode}`;
15
+ /** 缓存 Key (model id) */
16
+ export type CacheKey = Tagged<string, 'modelId'>;
16
17
  /** 请求参数 */
17
18
  export type Req = [key: CacheKey, version: number, script: string, mode: InputMode];
18
19
  /** 编译结果 */