@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.
- package/dist/basic/index.js +1 -1
- package/dist/{chunk-SFU27XXU.js → chunk-KZW3KCZF.js} +5 -1
- package/dist/lsp/index.js +133 -24
- package/dist/lsp/index.js.map +2 -2
- package/dist/lsp/monaco-utils.d.ts +11 -0
- package/dist/lsp/monaco-utils.d.ts.map +1 -1
- package/dist/lsp/providers/hover-provider.d.ts.map +1 -1
- package/dist/lsp/utils.d.ts +4 -0
- package/dist/lsp/utils.d.ts.map +1 -1
- package/package.json +6 -6
- package/src/lsp/monaco-utils.ts +16 -0
- package/src/lsp/providers/hover-provider.ts +58 -29
- package/src/lsp/utils.ts +75 -0
- /package/dist/{chunk-SFU27XXU.js.map → chunk-KZW3KCZF.js.map} +0 -0
package/dist/basic/index.js
CHANGED
|
@@ -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-
|
|
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-
|
|
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
|
|
2248
|
-
|
|
2249
|
-
|
|
2250
|
-
|
|
2251
|
-
|
|
2252
|
-
|
|
2253
|
-
|
|
2254
|
-
|
|
2255
|
-
|
|
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;
|
package/dist/lsp/index.js.map
CHANGED
|
@@ -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", "
|
|
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":"
|
|
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"}
|
package/dist/lsp/utils.d.ts
CHANGED
|
@@ -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
|
/** 获取变量文档 */
|
package/dist/lsp/utils.d.ts.map
CHANGED
|
@@ -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;
|
|
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.
|
|
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.
|
|
32
|
-
"@mirascript/constants": "~0.1.
|
|
33
|
-
"@mirascript/help": "~0.1.
|
|
34
|
-
"@mirascript/mirascript": "~0.1.
|
|
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.
|
|
40
|
+
"type-fest": "^5.4.2"
|
|
41
41
|
},
|
|
42
42
|
"scripts": {
|
|
43
43
|
"build": "pnpm clean && tsc && node ./esbuild.config.js",
|
package/src/lsp/monaco-utils.ts
CHANGED
|
@@ -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 {
|
|
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 {
|
|
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
|
|
161
|
-
|
|
162
|
-
HELP_KEYWORDS[token.text as keyof typeof HELP_KEYWORDS]
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
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
|
}
|
|
File without changes
|