meaoiu 0.1.3 → 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.
Files changed (67) hide show
  1. package/LANGUAGE_GUIDE.md +1 -0
  2. package/README.md +385 -336
  3. package/dist/api/serviceState.d.ts +1 -1
  4. package/dist/api/serviceState.d.ts.map +1 -1
  5. package/dist/api/serviceState.js +1 -1
  6. package/dist/api/serviceState.js.map +1 -1
  7. package/dist/api/services/completions.d.ts.map +1 -1
  8. package/dist/api/services/completions.js +4 -3
  9. package/dist/api/services/completions.js.map +1 -1
  10. package/dist/api/services/formatting.d.ts +6 -1
  11. package/dist/api/services/formatting.d.ts.map +1 -1
  12. package/dist/api/services/formatting.js +156 -146
  13. package/dist/api/services/formatting.js.map +1 -1
  14. package/dist/api/services/inlayHints.d.ts +1 -1
  15. package/dist/api/services/inlayHints.d.ts.map +1 -1
  16. package/dist/api/services/inlayHints.js +1 -0
  17. package/dist/api/services/inlayHints.js.map +1 -1
  18. package/dist/api/services/search.d.ts.map +1 -1
  19. package/dist/api/services/search.js +5 -1
  20. package/dist/api/services/search.js.map +1 -1
  21. package/dist/api/utils/astUtils.d.ts.map +1 -1
  22. package/dist/api/utils/astUtils.js +18 -12
  23. package/dist/api/utils/astUtils.js.map +1 -1
  24. package/dist/api/utils/symbolAnalyzer.d.ts +1 -1
  25. package/dist/api/utils/symbolAnalyzer.d.ts.map +1 -1
  26. package/dist/api/utils/symbolAnalyzer.js +60 -63
  27. package/dist/api/utils/symbolAnalyzer.js.map +1 -1
  28. package/dist/cli/main.d.ts +0 -1
  29. package/dist/cli/main.js +3 -9
  30. package/dist/cli/main.js.map +1 -1
  31. package/dist/cli/tools/formatter.d.ts.map +1 -1
  32. package/dist/cli/tools/formatter.js +13 -3
  33. package/dist/cli/tools/formatter.js.map +1 -1
  34. package/dist/cli/tools/searcher.js +1 -1
  35. package/dist/cli/tools/searcher.js.map +1 -1
  36. package/dist/cli/tools/starter.d.ts +1 -2
  37. package/dist/cli/tools/starter.d.ts.map +1 -1
  38. package/dist/cli/tools/starter.js +5 -3
  39. package/dist/cli/tools/starter.js.map +1 -1
  40. package/dist/cli/tools/toolUtils.d.ts.map +1 -1
  41. package/dist/cli/tools/toolUtils.js +9 -13
  42. package/dist/cli/tools/toolUtils.js.map +1 -1
  43. package/dist/core/ast.d.ts +3 -2
  44. package/dist/core/ast.d.ts.map +1 -1
  45. package/dist/core/builtIns.d.ts.map +1 -1
  46. package/dist/core/builtIns.js +3 -1
  47. package/dist/core/builtIns.js.map +1 -1
  48. package/dist/core/error.d.ts +1 -0
  49. package/dist/core/error.d.ts.map +1 -1
  50. package/dist/core/error.js +4 -11
  51. package/dist/core/error.js.map +1 -1
  52. package/dist/core/lexer/tokenizer.d.ts +50 -50
  53. package/dist/core/lexer/tokenizer.d.ts.map +1 -1
  54. package/dist/core/lexer/tokenizer.js +59 -52
  55. package/dist/core/lexer/tokenizer.js.map +1 -1
  56. package/dist/core/parser.d.ts.map +1 -1
  57. package/dist/core/parser.js +176 -192
  58. package/dist/core/parser.js.map +1 -1
  59. package/dist/core/run/environment.js +3 -3
  60. package/dist/core/run/interpreter.d.ts.map +1 -1
  61. package/dist/core/run/interpreter.js +151 -157
  62. package/dist/core/run/interpreter.js.map +1 -1
  63. package/dist/core/run/io.d.ts.map +1 -1
  64. package/dist/core/run/io.js +4 -0
  65. package/dist/core/run/io.js.map +1 -1
  66. package/dist/core/typedef.js +5 -5
  67. package/package.json +3 -3
