@mirascript/monaco 0.1.40 → 0.1.41

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,7 +1,7 @@
1
1
  import {
2
2
  configuration,
3
3
  registerBasic
4
- } from "../chunk-SFU27XXU.js";
4
+ } from "../chunk-KZW3KCZF.js";
5
5
  import "../chunk-B45DYEY5.js";
6
6
  export {
7
7
  configuration,
@@ -531,6 +531,10 @@ async function registerBasic() {
531
531
  }
532
532
 
533
533
  export {
534
+ REG_BIN,
535
+ REG_HEX,
536
+ REG_OCT,
537
+ REG_NUMBER,
534
538
  REG_IDENTIFIER_FULL,
535
539
  REG_ORDINAL_FULL,
536
540
  isKeyword,
@@ -539,4 +543,4 @@ export {
539
543
  configuration,
540
544
  registerBasic
541
545
  };
542
- //# sourceMappingURL=chunk-SFU27XXU.js.map
546
+ //# sourceMappingURL=chunk-KZW3KCZF.js.map
package/dist/lsp/index.js CHANGED
@@ -1,10 +1,14 @@
1
1
  import {
2
2
  KEYWORDS,
3
+ REG_BIN,
4
+ REG_HEX,
3
5
  REG_IDENTIFIER_FULL,
6
+ REG_NUMBER,
7
+ REG_OCT,
4
8
  REG_ORDINAL_FULL,
5
9
  RESERVED_KEYWORDS,
6
10
  isKeyword
7
- } from "../chunk-SFU27XXU.js";
11
+ } from "../chunk-KZW3KCZF.js";
8
12
  import {
9
13
  Emitter,
10
14
  MarkerSeverity,
@@ -29,6 +33,16 @@ function wordAt(model, position) {
29
33
  const range = new Range(position.lineNumber, word.startColumn, position.lineNumber, word.endColumn);
30
34
  return { word: word.word, range };
31
35
  }
36
+ function rangeAt(...args) {
37
+ if (args.length === 1 || args[1] == null) {
38
+ const { lineNumber, startColumn, endColumn } = args[0];
39
+ return new Range(lineNumber, startColumn, lineNumber, endColumn);
40
+ } else {
41
+ const { lineNumber } = args[0];
42
+ const { startColumn, endColumn } = args[1];
43
+ return new Range(lineNumber, startColumn, lineNumber, endColumn);
44
+ }
45
+ }
32
46
 
33
47
  // src/lsp/compile-result.ts
34
48
  import {
@@ -516,6 +530,72 @@ ${value}
516
530
  ${CODEBLOCK_FENCE}
517
531
  `;
518
532
  }
533
+ function serializeIntegerImpl(num, base, prefix, sep) {
534
+ let str = Math.abs(num).toString(base);
535
+ if (base > 10) str = str.toUpperCase();
536
+ const sepSize = Math.abs(sep);
537
+ if (sep !== 0 && str.length > sepSize) {
538
+ const seg = [];
539
+ if (sep > 0) {
540
+ while (str.length > sepSize) {
541
+ seg.unshift(str.slice(-sepSize));
542
+ str = str.slice(0, -sepSize);
543
+ }
544
+ if (str.length > 0) {
545
+ seg.unshift(str);
546
+ }
547
+ } else {
548
+ while (str.length > sepSize) {
549
+ seg.push(str.slice(0, sepSize));
550
+ str = str.slice(sepSize);
551
+ }
552
+ if (str.length > 0) {
553
+ seg.push(str);
554
+ }
555
+ }
556
+ str = seg.join("_");
557
+ }
558
+ return (num < 0 ? "-" : "") + prefix + str;
559
+ }
560
+ function serializeInteger(num, base, sep = true) {
561
+ const prefix = base === 2 ? "0b" : base === 8 ? "0o" : "0x";
562
+ const sepSize = sep ? base === 2 ? 8 : base === 8 ? 6 : 4 : 0;
563
+ return serializeIntegerImpl(num, base, prefix, sepSize);
564
+ }
565
+ function serializeNumber(num) {
566
+ if (!Number.isFinite(num)) {
567
+ return serialize(num);
568
+ }
569
+ const str = String(num);
570
+ const dot = str.indexOf(".");
571
+ const exp = str.indexOf("e");
572
+ let intPart;
573
+ let fracPart;
574
+ let expPart;
575
+ if (dot >= 0) {
576
+ intPart = str.slice(0, dot);
577
+ if (exp >= 0) {
578
+ fracPart = str.slice(dot + 1, exp);
579
+ expPart = str.slice(exp);
580
+ } else {
581
+ fracPart = str.slice(dot + 1);
582
+ expPart = "";
583
+ }
584
+ } else {
585
+ if (exp >= 0) {
586
+ intPart = str.slice(0, exp);
587
+ fracPart = "";
588
+ expPart = str.slice(exp);
589
+ } else {
590
+ intPart = str;
591
+ fracPart = "";
592
+ expPart = "";
593
+ }
594
+ }
595
+ if (intPart.length > 5) intPart = serializeIntegerImpl(Number(intPart), 10, "", 3);
596
+ if (fracPart.length > 5) fracPart = serializeIntegerImpl(Number(fracPart), 10, "", -3);
597
+ return intPart + (fracPart ? "." + fracPart : "") + expPart;
598
+ }
519
599
  function serializeForDisplayInner(value, maxWidth) {
520
600
  if (maxWidth < 10) maxWidth = 10;
521
601
  if (typeof value === "string") {
@@ -524,6 +604,9 @@ function serializeForDisplayInner(value, maxWidth) {
524
604
  }
525
605
  return `${serializeString(value.slice(0, maxWidth))}..`;
526
606
  }
607
+ if (typeof value === "number") {
608
+ return serializeNumber(value);
609
+ }
527
610
  if (isVmPrimitive(value)) {
528
611
  return serialize(value);
529
612
  }
@@ -2068,6 +2151,8 @@ var FormatterProvider = class extends Provider {
2068
2151
 
2069
2152
  // src/lsp/providers/hover-provider.ts
2070
2153
  import { DiagnosticCode as DiagnosticCode9 } from "@mirascript/constants";
2154
+ import { convert } from "@mirascript/mirascript/subtle";
2155
+ import { KEYWORDS as HELP_KEYWORDS2, OPERATORS as HELP_OPERATORS } from "@mirascript/help";
2071
2156
 
2072
2157
  // src/lsp/monaco-private.js
2073
2158
  function fromStandardTokenType(tokenType) {
@@ -2107,8 +2192,14 @@ function tokenAt(model, position) {
2107
2192
  }
2108
2193
 
2109
2194
  // src/lsp/providers/hover-provider.ts
2110
- import { KEYWORDS as HELP_KEYWORDS2, OPERATORS as HELP_OPERATORS } from "@mirascript/help";
2111
2195
  var OPERATOR_TOKENS_DESC = Object.keys(HELP_OPERATORS).sort((a, b) => b.length - a.length);
2196
+ var REG_NUMBER_ALL_FULL = new RegExp(
2197
+ `^(?:${REG_BIN.source}|${REG_OCT.source}|${REG_HEX.source}|${REG_NUMBER.source})$`,
2198
+ REG_NUMBER.flags
2199
+ );
2200
+ var BIN_MAX = 2 ** 32 - 1;
2201
+ var OCT_MAX = 8 ** 18 - 1;
2202
+ var HEX_MAX = 16 ** 16 - 1;
2112
2203
  function operatorAt(lineContent, column) {
2113
2204
  const index = Math.max(0, column - 1);
2114
2205
  for (const token of OPERATOR_TOKENS_DESC) {
@@ -2244,29 +2335,52 @@ var HoverProvider = class extends Provider {
2244
2335
  if (token?.type && token.type !== "other") {
2245
2336
  return void 0;
2246
2337
  }
2247
- if (token?.text && (token.text in HELP_KEYWORDS2 || token.text in HELP_OPERATORS)) {
2248
- const doc = HELP_KEYWORDS2[token.text] ?? HELP_OPERATORS[token.text];
2249
- return {
2250
- contents: [{ value: doc }],
2251
- range: {
2252
- startLineNumber: position.lineNumber,
2253
- endLineNumber: position.lineNumber,
2254
- startColumn: token.startColumn,
2255
- endColumn: token.endColumn
2338
+ if (token?.text) {
2339
+ if (token.text in HELP_KEYWORDS2) {
2340
+ const doc = HELP_KEYWORDS2[token.text];
2341
+ return {
2342
+ contents: [{ value: doc }],
2343
+ range: rangeAt(position, token)
2344
+ };
2345
+ }
2346
+ if (token.text in HELP_OPERATORS) {
2347
+ const doc = HELP_OPERATORS[token.text];
2348
+ return {
2349
+ contents: [{ value: doc }],
2350
+ range: rangeAt(position, token)
2351
+ };
2352
+ }
2353
+ if (REG_NUMBER_ALL_FULL.test(token.text)) {
2354
+ const num = convert.toNumber(token.text.replaceAll("_", ""), null);
2355
+ if (num == null) return void 0;
2356
+ const contents = [
2357
+ { value: `数字字面量` },
2358
+ { value: codeblock("val: " + serializeNumber(num)) }
2359
+ ];
2360
+ if (Number.isInteger(num)) {
2361
+ const abs = Math.abs(num);
2362
+ if (abs <= BIN_MAX) {
2363
+ contents.push({ value: codeblock("bin: " + serializeInteger(num, 2)) });
2364
+ }
2365
+ if (abs <= OCT_MAX) {
2366
+ contents.push({ value: codeblock("oct: " + serializeInteger(num, 8)) });
2367
+ }
2368
+ if (abs <= HEX_MAX) {
2369
+ contents.push({ value: codeblock("hex: " + serializeInteger(num, 16)) });
2370
+ }
2256
2371
  }
2257
- };
2372
+ return {
2373
+ contents,
2374
+ range: rangeAt(position, token)
2375
+ };
2376
+ }
2258
2377
  }
2259
2378
  const word = model.getWordAtPosition(position);
2260
2379
  if (word?.word && word.word in HELP_KEYWORDS2) {
2261
2380
  const doc = HELP_KEYWORDS2[word.word];
2262
2381
  return {
2263
2382
  contents: [{ value: doc }],
2264
- range: {
2265
- startLineNumber: position.lineNumber,
2266
- endLineNumber: position.lineNumber,
2267
- startColumn: word.startColumn,
2268
- endColumn: word.endColumn
2269
- }
2383
+ range: rangeAt(position, word)
2270
2384
  };
2271
2385
  }
2272
2386
  const lineContent = model.getLineContent(position.lineNumber);
@@ -2275,12 +2389,7 @@ var HoverProvider = class extends Provider {
2275
2389
  const doc = HELP_OPERATORS[hit.token];
2276
2390
  return {
2277
2391
  contents: [{ value: doc }],
2278
- range: {
2279
- startLineNumber: position.lineNumber,
2280
- endLineNumber: position.lineNumber,
2281
- startColumn: hit.range.startColumn,
2282
- endColumn: hit.range.endColumn
2283
- }
2392
+ range: rangeAt(position, hit.range)
2284
2393
  };
2285
2394
  }
2286
2395
  return void 0;
@@ -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/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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",
5
- "names": ["def", "DiagnosticCode", "DiagnosticCode", "DiagnosticCode", "DiagnosticCode", "range", "code", "cache", "DiagnosticCode", "edits", "DiagnosticCode", "tag", "DiagnosticCode", "getVmFunctionInfo", "isVmExtern", "isVmModule", "isVmWrapper", "serialize", "DiagnosticCode", "getVmFunctionInfo", "isVmModule", "isVmExtern", "serialize", "DiagnosticCode", "isVmWrapper", "globals", "suggestions", "DiagnosticCode", "DiagnosticCode", "kw", "DiagnosticCode", "DiagnosticCode", "DiagnosticCode", "tryGetTokenProp", "HELP_KEYWORDS", "DiagnosticCode", "DiagnosticCode", "DiagnosticCode", "DiagnosticCode", "isVmFunction", "isVmModule", "DiagnosticCode", "DiagnosticCode", "isVmFunction", "isVmModule", "DiagnosticCode", "getVmFunctionInfo", "DiagnosticCode", "getVmFunctionInfo", "contextProvider"]
4
+ "mappings": "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",
5
+ "names": ["def", "DiagnosticCode", "DiagnosticCode", "DiagnosticCode", "DiagnosticCode", "range", "code", "cache", "DiagnosticCode", "edits", "DiagnosticCode", "tag", "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
  }
@@ -6,4 +6,15 @@ export declare function wordAt(model: editor.ITextModel, position: IPosition): {
6
6
  word: string;
7
7
  range: Range;
8
8
  } | undefined;
9
+ /** 生成范围 */
10
+ export declare function rangeAt(...args: [lineAndColumn: {
11
+ lineNumber: number;
12
+ startColumn: number;
13
+ endColumn: number;
14
+ }, empty?: null | undefined] | [line: {
15
+ lineNumber: number;
16
+ }, column: {
17
+ startColumn: number;
18
+ endColumn: number;
19
+ }]): Range;
9
20
  //# sourceMappingURL=monaco-utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"monaco-utils.d.ts","sourceRoot":"","sources":["../../src/lsp/monaco-utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,MAAM,EAAE,KAAK,EAAE,KAAK,SAAS,EAAE,KAAK,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAEnF,uBAAuB;AACvB,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,GAAG,OAAO,CAElF;AAED,WAAW;AACX,wBAAgB,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,UAAU,EAAE,QAAQ,EAAE,SAAS,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,KAAK,CAAA;CAAE,GAAG,SAAS,CAKhH"}
1
+ {"version":3,"file":"monaco-utils.d.ts","sourceRoot":"","sources":["../../src/lsp/monaco-utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,MAAM,EAAE,KAAK,EAAE,KAAK,SAAS,EAAE,KAAK,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAEnF,uBAAuB;AACvB,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,GAAG,OAAO,CAElF;AAED,WAAW;AACX,wBAAgB,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,UAAU,EAAE,QAAQ,EAAE,SAAS,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,KAAK,CAAA;CAAE,GAAG,SAAS,CAKhH;AAED,WAAW;AACX,wBAAgB,OAAO,CACnB,GAAG,IAAI,EACD,CAAC,aAAa,EAAE;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,EAAE,KAAK,CAAC,EAAE,IAAI,GAAG,SAAS,CAAC,GACzG,CAAC,IAAI,EAAE;IAAE,UAAU,EAAE,MAAM,CAAA;CAAE,EAAE,MAAM,EAAE;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CAAC,GACzF,KAAK,CASP"}
@@ -1 +1 @@
1
- {"version":3,"file":"hover-provider.d.ts","sourceRoot":"","sources":["../../../src/lsp/providers/hover-provider.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,iBAAiB,EAA2B,SAAS,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AACnH,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAkCrC,kBAAkB;AAClB,qBAAa,aAAc,SAAQ,QAAS,YAAW,SAAS,CAAC,aAAa;IAC1E,WAAW;YACG,oBAAoB;IA6FlC,WAAW;YACG,iBAAiB;IAoB/B,aAAa;IACb,OAAO,CAAC,kBAAkB;IAqD1B,kBAAkB;IACZ,YAAY,CACd,KAAK,EAAE,MAAM,CAAC,UAAU,EACxB,QAAQ,EAAE,QAAQ,EAClB,KAAK,EAAE,iBAAiB,EACxB,OAAO,CAAC,EAAE,SAAS,CAAC,YAAY,CAAC,SAAS,CAAC,KAAK,CAAC,GAClD,OAAO,CAAC,SAAS,CAAC,KAAK,GAAG,SAAS,CAAC;CAU1C"}
1
+ {"version":3,"file":"hover-provider.d.ts","sourceRoot":"","sources":["../../../src/lsp/providers/hover-provider.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,MAAM,EAAE,iBAAiB,EAA2B,SAAS,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAKnH,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAqCrC,kBAAkB;AAClB,qBAAa,aAAc,SAAQ,QAAS,YAAW,SAAS,CAAC,aAAa;IAC1E,WAAW;YACG,oBAAoB;IA6FlC,WAAW;YACG,iBAAiB;IAoB/B,aAAa;IACb,OAAO,CAAC,kBAAkB;IAuE1B,kBAAkB;IACZ,YAAY,CACd,KAAK,EAAE,MAAM,CAAC,UAAU,EACxB,QAAQ,EAAE,QAAQ,EAClB,KAAK,EAAE,iBAAiB,EACxB,OAAO,CAAC,EAAE,SAAS,CAAC,YAAY,CAAC,SAAS,CAAC,KAAK,CAAC,GAClD,OAAO,CAAC,SAAS,CAAC,KAAK,GAAG,SAAS,CAAC;CAU1C"}
@@ -19,6 +19,10 @@ export declare function paramsList(model: editor.ITextModel, info: VmFunctionInf
19
19
  export declare function globalFnDoc(info: VmFunctionInfo): string[];
20
20
  /** 获取代码块格式化字符串 */
21
21
  export declare function codeblock(value: string): string;
22
+ /** 格式化数字 */
23
+ export declare function serializeInteger(num: number, base: 2 | 8 | 16, sep?: boolean): string;
24
+ /** 格式化数字 */
25
+ export declare function serializeNumber(num: number): string;
22
26
  /** 生成 doc comment */
23
27
  export declare function docComment(doc: string[]): string[];
24
28
  /** 获取变量文档 */
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/lsp/utils.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,MAAM,EAAS,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAUH,KAAK,KAAK,EACV,KAAK,QAAQ,EACb,KAAK,cAAc,EAEnB,KAAK,QAAQ,EAChB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAIzD,WAAW;AACX,MAAM,MAAM,cAAc,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;AAmBtE,aAAa;AACb,wBAAgB,WAAW,CACvB,EAAE,EAAE,MAAM,GAAG,SAAS,EACtB,IAAI,EAAE,cAAc,GACrB;IACC,MAAM,EAAE,cAAc,EAAE,CAAC;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,kBAAkB;IAClB,QAAQ,IAAI,MAAM,CAAC;CACtB,CAqBA;AACD,aAAa;AACb,wBAAgB,mBAAmB,CAC/B,KAAK,EAAE,MAAM,CAAC,UAAU,EACxB,IAAI,EAAE,WAAW,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,GACzC,cAAc,EAAE,CAyBlB;AAED,eAAe;AACf,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,CAAC,UAAU,EAAE,IAAI,EAAE,cAAc,GAAG,eAAe,CAAC,IAAI,CAAC,GAAG,SAAS,GAAG,MAAM,CAWrH;AAED,aAAa;AACb,wBAAgB,WAAW,CAAC,IAAI,EAAE,cAAc,GAAG,MAAM,EAAE,CA0B1D;AAED,kBAAkB;AAClB,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAK/C;AAwHD,qBAAqB;AACrB,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAMlD;AAED,aAAa;AACb,wBAAgB,QAAQ,CACpB,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,KAAK,EACZ,IAAI,EAAE,OAAO,GAAG,SAAS,GAAG,MAAM,EAClC,MAAM,EAAE,QAAQ,GAAG,QAAQ,GAAG,aAAa,GAAG,IAAI,GACnD;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,EAAE,CAAA;CAAE,CA8DnC;AAED,aAAa;AACb,wBAAgB,OAAO,CACnB,OAAO,EAAE,aAAa,EACtB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,SAAS,MAAM,EAAE,GACxB,CAAC,MAAM,EAAE,QAAQ,GAAG,QAAQ,GAAG,aAAa,GAAG,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,CAcpE;AAED,WAAW;AACX,wBAAgB,QAAQ,CAAC,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,KAAK,CAYhE;AAED,WAAW;AACX,wBAAgB,UAAU,CAAC,GAAG,EAAE,KAAK,EAAE,oBAAoB,EAAE,OAAO,GAAG,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,CAU5F;AAED,YAAY;AACZ,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,aAAa,EAAE,IAAI,EAAE,MAAM,GAAG,cAAc,CAAC,YAAY,CAAC,CAoBrG"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/lsp/utils.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,MAAM,EAAS,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAUH,KAAK,KAAK,EACV,KAAK,QAAQ,EACb,KAAK,cAAc,EAEnB,KAAK,QAAQ,EAChB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAIzD,WAAW;AACX,MAAM,MAAM,cAAc,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;AAmBtE,aAAa;AACb,wBAAgB,WAAW,CACvB,EAAE,EAAE,MAAM,GAAG,SAAS,EACtB,IAAI,EAAE,cAAc,GACrB;IACC,MAAM,EAAE,cAAc,EAAE,CAAC;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,kBAAkB;IAClB,QAAQ,IAAI,MAAM,CAAC;CACtB,CAqBA;AACD,aAAa;AACb,wBAAgB,mBAAmB,CAC/B,KAAK,EAAE,MAAM,CAAC,UAAU,EACxB,IAAI,EAAE,WAAW,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,GACzC,cAAc,EAAE,CAyBlB;AAED,eAAe;AACf,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,CAAC,UAAU,EAAE,IAAI,EAAE,cAAc,GAAG,eAAe,CAAC,IAAI,CAAC,GAAG,SAAS,GAAG,MAAM,CAWrH;AAED,aAAa;AACb,wBAAgB,WAAW,CAAC,IAAI,EAAE,cAAc,GAAG,MAAM,EAAE,CA0B1D;AAED,kBAAkB;AAClB,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAK/C;AA+BD,YAAY;AACZ,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,GAAG,UAAO,GAAG,MAAM,CAIlF;AAED,YAAY;AACZ,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAiCnD;AA2HD,qBAAqB;AACrB,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAMlD;AAED,aAAa;AACb,wBAAgB,QAAQ,CACpB,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,KAAK,EACZ,IAAI,EAAE,OAAO,GAAG,SAAS,GAAG,MAAM,EAClC,MAAM,EAAE,QAAQ,GAAG,QAAQ,GAAG,aAAa,GAAG,IAAI,GACnD;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,EAAE,CAAA;CAAE,CA8DnC;AAED,aAAa;AACb,wBAAgB,OAAO,CACnB,OAAO,EAAE,aAAa,EACtB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,SAAS,MAAM,EAAE,GACxB,CAAC,MAAM,EAAE,QAAQ,GAAG,QAAQ,GAAG,aAAa,GAAG,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,CAcpE;AAED,WAAW;AACX,wBAAgB,QAAQ,CAAC,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,KAAK,CAYhE;AAED,WAAW;AACX,wBAAgB,UAAU,CAAC,GAAG,EAAE,KAAK,EAAE,oBAAoB,EAAE,OAAO,GAAG,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,CAU5F;AAED,YAAY;AACZ,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,aAAa,EAAE,IAAI,EAAE,MAAM,GAAG,cAAc,CAAC,YAAY,CAAC,CAoBrG"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mirascript/monaco",
3
- "version": "0.1.40",
3
+ "version": "0.1.41",
4
4
  "author": "CloudPSS",
5
5
  "license": "MIT",
6
6
  "description": "Monaco Editor integration for Mirascript.",
@@ -28,16 +28,16 @@
28
28
  }
29
29
  },
30
30
  "dependencies": {
31
- "@mirascript/bindings": "~0.1.40",
32
- "@mirascript/constants": "~0.1.40",
33
- "@mirascript/help": "~0.1.40",
34
- "@mirascript/mirascript": "~0.1.40"
31
+ "@mirascript/bindings": "~0.1.41",
32
+ "@mirascript/constants": "~0.1.41",
33
+ "@mirascript/help": "~0.1.41",
34
+ "@mirascript/mirascript": "~0.1.41"
35
35
  },
36
36
  "peerDependencies": {
37
37
  "monaco-editor": ">= 0.0.40"
38
38
  },
39
39
  "devDependencies": {
40
- "type-fest": "^5.4.1"
40
+ "type-fest": "^5.4.2"
41
41
  },
42
42
  "scripts": {
43
43
  "build": "pnpm clean && tsc && node ./esbuild.config.js",
@@ -12,3 +12,19 @@ export function wordAt(model: editor.ITextModel, position: IPosition): { word: s
12
12
  const range = new Range(position.lineNumber, word.startColumn, position.lineNumber, word.endColumn);
13
13
  return { word: word.word, range };
14
14
  }
15
+
16
+ /** 生成范围 */
17
+ export function rangeAt(
18
+ ...args:
19
+ | [lineAndColumn: { lineNumber: number; startColumn: number; endColumn: number }, empty?: null | undefined]
20
+ | [line: { lineNumber: number }, column: { startColumn: number; endColumn: number }]
21
+ ): Range {
22
+ if (args.length === 1 || args[1] == null) {
23
+ const { lineNumber, startColumn, endColumn } = args[0];
24
+ return new Range(lineNumber, startColumn, lineNumber, endColumn);
25
+ } else {
26
+ const { lineNumber } = args[0];
27
+ const { startColumn, endColumn } = args[1];
28
+ return new Range(lineNumber, startColumn, lineNumber, endColumn);
29
+ }
30
+ }
@@ -1,12 +1,23 @@
1
- import type { editor, CancellationToken, IMarkdownString, IRange, languages, Position } from '../../monaco-api.js';
2
- import { Provider } from './base.js';
3
1
  import { DiagnosticCode } from '@mirascript/constants';
4
- import { codeblock, getDeep, valueDoc, paramsList } from '../utils.js';
2
+ import { convert } from '@mirascript/mirascript/subtle';
3
+ import { KEYWORDS as HELP_KEYWORDS, OPERATORS as HELP_OPERATORS } from '@mirascript/help';
4
+ import { REG_BIN, REG_HEX, REG_NUMBER, REG_OCT } from '../../constants.js';
5
+ import type { editor, CancellationToken, IMarkdownString, IRange, languages, Position } from '../../monaco-api.js';
6
+ import { codeblock, getDeep, valueDoc, paramsList, serializeNumber, serializeInteger } from '../utils.js';
5
7
  import { tokenAt } from '../monaco-private.js';
8
+ import { rangeAt } from '../monaco-utils.js';
6
9
  import type { FieldsAccessAt, VariableAccessAt } from '../compile-result.js';
7
- import { KEYWORDS as HELP_KEYWORDS, OPERATORS as HELP_OPERATORS } from '@mirascript/help';
10
+ import { Provider } from './base.js';
8
11
 
9
12
  const OPERATOR_TOKENS_DESC = Object.keys(HELP_OPERATORS as Record<string, string>).sort((a, b) => b.length - a.length);
13
+ const REG_NUMBER_ALL_FULL = new RegExp(
14
+ `^(?:${REG_BIN.source}|${REG_OCT.source}|${REG_HEX.source}|${REG_NUMBER.source})$`,
15
+ REG_NUMBER.flags,
16
+ );
17
+
18
+ const BIN_MAX = 2 ** 32 - 1;
19
+ const OCT_MAX = 8 ** 18 - 1;
20
+ const HEX_MAX = 16 ** 16 - 1;
10
21
 
11
22
  /** 在指定位置查找操作符 */
12
23
  function operatorAt(lineContent: string, column: number): { token: string; range: IRange } | undefined {
@@ -157,19 +168,47 @@ export class HoverProvider extends Provider implements languages.HoverProvider {
157
168
  return undefined;
158
169
  }
159
170
 
160
- if (token?.text && (token.text in HELP_KEYWORDS || token.text in HELP_OPERATORS)) {
161
- const doc =
162
- HELP_KEYWORDS[token.text as keyof typeof HELP_KEYWORDS] ??
163
- HELP_OPERATORS[token.text as keyof typeof HELP_OPERATORS];
164
- return {
165
- contents: [{ value: doc }],
166
- range: {
167
- startLineNumber: position.lineNumber,
168
- endLineNumber: position.lineNumber,
169
- startColumn: token.startColumn,
170
- endColumn: token.endColumn,
171
- },
172
- };
171
+ if (token?.text) {
172
+ if (token.text in HELP_KEYWORDS) {
173
+ const doc = HELP_KEYWORDS[token.text as keyof typeof HELP_KEYWORDS];
174
+ return {
175
+ contents: [{ value: doc }],
176
+ range: rangeAt(position, token),
177
+ };
178
+ }
179
+
180
+ if (token.text in HELP_OPERATORS) {
181
+ const doc = HELP_OPERATORS[token.text as keyof typeof HELP_OPERATORS];
182
+ return {
183
+ contents: [{ value: doc }],
184
+ range: rangeAt(position, token),
185
+ };
186
+ }
187
+
188
+ if (REG_NUMBER_ALL_FULL.test(token.text)) {
189
+ const num = convert.toNumber(token.text.replaceAll('_', ''), null);
190
+ if (num == null) return undefined;
191
+ const contents: IMarkdownString[] = [
192
+ { value: `数字字面量` },
193
+ { value: codeblock('val: ' + serializeNumber(num)) },
194
+ ];
195
+ if (Number.isInteger(num)) {
196
+ const abs = Math.abs(num);
197
+ if (abs <= BIN_MAX) {
198
+ contents.push({ value: codeblock('bin: ' + serializeInteger(num, 2)) });
199
+ }
200
+ if (abs <= OCT_MAX) {
201
+ contents.push({ value: codeblock('oct: ' + serializeInteger(num, 8)) });
202
+ }
203
+ if (abs <= HEX_MAX) {
204
+ contents.push({ value: codeblock('hex: ' + serializeInteger(num, 16)) });
205
+ }
206
+ }
207
+ return {
208
+ contents,
209
+ range: rangeAt(position, token),
210
+ };
211
+ }
173
212
  }
174
213
 
175
214
  const word = model.getWordAtPosition(position);
@@ -177,12 +216,7 @@ export class HoverProvider extends Provider implements languages.HoverProvider {
177
216
  const doc = HELP_KEYWORDS[word.word as keyof typeof HELP_KEYWORDS];
178
217
  return {
179
218
  contents: [{ value: doc }],
180
- range: {
181
- startLineNumber: position.lineNumber,
182
- endLineNumber: position.lineNumber,
183
- startColumn: word.startColumn,
184
- endColumn: word.endColumn,
185
- },
219
+ range: rangeAt(position, word),
186
220
  };
187
221
  }
188
222
 
@@ -192,12 +226,7 @@ export class HoverProvider extends Provider implements languages.HoverProvider {
192
226
  const doc = HELP_OPERATORS[hit.token as keyof typeof HELP_OPERATORS];
193
227
  return {
194
228
  contents: [{ value: doc }],
195
- range: {
196
- startLineNumber: position.lineNumber,
197
- endLineNumber: position.lineNumber,
198
- startColumn: hit.range.startColumn,
199
- endColumn: hit.range.endColumn,
200
- },
229
+ range: rangeAt(position, hit.range),
201
230
  };
202
231
  }
203
232
 
package/src/lsp/utils.ts CHANGED
@@ -155,6 +155,78 @@ export function codeblock(value: string): string {
155
155
  return `\n${CODEBLOCK_FENCE}${lang}\n${value}\n${CODEBLOCK_FENCE}\n`;
156
156
  }
157
157
 
158
+ /** 格式化数字 */
159
+ function serializeIntegerImpl(num: number, base: number, prefix: string, sep: number): string {
160
+ let str = Math.abs(num).toString(base);
161
+ if (base > 10) str = str.toUpperCase();
162
+ const sepSize = Math.abs(sep);
163
+ if (sep !== 0 && str.length > sepSize) {
164
+ const seg = [];
165
+ if (sep > 0) {
166
+ while (str.length > sepSize) {
167
+ seg.unshift(str.slice(-sepSize));
168
+ str = str.slice(0, -sepSize);
169
+ }
170
+ if (str.length > 0) {
171
+ seg.unshift(str);
172
+ }
173
+ } else {
174
+ while (str.length > sepSize) {
175
+ seg.push(str.slice(0, sepSize));
176
+ str = str.slice(sepSize);
177
+ }
178
+ if (str.length > 0) {
179
+ seg.push(str);
180
+ }
181
+ }
182
+ str = seg.join('_');
183
+ }
184
+ return (num < 0 ? '-' : '') + prefix + str;
185
+ }
186
+
187
+ /** 格式化数字 */
188
+ export function serializeInteger(num: number, base: 2 | 8 | 16, sep = true): string {
189
+ const prefix = base === 2 ? '0b' : base === 8 ? '0o' : '0x';
190
+ const sepSize = sep ? (base === 2 ? 8 : base === 8 ? 6 : 4) : 0;
191
+ return serializeIntegerImpl(num, base, prefix, sepSize);
192
+ }
193
+
194
+ /** 格式化数字 */
195
+ export function serializeNumber(num: number): string {
196
+ if (!Number.isFinite(num)) {
197
+ return serialize(num);
198
+ }
199
+ const str = String(num);
200
+ const dot = str.indexOf('.');
201
+ const exp = str.indexOf('e');
202
+ let intPart: string;
203
+ let fracPart: string;
204
+ let expPart: string;
205
+ if (dot >= 0) {
206
+ intPart = str.slice(0, dot);
207
+ if (exp >= 0) {
208
+ fracPart = str.slice(dot + 1, exp);
209
+ expPart = str.slice(exp);
210
+ } else {
211
+ fracPart = str.slice(dot + 1);
212
+ expPart = '';
213
+ }
214
+ } else {
215
+ if (exp >= 0) {
216
+ intPart = str.slice(0, exp);
217
+ fracPart = '';
218
+ expPart = str.slice(exp);
219
+ } else {
220
+ intPart = str;
221
+ fracPart = '';
222
+ expPart = '';
223
+ }
224
+ }
225
+ if (intPart.length > 5) intPart = serializeIntegerImpl(Number(intPart), 10, '', 3);
226
+ if (fracPart.length > 5) fracPart = serializeIntegerImpl(Number(fracPart), 10, '', -3);
227
+ return intPart + (fracPart ? '.' + fracPart : '') + expPart;
228
+ }
229
+
158
230
  /** 将值序列化为便于展示的字符串 */
159
231
  function serializeForDisplayInner(value: VmValue, maxWidth: number): string {
160
232
  if (maxWidth < 10) maxWidth = 10;
@@ -164,6 +236,9 @@ function serializeForDisplayInner(value: VmValue, maxWidth: number): string {
164
236
  }
165
237
  return `${serializeString(value.slice(0, maxWidth))}..`;
166
238
  }
239
+ if (typeof value === 'number') {
240
+ return serializeNumber(value);
241
+ }
167
242
  if (isVmPrimitive(value)) {
168
243
  return serialize(value);
169
244
  }