meaoiu 0.1.2 → 0.1.4
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/LANGUAGE_GUIDE.md +1 -0
- package/README.md +385 -336
- package/dist/api/serviceState.d.ts +1 -1
- package/dist/api/serviceState.d.ts.map +1 -1
- package/dist/api/serviceState.js +1 -1
- package/dist/api/serviceState.js.map +1 -1
- package/dist/api/services/completions.d.ts.map +1 -1
- package/dist/api/services/completions.js +4 -3
- package/dist/api/services/completions.js.map +1 -1
- package/dist/api/services/formatting.d.ts +6 -1
- package/dist/api/services/formatting.d.ts.map +1 -1
- package/dist/api/services/formatting.js +156 -146
- package/dist/api/services/formatting.js.map +1 -1
- package/dist/api/services/highlight.d.ts.map +1 -1
- package/dist/api/services/highlight.js +28 -38
- package/dist/api/services/highlight.js.map +1 -1
- package/dist/api/services/inlayHints.d.ts +1 -1
- package/dist/api/services/inlayHints.d.ts.map +1 -1
- package/dist/api/services/inlayHints.js +4 -8
- package/dist/api/services/inlayHints.js.map +1 -1
- package/dist/api/services/search.d.ts.map +1 -1
- package/dist/api/services/search.js +7 -3
- package/dist/api/services/search.js.map +1 -1
- package/dist/api/utils/astUtils.d.ts.map +1 -1
- package/dist/api/utils/astUtils.js +18 -12
- package/dist/api/utils/astUtils.js.map +1 -1
- package/dist/api/utils/symbolAnalyzer.d.ts +1 -1
- package/dist/api/utils/symbolAnalyzer.d.ts.map +1 -1
- package/dist/api/utils/symbolAnalyzer.js +60 -63
- package/dist/api/utils/symbolAnalyzer.js.map +1 -1
- package/dist/cli/main.d.ts +0 -1
- package/dist/cli/main.js +3 -9
- package/dist/cli/main.js.map +1 -1
- package/dist/cli/tools/formatter.d.ts.map +1 -1
- package/dist/cli/tools/formatter.js +13 -3
- package/dist/cli/tools/formatter.js.map +1 -1
- package/dist/cli/tools/searcher.js +1 -1
- package/dist/cli/tools/searcher.js.map +1 -1
- package/dist/cli/tools/starter.d.ts +1 -2
- package/dist/cli/tools/starter.d.ts.map +1 -1
- package/dist/cli/tools/starter.js +5 -3
- package/dist/cli/tools/starter.js.map +1 -1
- package/dist/cli/tools/toolUtils.d.ts.map +1 -1
- package/dist/cli/tools/toolUtils.js +9 -13
- package/dist/cli/tools/toolUtils.js.map +1 -1
- package/dist/core/ast.d.ts +3 -2
- package/dist/core/ast.d.ts.map +1 -1
- package/dist/core/builtIns.d.ts.map +1 -1
- package/dist/core/builtIns.js +3 -1
- package/dist/core/builtIns.js.map +1 -1
- package/dist/core/error.d.ts +1 -0
- package/dist/core/error.d.ts.map +1 -1
- package/dist/core/error.js +4 -11
- package/dist/core/error.js.map +1 -1
- package/dist/core/lexer/preprocessor.d.ts.map +1 -1
- package/dist/core/lexer/preprocessor.js +30 -57
- package/dist/core/lexer/preprocessor.js.map +1 -1
- package/dist/core/lexer/tokenizer.d.ts +52 -52
- package/dist/core/lexer/tokenizer.d.ts.map +1 -1
- package/dist/core/lexer/tokenizer.js +59 -52
- package/dist/core/lexer/tokenizer.js.map +1 -1
- package/dist/core/parser.d.ts.map +1 -1
- package/dist/core/parser.js +194 -209
- package/dist/core/parser.js.map +1 -1
- package/dist/core/run/environment.js +3 -3
- package/dist/core/run/interpreter.d.ts.map +1 -1
- package/dist/core/run/interpreter.js +152 -158
- package/dist/core/run/interpreter.js.map +1 -1
- package/dist/core/run/io.d.ts.map +1 -1
- package/dist/core/run/io.js +4 -0
- package/dist/core/run/io.js.map +1 -1
- package/dist/core/typedef.js +5 -5
- package/package.json +3 -3
|
@@ -22,9 +22,8 @@ function extractParamNames(paramsBlock) {
|
|
|
22
22
|
if (paramStmt.kind !== 8 /* NodeKind.ExpressionStatement */)
|
|
23
23
|
continue;
|
|
24
24
|
const expr = paramStmt.expression;
|
|
25
|
-
if (expr.kind === 13 /* NodeKind.Identifier */)
|
|
25
|
+
if (expr.kind === 13 /* NodeKind.Identifier */)
|
|
26
26
|
names.push(expr.symbol);
|
|
27
|
-
}
|
|
28
27
|
else if (expr.kind === 19 /* NodeKind.UnaryExpression */ && expr.argument.kind === 13 /* NodeKind.Identifier */) {
|
|
29
28
|
names.push(expr.argument.symbol);
|
|
30
29
|
}
|
|
@@ -32,6 +31,7 @@ function extractParamNames(paramsBlock) {
|
|
|
32
31
|
}
|
|
33
32
|
return names;
|
|
34
33
|
}
|
|
34
|
+
const moveMarks = ['_' /*MOVED*/, '' /*NORMAL*/, '!' /*DECAYED*/];
|
|
35
35
|
/**
|
|
36
36
|
* 主函数:获取源代码的内联提示
|
|
37
37
|
*/
|
|
@@ -40,7 +40,6 @@ export function getInlayHints(serviceState) {
|
|
|
40
40
|
const ast = serviceState.parseResult.program;
|
|
41
41
|
const parentMap = buildParentMap(ast); // 构建父节点映射
|
|
42
42
|
const { symbolMap } = serviceState.analyzeResult;
|
|
43
|
-
const moveMarks = ['_' /*MOVED*/, '' /*NORMAL*/, '!' /*DECAYED*/];
|
|
44
43
|
// 生成变量类型和引用源提示
|
|
45
44
|
symbolMap.forEach((symbolInfo, node) => {
|
|
46
45
|
if (node.kind !== 13 /* NodeKind.Identifier */ || symbolInfo.kind === 12 /* SymbolKind.FUNCTION */)
|
|
@@ -60,6 +59,7 @@ export function getInlayHints(serviceState) {
|
|
|
60
59
|
position: { line: node.line, character: node.endCol },
|
|
61
60
|
label: `${moveMark}${sourceName}${symbolType}`,
|
|
62
61
|
kind: 1 /* InlayHintKind.Type */,
|
|
62
|
+
paddingRight: false,
|
|
63
63
|
});
|
|
64
64
|
});
|
|
65
65
|
// 生成函数参数名提示
|
|
@@ -91,10 +91,6 @@ export function getInlayHints(serviceState) {
|
|
|
91
91
|
}
|
|
92
92
|
walk(ast);
|
|
93
93
|
// 按位置排序,确保编辑器能正确显示
|
|
94
|
-
return hints.sort((a, b) =>
|
|
95
|
-
return a.position.line !== b.position.line
|
|
96
|
-
? a.position.line - b.position.line
|
|
97
|
-
: a.position.character - b.position.character;
|
|
98
|
-
});
|
|
94
|
+
return hints.sort(({ position: a }, { position: b }) => a.line - b.line || a.character - b.character);
|
|
99
95
|
}
|
|
100
96
|
//# sourceMappingURL=inlayHints.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inlayHints.js","sourceRoot":"","sources":["../../../src/api/services/inlayHints.ts"],"names":[],"mappings":"AAAA,iCAAiC;AAIjC,OAAO,EAAc,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAE9D,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAoBpE;;GAEG;AACH,SAAS,kBAAkB,CAAC,MAAkB;IAC7C,OAAO,MAAM,CAAC,QAAQ;QAAE,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC;IACjD,OAAO,MAAM,CAAC;AACf,CAAC;AAED;;GAEG;AACH,SAAS,iBAAiB,CAAC,WAAgC;IAC1D,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,MAAM,SAAS,IAAI,WAAW,CAAC,IAAI,EAAE,CAAC;QAC1C,IAAI,SAAS,CAAC,IAAI,yCAAiC,EAAE,CAAC;YACrD,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;YACxC,SAAS;QACV,CAAC;QACD,IAAI,SAAS,CAAC,IAAI,yCAAiC;YAAE,SAAS;QAC9D,MAAM,IAAI,GAAG,SAAS,CAAC,UAAU,CAAC;QAClC,IAAI,IAAI,CAAC,IAAI,iCAAwB
|
|
1
|
+
{"version":3,"file":"inlayHints.js","sourceRoot":"","sources":["../../../src/api/services/inlayHints.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../../src/api/services/search.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,GAAG,MAAM,mBAAmB,CAAC;AAE9C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEvD,OAAO,EAAgC,KAAK,QAAQ,EAAE,KAAK,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAC/F,OAAO,EAAyB,KAAK,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAGjF,KAAK,UAAU,GAAG,WAAW,GAAG,UAAU,CAAC;AAC3C,KAAK,SAAS,GAAG;IAChB,QAAQ,EAAE;QACT,IAAI,EAAE,UAAU,CAAC;QACjB,KAAK,EAAE,MAAM,CAAC;KACd,CAAC;IACF,KAAK,EAAE,KAAK,CAAC;CACb,CAAC;AAYF,wBAAgB,YAAY,CAC3B,YAAY,EAAE,YAAY,EAC1B,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE,EAAE,QAAQ,EAClC,YAAY,GAAE,UAAuB,GACnC,SAAS,GAAG,SAAS,
|
|
1
|
+
{"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../../src/api/services/search.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,GAAG,MAAM,mBAAmB,CAAC;AAE9C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEvD,OAAO,EAAgC,KAAK,QAAQ,EAAE,KAAK,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAC/F,OAAO,EAAyB,KAAK,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAGjF,KAAK,UAAU,GAAG,WAAW,GAAG,UAAU,CAAC;AAC3C,KAAK,SAAS,GAAG;IAChB,QAAQ,EAAE;QACT,IAAI,EAAE,UAAU,CAAC;QACjB,KAAK,EAAE,MAAM,CAAC;KACd,CAAC;IACF,KAAK,EAAE,KAAK,CAAC;CACb,CAAC;AAYF,wBAAgB,YAAY,CAC3B,YAAY,EAAE,YAAY,EAC1B,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE,EAAE,QAAQ,EAClC,YAAY,GAAE,UAAuB,GACnC,SAAS,GAAG,SAAS,CAiBvB;AAGD,wBAAgB,cAAc,CAAC,YAAY,EAAE,YAAY,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE,EAAE,QAAQ,GAAG,UAAU,GAAG,SAAS,CAGrH;AAGD,wBAAgB,cAAc,CAAC,YAAY,EAAE,YAAY,EAAE,QAAQ,EAAE,QAAQ,GAAG,GAAG,CAAC,UAAU,EAAE,CAG/F"}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
import { typeNames } from '../../core/typedef.js';
|
|
3
3
|
import { findIdentifierAt } from '../utils/astUtils.js';
|
|
4
4
|
import { rangeOf } from '../utils/lspUtils.js';
|
|
5
|
-
function
|
|
5
|
+
function hoverInfoFrom(location, value, kind) {
|
|
6
6
|
return { contents: { kind, value }, range: rangeOf(location) };
|
|
7
7
|
}
|
|
8
8
|
const kindMap = {
|
|
@@ -19,8 +19,12 @@ export function getHoverInfo(serviceState, { line, character: col }, contentsKin
|
|
|
19
19
|
return undefined;
|
|
20
20
|
const { name, kind, type, tag, declarations } = symbolInfo;
|
|
21
21
|
const declaration = declarations[0];
|
|
22
|
-
const
|
|
23
|
-
|
|
22
|
+
const signature = `(${kindMap[kind] ?? 'unknown'}) ${name} : ${typeNames[type]}`;
|
|
23
|
+
const formattedSignature = contentsKind === 'markdown' ? `**${signature}**` : signature;
|
|
24
|
+
const tagText = tag === 1 /* SymbolTag.MOVED */ ? '\n\n(被标记为已移动)' : tag === 2 /* SymbolTag.DECAYED */ ? '\n\n(源已被移走,不可用)' : '';
|
|
25
|
+
const declarationText = declaration ? `在 L${declaration.line}:${declaration.col} 处声明` : `(这是一个内置计谋)`;
|
|
26
|
+
const text = `${formattedSignature}${tagText}\n\n${declarationText}`;
|
|
27
|
+
return hoverInfoFrom(identifierNode, text, contentsKind);
|
|
24
28
|
}
|
|
25
29
|
// 查找定义
|
|
26
30
|
export function findDefinition(serviceState, { line, character: col }) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"search.js","sourceRoot":"","sources":["../../../src/api/services/search.ts"],"names":[],"mappings":"AAAA,6BAA6B;AAG7B,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAElD,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,OAAO,EAAkD,MAAM,sBAAsB,CAAC;AAa/F,SAAS,aAAa,CAAC,QAAwB,EAAE,KAAa,EAAE,IAAgB;IAC/E,OAAO,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;AAChE,CAAC;AAED,MAAM,OAAO,GAAG;IACf,8BAAqB,EAAE,UAAU;IACjC,8BAAqB,EAAE,UAAU;IACjC,+BAAsB,EAAE,WAAW;CACW,CAAC;AAEhD,MAAM,UAAU,YAAY,CAC3B,YAA0B,EAC1B,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,EAAY,EAClC,eAA2B,UAAU;IAErC,MAAM,cAAc,GAAG,gBAAgB,CAAC,YAAY,CAAC,WAAW,CAAC,OAAO,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;IACrF,IAAI,CAAC,cAAc;QAAE,OAAO,SAAS,CAAC;IACtC,MAAM,UAAU,GAAG,YAAY,CAAC,aAAa,CAAC,SAAS,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAC5E,IAAI,CAAC,UAAU;QAAE,OAAO,SAAS,CAAC;IAElC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,YAAY,EAAE,GAAG,UAAU,CAAC;IAC3D,MAAM,WAAW,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;IAEpC,MAAM,
|
|
1
|
+
{"version":3,"file":"search.js","sourceRoot":"","sources":["../../../src/api/services/search.ts"],"names":[],"mappings":"AAAA,6BAA6B;AAG7B,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAElD,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,OAAO,EAAkD,MAAM,sBAAsB,CAAC;AAa/F,SAAS,aAAa,CAAC,QAAwB,EAAE,KAAa,EAAE,IAAgB;IAC/E,OAAO,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;AAChE,CAAC;AAED,MAAM,OAAO,GAAG;IACf,8BAAqB,EAAE,UAAU;IACjC,8BAAqB,EAAE,UAAU;IACjC,+BAAsB,EAAE,WAAW;CACW,CAAC;AAEhD,MAAM,UAAU,YAAY,CAC3B,YAA0B,EAC1B,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,EAAY,EAClC,eAA2B,UAAU;IAErC,MAAM,cAAc,GAAG,gBAAgB,CAAC,YAAY,CAAC,WAAW,CAAC,OAAO,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;IACrF,IAAI,CAAC,cAAc;QAAE,OAAO,SAAS,CAAC;IACtC,MAAM,UAAU,GAAG,YAAY,CAAC,aAAa,CAAC,SAAS,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAC5E,IAAI,CAAC,UAAU;QAAE,OAAO,SAAS,CAAC;IAElC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,YAAY,EAAE,GAAG,UAAU,CAAC;IAC3D,MAAM,WAAW,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;IAEpC,MAAM,SAAS,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,SAAS,KAAK,IAAI,MAAM,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;IACjF,MAAM,kBAAkB,GAAG,YAAY,KAAK,UAAU,CAAC,CAAC,CAAC,KAAK,SAAS,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;IACxF,MAAM,OAAO,GACZ,GAAG,4BAAoB,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,GAAG,8BAAsB,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,CAAC;IAChG,MAAM,eAAe,GAAG,WAAW,CAAC,CAAC,CAAC,MAAM,WAAW,CAAC,IAAI,IAAI,WAAW,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC;IAErG,MAAM,IAAI,GAAG,GAAG,kBAAkB,GAAG,OAAO,OAAO,eAAe,EAAE,CAAC;IACrE,OAAO,aAAa,CAAC,cAAc,EAAE,IAAI,EAAE,YAAY,CAAC,CAAC;AAC1D,CAAC;AAED,OAAO;AACP,MAAM,UAAU,cAAc,CAAC,YAA0B,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,EAAY;IAC5F,MAAM,cAAc,GAAG,gBAAgB,CAAC,YAAY,CAAC,WAAW,CAAC,OAAO,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;IACrF,OAAO,cAAc,CAAC,CAAC,CAAC,YAAY,CAAC,aAAa,CAAC,SAAS,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AAC9F,CAAC;AAED,OAAO;AACP,MAAM,UAAU,cAAc,CAAC,YAA0B,EAAE,QAAkB;IAC5E,MAAM,UAAU,GAAG,cAAc,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;IAC1D,OAAO,UAAU,CAAC,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,YAAY,EAAE,GAAG,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AACjF,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"astUtils.d.ts","sourceRoot":"","sources":["../../../src/api/utils/astUtils.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,GAAG,MAAM,mBAAmB,CAAC;AAG9C,wBAAgB,YAAY,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,KAAK,EAAE,GAAG,CAAC,IAAI,KAAK,IAAI,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"astUtils.d.ts","sourceRoot":"","sources":["../../../src/api/utils/astUtils.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,GAAG,MAAM,mBAAmB,CAAC;AAG9C,wBAAgB,YAAY,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,KAAK,EAAE,GAAG,CAAC,IAAI,KAAK,IAAI,GAAG,IAAI,CA2EpF;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC,UAAU,GAAG,SAAS,CAiBrG;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,CAS1E"}
|
|
@@ -5,11 +5,13 @@ export function forEachChild(node, action) {
|
|
|
5
5
|
case 14 /* NodeKind.BlockExpression */:
|
|
6
6
|
node.body.forEach(action);
|
|
7
7
|
break;
|
|
8
|
-
case 2 /* NodeKind.VariableDeclaration */:
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
8
|
+
case 2 /* NodeKind.VariableDeclaration */: {
|
|
9
|
+
const { identifier, initialization } = node;
|
|
10
|
+
action(identifier);
|
|
11
|
+
if (initialization)
|
|
12
|
+
action(initialization);
|
|
12
13
|
break;
|
|
14
|
+
}
|
|
13
15
|
case 3 /* NodeKind.AssignmentStatement */:
|
|
14
16
|
action(node.assignee);
|
|
15
17
|
action(node.value);
|
|
@@ -20,19 +22,23 @@ export function forEachChild(node, action) {
|
|
|
20
22
|
action(node.body);
|
|
21
23
|
break;
|
|
22
24
|
case 5 /* NodeKind.ReturnStatement */:
|
|
23
|
-
case 6 /* NodeKind.AmbushStatement */:
|
|
24
|
-
|
|
25
|
-
|
|
25
|
+
case 6 /* NodeKind.AmbushStatement */: {
|
|
26
|
+
const { argument } = node;
|
|
27
|
+
if (argument)
|
|
28
|
+
action(argument);
|
|
26
29
|
break;
|
|
30
|
+
}
|
|
27
31
|
case 8 /* NodeKind.ExpressionStatement */:
|
|
28
32
|
action(node.expression);
|
|
29
33
|
break;
|
|
30
|
-
case 15 /* NodeKind.IfExpression */:
|
|
31
|
-
|
|
32
|
-
action(
|
|
33
|
-
|
|
34
|
-
|
|
34
|
+
case 15 /* NodeKind.IfExpression */: {
|
|
35
|
+
const { condition, consequent, alternate } = node;
|
|
36
|
+
action(condition);
|
|
37
|
+
action(consequent);
|
|
38
|
+
if (alternate)
|
|
39
|
+
action(alternate);
|
|
35
40
|
break;
|
|
41
|
+
}
|
|
36
42
|
case 16 /* NodeKind.LoopExpression */:
|
|
37
43
|
action(node.body);
|
|
38
44
|
break;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"astUtils.js","sourceRoot":"","sources":["../../../src/api/utils/astUtils.ts"],"names":[],"mappings":"AAAA,4BAA4B;AAK5B,MAAM,UAAU,YAAY,CAAC,IAAc,EAAE,MAAiC;IAC7E,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;QACnB,8BAAsB;QACtB;YACC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YAC1B,MAAM;QACP;
|
|
1
|
+
{"version":3,"file":"astUtils.js","sourceRoot":"","sources":["../../../src/api/utils/astUtils.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,7 +8,7 @@ declare class SymbolAnalyzer {
|
|
|
8
8
|
private currentScope;
|
|
9
9
|
constructor(rootScope: Scope);
|
|
10
10
|
private inferExpressionType;
|
|
11
|
-
visit(node: AST.Node
|
|
11
|
+
visit(node: AST.Node): void;
|
|
12
12
|
private visitFunctionDeclaration;
|
|
13
13
|
private visitVariableDeclaration;
|
|
14
14
|
private visitAssignmentStatement;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"symbolAnalyzer.d.ts","sourceRoot":"","sources":["../../../src/api/utils/symbolAnalyzer.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,GAAG,MAAM,mBAAmB,CAAC;AAG9C,OAAO,EAAoB,KAAK,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAGzE,OAAO,EAAyB,KAAK,KAAK,EAAE,KAAK,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAItF,cAAM,cAAc;IACnB,SAAgB,MAAM,EAAE,WAAW,EAAE,CAAM;IAC3C,SAAgB,SAAS,EAAE,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,UAAU,CAAC,CAAa;IACjE,SAAgB,YAAY,EAAE,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAa;IAC/D,OAAO,CAAC,YAAY,CAAQ;gBAEhB,SAAS,EAAE,KAAK;IAI5B,OAAO,CAAC,mBAAmB;IAqEpB,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,GAAG,
|
|
1
|
+
{"version":3,"file":"symbolAnalyzer.d.ts","sourceRoot":"","sources":["../../../src/api/utils/symbolAnalyzer.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,GAAG,MAAM,mBAAmB,CAAC;AAG9C,OAAO,EAAoB,KAAK,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAGzE,OAAO,EAAyB,KAAK,KAAK,EAAE,KAAK,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAItF,cAAM,cAAc;IACnB,SAAgB,MAAM,EAAE,WAAW,EAAE,CAAM;IAC3C,SAAgB,SAAS,EAAE,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,UAAU,CAAC,CAAa;IACjE,SAAgB,YAAY,EAAE,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAa;IAC/D,OAAO,CAAC,YAAY,CAAQ;gBAEhB,SAAS,EAAE,KAAK;IAI5B,OAAO,CAAC,mBAAmB;IAqEpB,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,GAAG,IAAI;IAgFlC,OAAO,CAAC,wBAAwB;IAiChC,OAAO,CAAC,wBAAwB;IAyBhC,OAAO,CAAC,wBAAwB;IAiChC,OAAO,CAAC,yBAAyB;IAyBjC,OAAO,CAAC,yBAAyB;IA+BjC,OAAO,CAAC,uBAAuB;IAwC/B,OAAO,CAAC,uBAAuB;IAgB/B,OAAO,CAAC,sBAAsB;IAK9B,OAAO,CAAC,eAAe;IAavB,OAAO,CAAC,WAAW;IAWnB,OAAO,CAAC,UAAU;IAMlB,OAAO,CAAC,UAAU;IAIlB,OAAO,CAAC,eAAe;IAOvB,OAAO,CAAC,OAAO;IA4Bf,OAAO,CAAC,MAAM;CA8Bd;AAED,MAAM,MAAM,aAAa,GAAG;IAC3B,SAAS,EAAE,KAAK,CAAC;IACjB,MAAM,EAAE,WAAW,EAAE,CAAC;IACtB,SAAS,EAAE,cAAc,CAAC,WAAW,CAAC,CAAC;IACvC,YAAY,EAAE,cAAc,CAAC,cAAc,CAAC,CAAC;CAC7C,CAAC;AAEF,wBAAgB,cAAc,CAAC,GAAG,EAAE,GAAG,CAAC,OAAO,GAAG,aAAa,CAkB9D"}
|
|
@@ -29,7 +29,7 @@ class SymbolAnalyzer {
|
|
|
29
29
|
return node.isCollection ? 5 /* MeaoiuType.COLLECTION */ : 6 /* MeaoiuType.UNKNOWN */;
|
|
30
30
|
case 20 /* NodeKind.ArithmeticExpression */: {
|
|
31
31
|
const opKind = node.operator.kind;
|
|
32
|
-
if (opKind !==
|
|
32
|
+
if (opKind !== 29 /* TokenKind.ARITHMETIC_PLUS */)
|
|
33
33
|
return 0 /* MeaoiuType.NUMBER */;
|
|
34
34
|
let knownType = this.inferExpressionType(node.left);
|
|
35
35
|
if (knownType === 6 /* MeaoiuType.UNKNOWN */)
|
|
@@ -47,10 +47,10 @@ class SymbolAnalyzer {
|
|
|
47
47
|
continue;
|
|
48
48
|
const opKind = operators[i].kind;
|
|
49
49
|
switch (opKind) {
|
|
50
|
-
case
|
|
50
|
+
case 29 /* TokenKind.ARITHMETIC_PLUS */:
|
|
51
51
|
break;
|
|
52
|
-
case
|
|
53
|
-
case
|
|
52
|
+
case 33 /* TokenKind.COMPARISON_EQUAL */:
|
|
53
|
+
case 34 /* TokenKind.COMPARISON_NOT_EQUAL */:
|
|
54
54
|
accType = 2 /* MeaoiuType.BOOLEAN */;
|
|
55
55
|
break scan;
|
|
56
56
|
default:
|
|
@@ -77,36 +77,51 @@ class SymbolAnalyzer {
|
|
|
77
77
|
}
|
|
78
78
|
}
|
|
79
79
|
visit(node) {
|
|
80
|
-
if (!node)
|
|
81
|
-
return;
|
|
82
80
|
this.nodeScopeMap.set(node, this.currentScope);
|
|
83
81
|
switch (node.kind) {
|
|
84
82
|
case 1 /* NodeKind.Program */:
|
|
85
83
|
case 14 /* NodeKind.BlockExpression */:
|
|
86
84
|
this.enterScope();
|
|
87
|
-
for (const
|
|
88
|
-
this.visit(
|
|
85
|
+
for (const stmt of node.body)
|
|
86
|
+
this.visit(stmt);
|
|
89
87
|
this.leaveScope();
|
|
90
88
|
break;
|
|
91
|
-
case 15 /* NodeKind.IfExpression */:
|
|
92
|
-
this.visit(node.condition);
|
|
93
|
-
this.visit(node.consequent);
|
|
94
|
-
this.visit(node.alternate);
|
|
95
|
-
break;
|
|
96
|
-
case 16 /* NodeKind.LoopExpression */:
|
|
97
|
-
this.visit(node.body);
|
|
98
|
-
break;
|
|
99
89
|
case 19 /* NodeKind.UnaryExpression */: {
|
|
100
90
|
const { operator, argument } = node;
|
|
101
91
|
this.visit(argument);
|
|
102
|
-
if (operator !==
|
|
92
|
+
if (operator !== 8 /* TokenKind.ASSIGNMENT_ONLY */ || argument.kind !== 13 /* NodeKind.Identifier */)
|
|
103
93
|
break;
|
|
104
94
|
this.markAsMoved(argument.symbol);
|
|
105
95
|
break;
|
|
106
96
|
}
|
|
97
|
+
case 15 /* NodeKind.IfExpression */: {
|
|
98
|
+
const { condition, consequent, alternate } = node;
|
|
99
|
+
this.visit(condition);
|
|
100
|
+
this.visit(consequent);
|
|
101
|
+
if (alternate)
|
|
102
|
+
this.visit(alternate);
|
|
103
|
+
break;
|
|
104
|
+
}
|
|
107
105
|
case 5 /* NodeKind.ReturnStatement */:
|
|
108
|
-
case 6 /* NodeKind.AmbushStatement */:
|
|
109
|
-
|
|
106
|
+
case 6 /* NodeKind.AmbushStatement */: {
|
|
107
|
+
const { argument } = node;
|
|
108
|
+
if (argument)
|
|
109
|
+
this.visit(argument);
|
|
110
|
+
break;
|
|
111
|
+
}
|
|
112
|
+
case 17 /* NodeKind.CallExpression */:
|
|
113
|
+
this.visit(node.args);
|
|
114
|
+
this.visit(node.callee);
|
|
115
|
+
break;
|
|
116
|
+
case 18 /* NodeKind.MemberAccessExpression */:
|
|
117
|
+
this.visit(node.object);
|
|
118
|
+
this.visit(node.property);
|
|
119
|
+
break;
|
|
120
|
+
case 16 /* NodeKind.LoopExpression */:
|
|
121
|
+
this.visit(node.body);
|
|
122
|
+
break;
|
|
123
|
+
case 8 /* NodeKind.ExpressionStatement */:
|
|
124
|
+
this.visit(node.expression);
|
|
110
125
|
break;
|
|
111
126
|
case 4 /* NodeKind.FunctionDeclaration */:
|
|
112
127
|
this.visitFunctionDeclaration(node);
|
|
@@ -117,17 +132,6 @@ class SymbolAnalyzer {
|
|
|
117
132
|
case 3 /* NodeKind.AssignmentStatement */:
|
|
118
133
|
this.visitAssignmentStatement(node);
|
|
119
134
|
break;
|
|
120
|
-
case 8 /* NodeKind.ExpressionStatement */:
|
|
121
|
-
this.visit(node.expression);
|
|
122
|
-
break;
|
|
123
|
-
case 17 /* NodeKind.CallExpression */:
|
|
124
|
-
this.visit(node.args);
|
|
125
|
-
this.visit(node.callee);
|
|
126
|
-
break;
|
|
127
|
-
case 18 /* NodeKind.MemberAccessExpression */:
|
|
128
|
-
this.visit(node.object);
|
|
129
|
-
this.visit(node.property);
|
|
130
|
-
break;
|
|
131
135
|
case 20 /* NodeKind.ArithmeticExpression */:
|
|
132
136
|
this.visitArithmeticExpression(node);
|
|
133
137
|
break;
|
|
@@ -137,12 +141,12 @@ class SymbolAnalyzer {
|
|
|
137
141
|
case 22 /* NodeKind.SequenceExpression */:
|
|
138
142
|
this.visitSequenceExpression(node);
|
|
139
143
|
break;
|
|
140
|
-
case 13 /* NodeKind.Identifier */:
|
|
141
|
-
this.visitIdentifier(node);
|
|
142
|
-
break;
|
|
143
144
|
case 23 /* NodeKind.LogicalExpression */:
|
|
144
145
|
this.visitLogicalExpression(node);
|
|
145
146
|
break;
|
|
147
|
+
case 13 /* NodeKind.Identifier */:
|
|
148
|
+
this.visitIdentifier(node);
|
|
149
|
+
break;
|
|
146
150
|
case 9 /* NodeKind.NumericLiteral */:
|
|
147
151
|
case 10 /* NodeKind.StringLiteral */:
|
|
148
152
|
case 11 /* NodeKind.BooleanLiteral */:
|
|
@@ -159,33 +163,28 @@ class SymbolAnalyzer {
|
|
|
159
163
|
this.declare(node.name.symbol, 12 /* SymbolKind.FUNCTION */, 0 /* SymbolTag.NORMAL */, 4 /* MeaoiuType.FUNCTION */, node.name);
|
|
160
164
|
this.enterScope();
|
|
161
165
|
for (const paramStmt of node.parameters.body) {
|
|
166
|
+
// 情况 1: [= a 就是 1 =] 或 [= 蹭 a =],语句本身包含声明,直接 visit 即可
|
|
162
167
|
if (paramStmt.kind === 2 /* NodeKind.VariableDeclaration */) {
|
|
163
|
-
// 情况 1: [= a 就是 1 =] 或 [= 蹭 a =]
|
|
164
|
-
// 这种语句本身就包含了声明逻辑,直接 visit 即可
|
|
165
168
|
this.visitVariableDeclaration(paramStmt);
|
|
166
169
|
continue;
|
|
167
170
|
}
|
|
168
171
|
if (paramStmt.kind !== 8 /* NodeKind.ExpressionStatement */)
|
|
169
172
|
continue;
|
|
170
173
|
const expr = paramStmt.expression;
|
|
174
|
+
// 情况 2: [= a =],手动将 'a' 声明为 'parameter'
|
|
171
175
|
if (expr.kind === 13 /* NodeKind.Identifier */) {
|
|
172
|
-
// 情况 2: [= a =]
|
|
173
|
-
// 手动将 'a' 声明为 'parameter'
|
|
174
176
|
this.declare(expr.symbol, 20 /* SymbolKind.PARAMETER */, 0 /* SymbolTag.NORMAL */, 6 /* MeaoiuType.UNKNOWN */, expr);
|
|
175
177
|
this.visitIdentifier(expr); // 访问它,以便高亮和引用查找
|
|
178
|
+
continue;
|
|
176
179
|
}
|
|
177
|
-
|
|
178
|
-
|
|
180
|
+
// 情况 3: [= 高仿 a =] 或 [= 抢走 a =],手动将 'a' 声明为 'parameter'
|
|
181
|
+
if (expr.kind === 19 /* NodeKind.UnaryExpression */ && expr.argument.kind === 13 /* NodeKind.Identifier */) {
|
|
179
182
|
const idNode = expr.argument;
|
|
180
|
-
// 手动将 'a' 声明为 'parameter'
|
|
181
183
|
this.declare(idNode.symbol, 20 /* SymbolKind.PARAMETER */, 0 /* SymbolTag.NORMAL */, 6 /* MeaoiuType.UNKNOWN */, idNode);
|
|
182
|
-
this.visit(expr); // 访问整个 '高仿 a' 表达式
|
|
183
|
-
}
|
|
184
|
-
else {
|
|
185
|
-
// 情况 4: [= 1+2 =] 或 [= '字面量' =] 或 [= a@1 =]
|
|
186
|
-
// 没有名字,只访问表达式,不声明
|
|
187
|
-
this.visit(expr);
|
|
188
184
|
}
|
|
185
|
+
// 访问整个 '高仿 a' 表达式或以下情况
|
|
186
|
+
// 情况 4: [= 1+2 =] 或 [= '字面量' =] 或 [= a@1 =],没有名字,只访问表达式,不声明
|
|
187
|
+
this.visit(expr);
|
|
189
188
|
}
|
|
190
189
|
this.visit(node.body);
|
|
191
190
|
this.leaveScope();
|
|
@@ -204,9 +203,9 @@ class SymbolAnalyzer {
|
|
|
204
203
|
if (valueSymbol?.tag === 2 /* SymbolTag.DECAYED */)
|
|
205
204
|
tag = valueSymbol.tag; // 衰变传染
|
|
206
205
|
// 「就是」创建静态引用或「才是」标记为已移动
|
|
207
|
-
if (init.operator ===
|
|
206
|
+
if (init.operator === 6 /* TokenKind.ASSIGNMENT_IS */)
|
|
208
207
|
valueRef = valueSymbol;
|
|
209
|
-
else if (init.operator ===
|
|
208
|
+
else if (init.operator === 8 /* TokenKind.ASSIGNMENT_ONLY */)
|
|
210
209
|
this.markAsMoved(init.value.symbol);
|
|
211
210
|
if (tag !== 0 /* SymbolTag.NORMAL */) {
|
|
212
211
|
this.errors.push(semanticErrorFrom(identifier, `这个 '${identifier.symbol}' 没有灵魂喵!`));
|
|
@@ -231,7 +230,7 @@ class SymbolAnalyzer {
|
|
|
231
230
|
if (valueSymbol?.tag === 2 /* SymbolTag.DECAYED */)
|
|
232
231
|
symbol.tag = valueSymbol.tag; // 衰变传染
|
|
233
232
|
symbol.valueRef =
|
|
234
|
-
operator ===
|
|
233
|
+
operator === 6 /* TokenKind.ASSIGNMENT_IS */ && value.kind === 13 /* NodeKind.Identifier */ && symbol.tag !== 2 /* SymbolTag.DECAYED */
|
|
235
234
|
? valueSymbol // '就是' (IS) 为未衰变符号更新静态引用链
|
|
236
235
|
: undefined; // '才是' (ONLY) 和 '就像' (LIKE) 会打断旧的引用链,符号衰变也会使引用失效
|
|
237
236
|
// 更新符号表
|
|
@@ -241,7 +240,7 @@ class SymbolAnalyzer {
|
|
|
241
240
|
this.errors.push(semanticErrorFrom(assignee, `被移过的 '${assignee.symbol}' 失效了喵!`));
|
|
242
241
|
}
|
|
243
242
|
}
|
|
244
|
-
if (operator ===
|
|
243
|
+
if (operator === 8 /* TokenKind.ASSIGNMENT_ONLY */ && value.kind === 13 /* NodeKind.Identifier */)
|
|
245
244
|
this.markAsMoved(value.symbol);
|
|
246
245
|
}
|
|
247
246
|
visitArithmeticExpression(node) {
|
|
@@ -297,17 +296,17 @@ class SymbolAnalyzer {
|
|
|
297
296
|
const { sections, operators } = node;
|
|
298
297
|
let accType = this.inferExpressionType(sections[0]);
|
|
299
298
|
this.visit(sections[0]); // 访问第一节
|
|
300
|
-
for (let i = 0; i < operators.length;
|
|
301
|
-
const op = operators[i], opKind = op.kind;
|
|
302
|
-
if (opKind ===
|
|
303
|
-
return this.visitComparisonSequence(node, i
|
|
299
|
+
for (let i = 0; i < operators.length;) {
|
|
300
|
+
const op = operators[i++], opKind = op.kind;
|
|
301
|
+
if (opKind === 33 /* TokenKind.COMPARISON_EQUAL */ || opKind === 34 /* TokenKind.COMPARISON_NOT_EQUAL */) {
|
|
302
|
+
return this.visitComparisonSequence(node, i); // 让专用检查函数接力,本函数已结束使命
|
|
304
303
|
}
|
|
305
|
-
const nextExpr = sections[i
|
|
304
|
+
const nextExpr = sections[i];
|
|
306
305
|
let nextType = this.inferExpressionType(nextExpr);
|
|
307
306
|
this.visit(nextExpr); // 访问下一节
|
|
308
307
|
switch ((+(accType === 6 /* MeaoiuType.UNKNOWN */) << 1) | +(nextType === 6 /* MeaoiuType.UNKNOWN */)) {
|
|
309
308
|
case 0b11: // 都不懂
|
|
310
|
-
if (opKind !==
|
|
309
|
+
if (opKind !== 29 /* TokenKind.ARITHMETIC_PLUS */)
|
|
311
310
|
accType = 0 /* MeaoiuType.NUMBER */; // 非加号,锁定类型
|
|
312
311
|
continue; // 跳过检查
|
|
313
312
|
case 0b10: // 前不懂
|
|
@@ -331,15 +330,13 @@ class SymbolAnalyzer {
|
|
|
331
330
|
const { sections, operators } = node;
|
|
332
331
|
this.visit(sections[startIndex]); // 访问第一个比较操作的右侧
|
|
333
332
|
// 遍历链上剩下的所有操作符
|
|
334
|
-
for (let i = startIndex; i < operators.length; i
|
|
333
|
+
for (let i = startIndex; i < operators.length; this.visit(sections[++i])) {
|
|
335
334
|
const op = operators[i], opKind = op.kind;
|
|
336
335
|
// 检查是否混入了非比较运算符
|
|
337
|
-
if (opKind
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
// 访问下一个元素
|
|
342
|
-
this.visit(sections[i + 1]);
|
|
336
|
+
if (opKind === 33 /* TokenKind.COMPARISON_EQUAL */ || opKind === 34 /* TokenKind.COMPARISON_NOT_EQUAL */)
|
|
337
|
+
continue;
|
|
338
|
+
this.errors.push(semanticErrorFrom(op, `比较节不能混入 '${op.value}' 算术符喵!`));
|
|
339
|
+
return; // 发现错误,中止检查
|
|
343
340
|
}
|
|
344
341
|
}
|
|
345
342
|
visitLogicalExpression(node) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"symbolAnalyzer.js","sourceRoot":"","sources":["../../../src/api/utils/symbolAnalyzer.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"symbolAnalyzer.js","sourceRoot":"","sources":["../../../src/api/utils/symbolAnalyzer.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/main.d.ts
CHANGED
package/dist/cli/main.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
// src/cli/main.ts - Meaoiu CLI
|
|
3
|
-
const version = '0.1.
|
|
3
|
+
const version = '0.1.4';
|
|
4
4
|
import { cac } from 'cac';
|
|
5
5
|
import { readFile } from 'node:fs/promises';
|
|
6
6
|
import { MeaoiuError } from '../index.js';
|
|
@@ -9,7 +9,6 @@ import { diagnose } from './tools/diagnoser.js';
|
|
|
9
9
|
import { format } from './tools/formatter.js';
|
|
10
10
|
import { definition, hover, references } from './tools/searcher.js';
|
|
11
11
|
import { run } from './tools/starter.js';
|
|
12
|
-
import { prompt } from './tools/toolUtils.js';
|
|
13
12
|
const cli = cac('meaoiu').version(version);
|
|
14
13
|
cli.help(sections => {
|
|
15
14
|
sections.splice(1, 0, {
|
|
@@ -49,13 +48,8 @@ cli.help(sections => {
|
|
|
49
48
|
if (value && !action(value))
|
|
50
49
|
return;
|
|
51
50
|
}
|
|
52
|
-
//
|
|
53
|
-
|
|
54
|
-
onPrint: console.log,
|
|
55
|
-
onPrompt: prompt,
|
|
56
|
-
styleize: true,
|
|
57
|
-
};
|
|
58
|
-
await run(sourceCode, ioConfig, file, debug);
|
|
51
|
+
// 默认行为:运行脚本
|
|
52
|
+
await run(sourceCode, file, debug);
|
|
59
53
|
}
|
|
60
54
|
catch (err) {
|
|
61
55
|
if (err instanceof MeaoiuError)
|
package/dist/cli/main.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"main.js","sourceRoot":"","sources":["../../src/cli/main.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"main.js","sourceRoot":"","sources":["../../src/cli/main.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"formatter.d.ts","sourceRoot":"","sources":["../../../src/cli/tools/formatter.ts"],"names":[],"mappings":"AAMA,wBAAsB,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"formatter.d.ts","sourceRoot":"","sources":["../../../src/cli/tools/formatter.ts"],"names":[],"mappings":"AAMA,wBAAsB,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CA2BhF"}
|
|
@@ -3,16 +3,26 @@ import { writeFile } from 'node:fs/promises';
|
|
|
3
3
|
import { getFormattedCode } from '../../index.js';
|
|
4
4
|
import { formatError, prompt } from './toolUtils.js';
|
|
5
5
|
export async function format(sourceCode, filePath) {
|
|
6
|
+
const confirmToCancel = async (question) => (await prompt(`[格式化器] ⚠ ${question}? (y/n)`)).toLowerCase() !== 'y';
|
|
6
7
|
console.log('-----------------------------');
|
|
7
8
|
console.log(`[格式化器] 尝试格式化 ${filePath} ...`);
|
|
8
9
|
console.log('-----------------------------');
|
|
9
10
|
try {
|
|
10
|
-
const
|
|
11
|
+
const { errors: errors, format } = getFormattedCode(sourceCode);
|
|
12
|
+
if (errors.length) {
|
|
13
|
+
// 错误确认
|
|
14
|
+
console.log(`[格式化器] ❌ 有 ${errors.length} 处解析错误:`);
|
|
15
|
+
for (const e of errors)
|
|
16
|
+
console.error(`- ${e}`);
|
|
17
|
+
if (await confirmToCancel('是否强制继续'))
|
|
18
|
+
return console.log(`[格式化器] ✖ 操作已取消`);
|
|
19
|
+
console.log('-----------------------------');
|
|
20
|
+
}
|
|
21
|
+
const formattedCode = format();
|
|
11
22
|
console.log(formattedCode);
|
|
12
23
|
console.log('-----------------------------');
|
|
13
24
|
// 询问是否格式化
|
|
14
|
-
|
|
15
|
-
if (confirm.toLowerCase() !== 'y')
|
|
25
|
+
if (await confirmToCancel(`是否应用到 ${filePath}`))
|
|
16
26
|
return console.log(`[格式化器] ✖ 操作已取消`);
|
|
17
27
|
// 格式化并写入文件
|
|
18
28
|
await writeFile(filePath, formattedCode, 'utf-8');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"formatter.js","sourceRoot":"","sources":["../../../src/cli/tools/formatter.ts"],"names":[],"mappings":"AAAA,6BAA6B;AAE7B,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAErD,MAAM,CAAC,KAAK,UAAU,MAAM,CAAC,UAAkB,EAAE,QAAgB;IAChE,OAAO,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC;IAC7C,OAAO,CAAC,GAAG,CAAC,gBAAgB,QAAQ,MAAM,CAAC,CAAC;IAC5C,OAAO,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC;IAC7C,IAAI,CAAC;QACJ,MAAM,
|
|
1
|
+
{"version":3,"file":"formatter.js","sourceRoot":"","sources":["../../../src/cli/tools/formatter.ts"],"names":[],"mappings":"AAAA,6BAA6B;AAE7B,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAErD,MAAM,CAAC,KAAK,UAAU,MAAM,CAAC,UAAkB,EAAE,QAAgB;IAChE,MAAM,eAAe,GAAG,KAAK,EAAE,QAAgB,EAAE,EAAE,CAAC,CAAC,MAAM,MAAM,CAAC,YAAY,QAAQ,SAAS,CAAC,CAAC,CAAC,WAAW,EAAE,KAAK,GAAG,CAAC;IACxH,OAAO,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC;IAC7C,OAAO,CAAC,GAAG,CAAC,gBAAgB,QAAQ,MAAM,CAAC,CAAC;IAC5C,OAAO,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC;IAC7C,IAAI,CAAC;QACJ,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,gBAAgB,CAAC,UAAU,CAAC,CAAC;QAChE,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;YACnB,OAAO;YACP,OAAO,CAAC,GAAG,CAAC,cAAc,MAAM,CAAC,MAAM,SAAS,CAAC,CAAC;YAClD,KAAK,MAAM,CAAC,IAAI,MAAM;gBAAE,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAChD,IAAI,MAAM,eAAe,CAAC,QAAQ,CAAC;gBAAE,OAAO,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;YAC1E,OAAO,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC;QAC9C,CAAC;QACD,MAAM,aAAa,GAAG,MAAM,EAAE,CAAC;QAC/B,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;QAC3B,OAAO,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC;QAC7C,UAAU;QACV,IAAI,MAAM,eAAe,CAAC,SAAS,QAAQ,EAAE,CAAC;YAAE,OAAO,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;QACrF,WAAW;QACX,MAAM,SAAS,CAAC,QAAQ,EAAE,aAAa,EAAE,OAAO,CAAC,CAAC;QAClD,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;IAC/B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACd,OAAO,CAAC,KAAK,CAAC,iCAAiC,CAAC,CAAC;QACjD,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC;IACvD,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC;AAC9C,CAAC"}
|