@@ -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
- action(node.identifier);
10
- if (node.initialization)
11
- action(node.initialization);
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
- if (node.argument)
25
- action(node.argument);
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
- action(node.condition);
32
- action(node.consequent);
33
- if (node.alternate)
34
- action(node.alternate);
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":"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"}
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 | undefined): void;
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,SAAS,GAAG,IAAI;IA6E9C,OAAO,CAAC,wBAAwB;IAoChC,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;IAoB/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"}
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 !== 26 /* TokenKind.ARITHMETIC_PLUS */)
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 26 /* TokenKind.ARITHMETIC_PLUS */:
50
+ case 29 /* TokenKind.ARITHMETIC_PLUS */:
51
51
  break;
52
- case 30 /* TokenKind.COMPARISON_EQUAL */:
53
- case 31 /* TokenKind.COMPARISON_NOT_EQUAL */:
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 n of node.body)
88
- this.visit(n);
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 !== 4 /* TokenKind.ASSIGNMENT_ONLY */ || argument.kind !== 13 /* NodeKind.Identifier */)
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
- this.visit(node.argument);
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
- else if (expr.kind === 19 /* NodeKind.UnaryExpression */ && expr.argument.kind === 13 /* NodeKind.Identifier */) {
178
- // 情况 3: [= 高仿 a =] [= 抢走 a =]
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 === 2 /* TokenKind.ASSIGNMENT_IS */)
206
+ if (init.operator === 6 /* TokenKind.ASSIGNMENT_IS */)
208
207
  valueRef = valueSymbol;
209
- else if (init.operator === 4 /* TokenKind.ASSIGNMENT_ONLY */)
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 === 2 /* TokenKind.ASSIGNMENT_IS */ && value.kind === 13 /* NodeKind.Identifier */ && symbol.tag !== 2 /* SymbolTag.DECAYED */
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 === 4 /* TokenKind.ASSIGNMENT_ONLY */ && value.kind === 13 /* NodeKind.Identifier */)
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; i++) {
301
- const op = operators[i], opKind = op.kind;
302
- if (opKind === 30 /* TokenKind.COMPARISON_EQUAL */ || opKind === 31 /* TokenKind.COMPARISON_NOT_EQUAL */) {
303
- return this.visitComparisonSequence(node, i + 1); // 让专用检查函数接力,本函数已结束使命
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 + 1];
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 !== 26 /* TokenKind.ARITHMETIC_PLUS */)
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 !== 30 /* TokenKind.COMPARISON_EQUAL */ && opKind !== 31 /* TokenKind.COMPARISON_NOT_EQUAL */) {
338
- this.errors.push(semanticErrorFrom(op, `比较节不能混入 '${op.value}' 算术符喵!`));
339
- break; // 发现错误,中止检查
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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"}
@@ -1,3 +1,2 @@
1
- #!/usr/bin/env node
2
1
  export {};
3
2
  //# sourceMappingURL=main.d.ts.map
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';
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
- // 默认行为:运行脚本(交互 I/O)
53
- const ioConfig = {
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)
@@ -1 +1 @@
1
- {"version":3,"file":"main.js","sourceRoot":"","sources":["../../src/cli/main.ts"],"names":[],"mappings":"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"}
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,CAmBhF"}
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 formattedCode = getFormattedCode(sourceCode);
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
- const confirm = await prompt(`[格式化器] ⚠ 是否应用到 ${filePath}? (y/n)`);
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,aAAa,GAAG,gBAAgB,CAAC,UAAU,CAAC,CAAC;QACnD,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;QAC3B,OAAO,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC;QAC7C,UAAU;QACV,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,kBAAkB,QAAQ,SAAS,CAAC,CAAC;QAClE,IAAI,OAAO,CAAC,WAAW,EAAE,KAAK,GAAG;YAAE,OAAO,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;QACxE,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"}
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"}
@@ -20,7 +20,7 @@ export function references(sourceCode, filePath, posRaw) {
20
20
  }
21
21
  export function hover(sourceCode, posRaw) {
22
22
  const pos = parsePosition(posRaw);
23
- const hoverInfo = getHoverInfo(new ServiceState(0, sourceCode), pos);
23
+ const hoverInfo = getHoverInfo(new ServiceState(0, sourceCode), pos, 'plaintext');
24
24
  if (!hoverInfo)
25
25
  return console.log(`[悬停] 在 '${posRaw}' 位置找不到可显示的信息。`);
26
26
  console.log('---- 悬停信息 ----');
@@ -1 +1 @@
1
- {"version":3,"file":"searcher.js","sourceRoot":"","sources":["../../../src/cli/tools/searcher.ts"],"names":[],"mappings":"AAAA,4BAA4B;AAE5B,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC5F,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAE/C,MAAM,UAAU,UAAU,CAAC,UAAkB,EAAE,QAAgB,EAAE,MAAc;IAC9E,MAAM,GAAG,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;IAElC,MAAM,cAAc,GAAG,cAAc,CAAC,IAAI,YAAY,CAAC,CAAC,EAAE,UAAU,CAAC,EAAE,GAAG,CAAC,CAAC;IAE5E,MAAM,OAAO,GAAG,cAAc,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC;IAChD,IAAI,CAAC,OAAO;QAAE,OAAO,OAAO,CAAC,GAAG,CAAC,eAAe,MAAM,YAAY,CAAC,CAAC;IACpE,OAAO,CAAC,GAAG,CAAC,WAAW,cAAc,CAAC,IAAI,OAAO,QAAQ,IAAI,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,GAAG,OAAO,CAAC,CAAC;AAClG,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,UAAkB,EAAE,QAAgB,EAAE,MAAc;IAC9E,MAAM,GAAG,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;IAElC,MAAM,UAAU,GAAG,cAAc,CAAC,IAAI,YAAY,CAAC,CAAC,EAAE,UAAU,CAAC,EAAE,GAAG,CAAC,CAAC;IACxE,IAAI,CAAC,UAAU,CAAC,MAAM;QAAE,OAAO,OAAO,CAAC,GAAG,CAAC,eAAe,MAAM,YAAY,CAAC,CAAC;IAC9E,OAAO,CAAC,GAAG,CAAC,YAAY,QAAQ,SAAS,UAAU,CAAC,MAAM,OAAO,CAAC,CAAC;IACnE,KAAK,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,UAAU;QAAE,OAAO,CAAC,GAAG,CAAC,MAAM,IAAI,IAAI,GAAG,EAAE,CAAC,CAAC;AAC1E,CAAC;AAED,MAAM,UAAU,KAAK,CAAC,UAAkB,EAAE,MAAc;IACvD,MAAM,GAAG,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;IAElC,MAAM,SAAS,GAAG,YAAY,CAAC,IAAI,YAAY,CAAC,CAAC,EAAE,UAAU,CAAC,EAAE,GAAG,CAAC,CAAC;IACrE,IAAI,CAAC,SAAS;QAAE,OAAO,OAAO,CAAC,GAAG,CAAC,WAAW,MAAM,gBAAgB,CAAC,CAAC;IACtE,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;IAC9B,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IACtC,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;AAClC,CAAC"}
1
+ {"version":3,"file":"searcher.js","sourceRoot":"","sources":["../../../src/cli/tools/searcher.ts"],"names":[],"mappings":"AAAA,4BAA4B;AAE5B,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC5F,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAE/C,MAAM,UAAU,UAAU,CAAC,UAAkB,EAAE,QAAgB,EAAE,MAAc;IAC9E,MAAM,GAAG,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;IAElC,MAAM,cAAc,GAAG,cAAc,CAAC,IAAI,YAAY,CAAC,CAAC,EAAE,UAAU,CAAC,EAAE,GAAG,CAAC,CAAC;IAE5E,MAAM,OAAO,GAAG,cAAc,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC;IAChD,IAAI,CAAC,OAAO;QAAE,OAAO,OAAO,CAAC,GAAG,CAAC,eAAe,MAAM,YAAY,CAAC,CAAC;IACpE,OAAO,CAAC,GAAG,CAAC,WAAW,cAAc,CAAC,IAAI,OAAO,QAAQ,IAAI,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,GAAG,OAAO,CAAC,CAAC;AAClG,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,UAAkB,EAAE,QAAgB,EAAE,MAAc;IAC9E,MAAM,GAAG,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;IAElC,MAAM,UAAU,GAAG,cAAc,CAAC,IAAI,YAAY,CAAC,CAAC,EAAE,UAAU,CAAC,EAAE,GAAG,CAAC,CAAC;IACxE,IAAI,CAAC,UAAU,CAAC,MAAM;QAAE,OAAO,OAAO,CAAC,GAAG,CAAC,eAAe,MAAM,YAAY,CAAC,CAAC;IAC9E,OAAO,CAAC,GAAG,CAAC,YAAY,QAAQ,SAAS,UAAU,CAAC,MAAM,OAAO,CAAC,CAAC;IACnE,KAAK,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,UAAU;QAAE,OAAO,CAAC,GAAG,CAAC,MAAM,IAAI,IAAI,GAAG,EAAE,CAAC,CAAC;AAC1E,CAAC;AAED,MAAM,UAAU,KAAK,CAAC,UAAkB,EAAE,MAAc;IACvD,MAAM,GAAG,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;IAElC,MAAM,SAAS,GAAG,YAAY,CAAC,IAAI,YAAY,CAAC,CAAC,EAAE,UAAU,CAAC,EAAE,GAAG,EAAE,WAAW,CAAC,CAAC;IAClF,IAAI,CAAC,SAAS;QAAE,OAAO,OAAO,CAAC,GAAG,CAAC,WAAW,MAAM,gBAAgB,CAAC,CAAC;IACtE,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;IAC9B,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IACtC,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;AAClC,CAAC"}
@@ -1,3 +1,2 @@
1
- import { type IOConfig } from '../../index.js';
2
- export declare function run(sourceCode: string, ioConfig: IOConfig, filePath: string, debug: boolean): Promise<void>;
1
+ export declare function run(sourceCode: string, filePath: string, debug: boolean): Promise<void>;
3
2
  //# sourceMappingURL=starter.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"starter.d.ts","sourceRoot":"","sources":["../../../src/cli/tools/starter.ts"],"names":[],"mappings":"AAEA,OAAO,EAAqB,KAAK,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAGlE,wBAAsB,GAAG,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAiBjH"}
1
+ {"version":3,"file":"starter.d.ts","sourceRoot":"","sources":["../../../src/cli/tools/starter.ts"],"names":[],"mappings":"AAKA,wBAAsB,GAAG,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAoB7F"}
@@ -1,16 +1,18 @@
1
1
  // src/cli/tools/starter.ts
2
2
  import { execute } from '../../index.js';
3
- import { formatError } from './toolUtils.js';
4
- export async function run(sourceCode, ioConfig, filePath, debug) {
3
+ import { formatError, prompt } from './toolUtils.js';
4
+ export async function run(sourceCode, filePath, debug) {
5
5
  if (/^\s*$/.test(sourceCode))
6
6
  return console.error('没有字喵!');
7
+ const ioConfig = { onPrint: console.log, onPrompt: prompt, styleize: true };
8
+ const runOptions = { logLevel: debug ? 0 /* LogLevel.DEBUG */ : 2 /* LogLevel.WARN */ };
7
9
  let start = 0, end = 0;
8
10
  console.log('=============================');
9
11
  console.log('执行 Meaoiu 代码...');
10
12
  console.log('=============================');
11
13
  try {
12
14
  start = performance.now();
13
- await execute(sourceCode, ioConfig, { logLevel: debug ? 0 /* LogLevel.DEBUG */ : 2 /* LogLevel.WARN */ });
15
+ await execute(sourceCode, ioConfig, runOptions);
14
16
  end = performance.now();
15
17
  }
16
18
  catch (err) {
@@ -1 +1 @@
1
- {"version":3,"file":"starter.js","sourceRoot":"","sources":["../../../src/cli/tools/starter.ts"],"names":[],"mappings":"AAAA,2BAA2B;AAE3B,OAAO,EAAE,OAAO,EAA2B,MAAM,gBAAgB,CAAC;AAClE,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,MAAM,CAAC,KAAK,UAAU,GAAG,CAAC,UAAkB,EAAE,QAAkB,EAAE,QAAgB,EAAE,KAAc;IACjG,IAAI,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC;QAAE,OAAO,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC5D,IAAI,KAAK,GAAG,CAAC,EACZ,GAAG,GAAG,CAAC,CAAC;IACT,OAAO,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC;IAC7C,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;IAC/B,OAAO,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC;IAC7C,IAAI,CAAC;QACJ,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;QAC1B,MAAM,OAAO,CAAC,UAAU,EAAE,QAAQ,EAAE,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC,wBAAgB,CAAC,sBAAc,EAAE,CAAC,CAAC;QAC1F,GAAG,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;IACzB,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;IAC7C,IAAI,GAAG,GAAG,KAAK;QAAE,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,GAAG,GAAG,KAAK,KAAK,CAAC,EAAE,OAAO,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC,CAAC;AACvG,CAAC"}
1
+ {"version":3,"file":"starter.js","sourceRoot":"","sources":["../../../src/cli/tools/starter.ts"],"names":[],"mappings":"AAAA,2BAA2B;AAE3B,OAAO,EAAE,OAAO,EAAY,MAAM,gBAAgB,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAErD,MAAM,CAAC,KAAK,UAAU,GAAG,CAAC,UAAkB,EAAE,QAAgB,EAAE,KAAc;IAC7E,IAAI,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC;QAAE,OAAO,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC5D,MAAM,QAAQ,GAAG,EAAE,OAAO,EAAE,OAAO,CAAC,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IAC5E,MAAM,UAAU,GAAG,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC,wBAAgB,CAAC,sBAAc,EAAE,CAAC;IAExE,IAAI,KAAK,GAAG,CAAC,EACZ,GAAG,GAAG,CAAC,CAAC;IACT,OAAO,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC;IAC7C,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;IAC/B,OAAO,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC;IAC7C,IAAI,CAAC;QACJ,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;QAC1B,MAAM,OAAO,CAAC,UAAU,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;QAChD,GAAG,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;IACzB,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;IAC7C,IAAI,GAAG,GAAG,KAAK;QAAE,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,GAAG,GAAG,KAAK,KAAK,CAAC,EAAE,OAAO,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC,CAAC;AACvG,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"toolUtils.d.ts","sourceRoot":"","sources":["../../../src/cli/tools/toolUtils.ts"],"names":[],"mappings":"AAOA,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CAS3F;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAkCxF;AAED,wBAAsB,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAQ9D"}
1
+ {"version":3,"file":"toolUtils.d.ts","sourceRoot":"","sources":["../../../src/cli/tools/toolUtils.ts"],"names":[],"mappings":"AAOA,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CAO3F;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAkCxF;AAED,wBAAgB,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAKxD"}
@@ -4,14 +4,13 @@ import readline from 'node:readline';
4
4
  import stringWidth from 'string-width';
5
5
  import { MeaoiuError, parseError } from '../../index.js';
6
6
  export function parsePosition(pos) {
7
- const parts = pos.split(':');
8
- if (parts.length !== 2)
7
+ const match = /^(\d+):(\d+)$/.exec(pos);
8
+ if (!match)
9
9
  throw parseError("位置参数格式错误,应为 '行:列',如 '2:3'");
10
- const line = Number(parts[0]);
11
- const col = Number(parts[1]);
12
- if (!Number.isInteger(line) || !Number.isInteger(col) || line <= 0 || col <= 0) {
10
+ const line = +match[1];
11
+ const col = +match[2];
12
+ if (line <= 0 || col <= 0)
13
13
  throw parseError('位置参数格式错误,行和列必须为正整数');
14
- }
15
14
  return { line, col, character: col };
16
15
  }
17
16
  export function formatError(error, sourceCode, filePath) {
@@ -40,13 +39,10 @@ export function formatError(error, sourceCode, filePath) {
40
39
  ].join('\n');
41
40
  return formattedMessage;
42
41
  }
43
- export async function prompt(question) {
42
+ export function prompt(question) {
44
43
  const rl = readline.createInterface({ input: process.stdin, output: process.stdout });
45
- return new Promise(resolve => {
46
- rl.question(question, answer => {
47
- rl.close();
48
- resolve(answer);
49
- });
50
- });
44
+ const { promise, resolve } = Promise.withResolvers();
45
+ rl.question(question, answer => (rl.close(), resolve(answer)));
46
+ return promise;
51
47
  }
52
48
  //# sourceMappingURL=toolUtils.js.map