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.
Files changed (73) 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/highlight.d.ts.map +1 -1
  15. package/dist/api/services/highlight.js +28 -38
  16. package/dist/api/services/highlight.js.map +1 -1
  17. package/dist/api/services/inlayHints.d.ts +1 -1
  18. package/dist/api/services/inlayHints.d.ts.map +1 -1
  19. package/dist/api/services/inlayHints.js +4 -8
  20. package/dist/api/services/inlayHints.js.map +1 -1
  21. package/dist/api/services/search.d.ts.map +1 -1
  22. package/dist/api/services/search.js +7 -3
  23. package/dist/api/services/search.js.map +1 -1
  24. package/dist/api/utils/astUtils.d.ts.map +1 -1
  25. package/dist/api/utils/astUtils.js +18 -12
  26. package/dist/api/utils/astUtils.js.map +1 -1
  27. package/dist/api/utils/symbolAnalyzer.d.ts +1 -1
  28. package/dist/api/utils/symbolAnalyzer.d.ts.map +1 -1
  29. package/dist/api/utils/symbolAnalyzer.js +60 -63
  30. package/dist/api/utils/symbolAnalyzer.js.map +1 -1
  31. package/dist/cli/main.d.ts +0 -1
  32. package/dist/cli/main.js +3 -9
  33. package/dist/cli/main.js.map +1 -1
  34. package/dist/cli/tools/formatter.d.ts.map +1 -1
  35. package/dist/cli/tools/formatter.js +13 -3
  36. package/dist/cli/tools/formatter.js.map +1 -1
  37. package/dist/cli/tools/searcher.js +1 -1
  38. package/dist/cli/tools/searcher.js.map +1 -1
  39. package/dist/cli/tools/starter.d.ts +1 -2
  40. package/dist/cli/tools/starter.d.ts.map +1 -1
  41. package/dist/cli/tools/starter.js +5 -3
  42. package/dist/cli/tools/starter.js.map +1 -1
  43. package/dist/cli/tools/toolUtils.d.ts.map +1 -1
  44. package/dist/cli/tools/toolUtils.js +9 -13
  45. package/dist/cli/tools/toolUtils.js.map +1 -1
  46. package/dist/core/ast.d.ts +3 -2
  47. package/dist/core/ast.d.ts.map +1 -1
  48. package/dist/core/builtIns.d.ts.map +1 -1
  49. package/dist/core/builtIns.js +3 -1
  50. package/dist/core/builtIns.js.map +1 -1
  51. package/dist/core/error.d.ts +1 -0
  52. package/dist/core/error.d.ts.map +1 -1
  53. package/dist/core/error.js +4 -11
  54. package/dist/core/error.js.map +1 -1
  55. package/dist/core/lexer/preprocessor.d.ts.map +1 -1
  56. package/dist/core/lexer/preprocessor.js +30 -57
  57. package/dist/core/lexer/preprocessor.js.map +1 -1
  58. package/dist/core/lexer/tokenizer.d.ts +52 -52
  59. package/dist/core/lexer/tokenizer.d.ts.map +1 -1
  60. package/dist/core/lexer/tokenizer.js +59 -52
  61. package/dist/core/lexer/tokenizer.js.map +1 -1
  62. package/dist/core/parser.d.ts.map +1 -1
  63. package/dist/core/parser.js +194 -209
  64. package/dist/core/parser.js.map +1 -1
  65. package/dist/core/run/environment.js +3 -3
  66. package/dist/core/run/interpreter.d.ts.map +1 -1
  67. package/dist/core/run/interpreter.js +152 -158
  68. package/dist/core/run/interpreter.js.map +1 -1
  69. package/dist/core/run/io.d.ts.map +1 -1
  70. package/dist/core/run/io.js +4 -0
  71. package/dist/core/run/io.js.map +1 -1
  72. package/dist/core/typedef.js +5 -5
  73. 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":"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"}
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,CAcvB;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"}
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 HoverInfoFrom(location, value, kind) {
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 text = `**(${kindMap[kind] ?? 'unknown'}) ${name} : ${typeNames[type]}**${tag === 1 /* SymbolTag.MOVED */ ? '\n\n(被标记为已移动)' : tag === 2 /* SymbolTag.DECAYED */ ? '\n\n(源已被移走,不可用)' : ''}\n\n${declaration ? `在 L${declaration.line}:${declaration.col} 处声明` : `(这是一个内置计谋)`}`;
23
- return HoverInfoFrom(identifierNode, text, contentsKind);
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,IAAI,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,IAAI,SAAS,KAAK,IAAI,MAAM,SAAS,CAAC,IAAI,CAAC,KAC1E,GAAG,4BAAoB,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,GAAG,8BAAsB,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAC7F,OAAO,WAAW,CAAC,CAAC,CAAC,MAAM,WAAW,CAAC,IAAI,IAAI,WAAW,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,YAAY,EAAE,CAAC;IAEtF,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
+ {"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,CAqEpF;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"}
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
- 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":"AAAA,kCAAkC;AAIlC,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,SAAS,EAA2B,MAAM,qBAAqB,CAAC;AAEzE,OAAO,EAAE,wBAAwB,EAAE,wBAAwB,EAAc,MAAM,uBAAuB,CAAC;AAGvG,MAAM,iBAAiB,GAAG,CAAC,GAAqB,EAAE,OAAe,EAAE,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE,OAAO,yBAAiB,CAAC;AAE9G,MAAM,cAAc;IACH,MAAM,GAAkB,EAAE,CAAC;IAC3B,SAAS,GAA8B,IAAI,GAAG,EAAE,CAAC;IACjD,YAAY,GAAyB,IAAI,GAAG,EAAE,CAAC;IACvD,YAAY,CAAQ;IAE5B,YAAY,SAAgB;QAC3B,IAAI,CAAC,YAAY,GAAG,SAAS,CAAC;IAC/B,CAAC;IAEO,mBAAmB,CAAC,IAAoB;QAC/C,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;YACnB;gBACC,iCAAyB;YAC1B;gBACC,iCAAyB;YAC1B,sCAA6B;YAC7B,4CAAmC;YACnC;gBACC,kCAA0B;YAC3B;gBACC,+BAAuB;YACxB;gBACC,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,8BAAsB,CAAC;YAC7D;gBACC,OAAO,IAAI,CAAC,YAAY,CAAC,CAAC,+BAAuB,CAAC,2BAAmB,CAAC;YACvE,2CAAkC,CAAC,CAAC,CAAC;gBACpC,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;gBAClC,IAAI,MAAM,uCAA8B;oBAAE,iCAAyB;gBAEnE,IAAI,SAAS,GAAG,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACpD,IAAI,SAAS,+BAAuB;oBAAE,SAAS,GAAG,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBAEvF,OAAO,SAAS,8BAAsB,IAAI,SAAS,8BAAsB,IAAI,SAAS,kCAA0B;oBAC/G,CAAC,CAAC,SAAS;oBACX,CAAC,2BAAmB,CAAC;YACvB,CAAC;YACD,yCAAgC,CAAC,CAAC,CAAC;gBAClC,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC;gBACrC,IAAI,OAAO,6BAAqB,CAAC;gBACjC,IAAI,SAAS,GAAG,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC,CAAE,CAAC,CAAC;gBAEvD,IAAI,EAAE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;oBACjD,IAAI,OAAO,+BAAuB;wBAAE,SAAS;oBAC7C,MAAM,MAAM,GAAG,SAAS,CAAC,CAAC,CAAE,CAAC,IAAI,CAAC;oBAClC,QAAQ,MAAM,EAAE,CAAC;wBAChB;4BACC,MAAM;wBACP,yCAAgC;wBAChC;4BACC,OAAO,6BAAqB,CAAC;4BAC7B,MAAM,IAAI,CAAC;wBACZ;4BACC,OAAO,4BAAoB,CAAC;4BAC5B,SAAS;oBACX,CAAC;oBAED,IAAI,SAAS,+BAAuB;wBAAE,SAAS,GAAG,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAE,CAAC,CAAC;oBAE7F,IACC,SAAS,8BAAsB;wBAC/B,SAAS,8BAAsB;wBAC/B,SAAS,kCAA0B,EAClC,CAAC;wBACF,OAAO,GAAG,SAAS,CAAC;oBACrB,CAAC;gBACF,CAAC;gBACD,OAAO,OAAO,CAAC;YAChB,CAAC;YACD;gBACC,oBAAoB;gBACpB,OAAO,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAChD,8CAAqC,CAAC,uBAAuB;YAC7D,sCAA6B,CAAC,oBAAoB;YAClD;gBACC,kCAA0B;QAC5B,CAAC;IACF,CAAC;IAEM,KAAK,CAAC,IAAc;QAC1B,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;QAC/C,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;YACnB,8BAAsB;YACtB;gBACC,IAAI,CAAC,UAAU,EAAE,CAAC;gBAClB,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,IAAI;oBAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBAC/C,IAAI,CAAC,UAAU,EAAE,CAAC;gBAClB,MAAM;YACP,sCAA6B,CAAC,CAAC,CAAC;gBAC/B,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC;gBACpC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;gBACrB,IAAI,QAAQ,sCAA8B,IAAI,QAAQ,CAAC,IAAI,iCAAwB;oBAAE,MAAM;gBAC3F,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;gBAClC,MAAM;YACP,CAAC;YACD,mCAA0B,CAAC,CAAC,CAAC;gBAC5B,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC;gBAClD,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;gBACtB,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;gBACvB,IAAI,SAAS;oBAAE,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;gBACrC,MAAM;YACP,CAAC;YACD,sCAA8B;YAC9B,qCAA6B,CAAC,CAAC,CAAC;gBAC/B,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC;gBAC1B,IAAI,QAAQ;oBAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;gBACnC,MAAM;YACP,CAAC;YACD;gBACC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACtB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBACxB,MAAM;YACP;gBACC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBACxB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBAC1B,MAAM;YACP;gBACC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACtB,MAAM;YACP;gBACC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;gBAC5B,MAAM;YACP;gBACC,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAC;gBACpC,MAAM;YACP;gBACC,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAC;gBACpC,MAAM;YACP;gBACC,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAC;gBACpC,MAAM;YACP;gBACC,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,CAAC;gBACrC,MAAM;YACP;gBACC,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,CAAC;gBACrC,MAAM;YACP;gBACC,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC;gBACnC,MAAM;YACP;gBACC,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC;gBAClC,MAAM;YACP;gBACC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;gBAC3B,MAAM;YACP,qCAA6B;YAC7B,qCAA4B;YAC5B,sCAA6B;YAC7B,mCAA0B;YAC1B,qCAA6B;YAC7B;gBACC,MAAM;YACP,SAAS,YAAY;gBACpB,MAAM,EAAE,GAAU,IAAI,CAAC;gBACvB,OAAO,CAAC,IAAI,CAAC,oBAAoB,EAAE,EAAE,CAAC,CAAC;QACzC,CAAC;IACF,CAAC;IAEO,wBAAwB,CAAC,IAA6B;QAC7D,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,uFAA8D,IAAI,CAAC,IAAI,CAAC,CAAC;QACtG,IAAI,CAAC,UAAU,EAAE,CAAC;QAElB,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;YAC9C,sDAAsD;YACtD,IAAI,SAAS,CAAC,IAAI,yCAAiC,EAAE,CAAC;gBACrD,IAAI,CAAC,wBAAwB,CAAC,SAAS,CAAC,CAAC;gBACzC,SAAS;YACV,CAAC;YACD,IAAI,SAAS,CAAC,IAAI,yCAAiC;gBAAE,SAAS;YAC9D,MAAM,IAAI,GAAG,SAAS,CAAC,UAAU,CAAC;YAElC,wCAAwC;YACxC,IAAI,IAAI,CAAC,IAAI,iCAAwB,EAAE,CAAC;gBACvC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,uFAA8D,IAAI,CAAC,CAAC;gBAC5F,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,gBAAgB;gBAC5C,SAAS;YACV,CAAC;YACD,wDAAwD;YACxD,IAAI,IAAI,CAAC,IAAI,sCAA6B,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,iCAAwB,EAAE,CAAC;gBAC1F,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC;gBAC7B,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,uFAA8D,MAAM,CAAC,CAAC;YACjG,CAAC;YACD,uBAAuB;YACvB,4DAA4D;YAC5D,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAClB,CAAC;QAED,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtB,IAAI,CAAC,UAAU,EAAE,CAAC;IACnB,CAAC;IAEO,wBAAwB,CAAC,IAA6B;QAC7D,MAAM,EAAE,UAAU,EAAE,cAAc,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC;QAClD,IAAI,YAAY,0BAAkB,CAAC;QACnC,IAAI,QAAgC,CAAC,CAAC,UAAU;QAChD,IAAI,GAAG,2BAAmB,CAAC;QAE3B,IAAI,EAAE,IAAI,IAAI,EAAE,CAAC;YAChB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACvB,YAAY,GAAG,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACpD,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,iCAAwB;gBAAE,MAAM,IAAI,CAAC;YAExD,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACnD,IAAI,WAAW,EAAE,GAAG,8BAAsB;gBAAE,GAAG,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,OAAO;YAE1E,wBAAwB;YACxB,IAAI,IAAI,CAAC,QAAQ,oCAA4B;gBAAE,QAAQ,GAAG,WAAW,CAAC;iBACjE,IAAI,IAAI,CAAC,QAAQ,sCAA8B;gBAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YAE1F,IAAI,GAAG,6BAAqB,EAAE,CAAC;gBAC9B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,UAAU,EAAE,OAAO,UAAU,CAAC,MAAM,UAAU,CAAC,CAAC,CAAC;YACrF,CAAC;QACF,CAAC;QACD,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,gCAAuB,GAAG,EAAE,YAAY,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC;IAC/F,CAAC;IAEO,wBAAwB,CAAC,IAA6B;QAC7D,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC;QAC3C,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAClB,MAAM,SAAS,GAAG,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;QAElD,MAAM,EAAE,IAAI,QAAQ,CAAC,IAAI,iCAAwB;YAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;aACnE,CAAC;YACL,IAAI,CAAC,eAAe,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;YACtC,MAAM,cAAc,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS;YAC9D,IAAI,CAAC,cAAc;gBAAE,MAAM,MAAM,CAAC;YAElC,MAAM,MAAM,GAAG,EAAE,GAAG,cAAc,EAAE,CAAC,CAAC,SAAS;YAC/C,MAAM,CAAC,IAAI,GAAG,SAAS,CAAC;YACxB,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YAC9C,IAAI,WAAW,EAAE,GAAG,8BAAsB;gBAAE,MAAM,CAAC,GAAG,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,OAAO;YAEjF,MAAM,CAAC,QAAQ;gBACd,QAAQ,oCAA4B,IAAI,KAAK,CAAC,IAAI,iCAAwB,IAAI,MAAM,CAAC,GAAG,8BAAsB;oBAC7G,CAAC,CAAC,WAAW,CAAC,0BAA0B;oBACxC,CAAC,CAAC,SAAS,CAAC,CAAC,iDAAiD;YAEhE,QAAQ;YACR,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,MAAM,CAAE,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YAC5E,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;YAErC,IAAI,MAAM,CAAC,GAAG,6BAAqB,EAAE,CAAC;gBACrC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,QAAQ,EAAE,SAAS,QAAQ,CAAC,MAAM,SAAS,CAAC,CAAC,CAAC;YAClF,CAAC;QACF,CAAC;QAED,IAAI,QAAQ,sCAA8B,IAAI,KAAK,CAAC,IAAI,iCAAwB;YAAE,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAClH,CAAC;IAEO,yBAAyB,CAAC,IAA8B;QAC/D,MAAM,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC;QAC3C,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACjB,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAElB,IAAI,QAAQ,GAAG,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;QAC9C,IAAI,SAAS,GAAG,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;QAEhD,QAAQ,CAAC,CAAC,CAAC,QAAQ,+BAAuB,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,SAAS,+BAAuB,CAAC,EAAE,CAAC;YACzF,KAAK,IAAI,EAAE,MAAM;gBAChB,OAAO,CAAC,OAAO;YAChB,KAAK,IAAI,EAAE,MAAM;gBAChB,QAAQ,GAAG,SAAS,CAAC;gBACrB,MAAM;YACP,KAAK,IAAI,EAAE,MAAM;gBAChB,SAAS,GAAG,QAAQ,CAAC;gBACrB,MAAM;YACP,KAAK,IAAI,EAAE,MAAM;gBAChB,MAAM;QACR,CAAC;QAED,MAAM,KAAK,GAAG,wBAAwB,CAAC,EAAE,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;QAChE,IAAI,KAAK;YAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;IAC7D,CAAC;IAEO,yBAAyB,CAAC,IAA8B;QAC/D,MAAM,EAAE,WAAW,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC;QACxC,IAAI,eAAe,GAAG,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC,CAAE,CAAC,CAAC;QAChE,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC,QAAQ;QAErC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC3C,MAAM,gBAAgB,GAAG,WAAW,CAAC,CAAC,GAAG,CAAC,CAAE,CAAC;YAC7C,IAAI,gBAAgB,GAAG,IAAI,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,CAAC;YAClE,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC,OAAO;YAErC,QAAQ,CAAC,CAAC,CAAC,eAAe,+BAAuB,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,gBAAgB,+BAAuB,CAAC,EAAE,CAAC;gBACvG,KAAK,IAAI,EAAE,MAAM;oBAChB,SAAS,CAAC,OAAO;gBAClB,KAAK,IAAI,EAAE,MAAM;oBAChB,eAAe,GAAG,gBAAgB,CAAC;oBACnC,MAAM;gBACP,KAAK,IAAI,EAAE,MAAM;oBAChB,gBAAgB,GAAG,eAAe,CAAC;oBACnC,MAAM;gBACP,KAAK,IAAI,EAAE,MAAM;oBAChB,MAAM;YACR,CAAC;YAED,MAAM,EAAE,GAAG,SAAS,CAAC,CAAC,CAAE,CAAC;YACzB,MAAM,KAAK,GAAG,wBAAwB,CAAC,EAAE,EAAE,eAAe,EAAE,gBAAgB,CAAC,CAAC;YAC9E,IAAI,KAAK;gBAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC;YAE1D,eAAe,GAAG,gBAAgB,CAAC;QACpC,CAAC;IACF,CAAC;IAEO,uBAAuB,CAAC,IAA4B;QAC3D,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC;QACrC,IAAI,OAAO,GAAG,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC,CAAE,CAAC,CAAC;QACrD,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC,QAAQ;QAElC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,GAAI,CAAC;YACxC,MAAM,EAAE,GAAG,SAAS,CAAC,CAAC,EAAE,CAAE,EACzB,MAAM,GAAG,EAAE,CAAC,IAAI,CAAC;YAClB,IAAI,MAAM,wCAA+B,IAAI,MAAM,4CAAmC,EAAE,CAAC;gBACxF,OAAO,IAAI,CAAC,uBAAuB,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,qBAAqB;YACpE,CAAC;YAED,MAAM,QAAQ,GAAG,QAAQ,CAAC,CAAC,CAAE,CAAC;YAC9B,IAAI,QAAQ,GAAG,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC;YAClD,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ;YAE9B,QAAQ,CAAC,CAAC,CAAC,OAAO,+BAAuB,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,+BAAuB,CAAC,EAAE,CAAC;gBACvF,KAAK,IAAI,EAAE,MAAM;oBAChB,IAAI,MAAM,uCAA8B;wBAAE,OAAO,4BAAoB,CAAC,CAAC,WAAW;oBAClF,SAAS,CAAC,OAAO;gBAClB,KAAK,IAAI,EAAE,MAAM;oBAChB,OAAO,GAAG,QAAQ,CAAC;oBACnB,MAAM;gBACP,KAAK,IAAI,EAAE,MAAM;oBAChB,QAAQ,GAAG,OAAO,CAAC;oBACnB,MAAM;gBACP,KAAK,IAAI,EAAE,MAAM;oBAChB,MAAM;YACR,CAAC;YAED,MAAM,KAAK,GAAG,wBAAwB,CAAC,EAAE,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;YAC9D,IAAI,KAAK,EAAE,CAAC;gBACX,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC;gBAC/C,MAAM,CAAC,OAAO;YACf,CAAC;YAED,OAAO,GAAG,QAAQ,CAAC;QACpB,CAAC;IACF,CAAC;IAEO,uBAAuB,CAAC,IAA4B,EAAE,UAAkB;QAC/E,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC;QACrC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAE,CAAC,CAAC,CAAC,eAAe;QAElD,eAAe;QACf,KAAK,IAAI,CAAC,GAAG,UAAU,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAE,CAAC,EAAE,CAAC;YAC3E,MAAM,EAAE,GAAG,SAAS,CAAC,CAAC,CAAE,EACvB,MAAM,GAAG,EAAE,CAAC,IAAI,CAAC;YAElB,gBAAgB;YAChB,IAAI,MAAM,wCAA+B,IAAI,MAAM,4CAAmC;gBAAE,SAAS;YACjG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,EAAE,EAAE,YAAY,EAAE,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC;YACvE,OAAO,CAAC,YAAY;QACrB,CAAC;IACF,CAAC;IAEO,sBAAsB,CAAC,IAA2B;QACzD,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACxB,CAAC;IAEO,eAAe,CAAC,IAAoB,EAAE,WAAoB,IAAI;QACrE,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,yBAAyB;QAClE,IAAI,CAAC,MAAM,EAAE,CAAC;YACb,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,WAAW,IAAI,CAAC,MAAM,SAAS,CAAC,CAAC,CAAC;YAC3E,OAAO;QACR,CAAC;QACD,IAAI,QAAQ,IAAI,MAAM,CAAC,GAAG,6BAAqB,EAAE,CAAC;YACjD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,OAAO,IAAI,CAAC,MAAM,cAAc,CAAC,CAAC,CAAC;QAC7E,CAAC;QACD,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7B,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAClC,CAAC;IAEO,WAAW,CAAC,IAAY;QAC/B,SAAS;QACT,MAAM,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAC9C,IAAI,CAAC,YAAY;YAAE,OAAO;QAE1B,WAAW;QACX,IAAI,WAAW,GAAG,YAAY,CAAC;QAC/B,OAAO,WAAW,CAAC,QAAQ;YAAE,WAAW,GAAG,WAAW,CAAC,QAAQ,CAAC;QAChE,WAAW,CAAC,GAAG,0BAAkB,CAAC;IACnC,CAAC;IAEO,UAAU;QACjB,MAAM,QAAQ,GAAU,EAAE,MAAM,EAAE,IAAI,CAAC,YAAY,EAAE,QAAQ,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,GAAG,EAAE,EAAE,CAAC;QACxF,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC1C,IAAI,CAAC,YAAY,GAAG,QAAQ,CAAC;IAC9B,CAAC;IAEO,UAAU;QACjB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC,MAAO,CAAC;IAC/C,CAAC;IAEO,eAAe,CAAC,IAAY;QACnC,KAAK,IAAI,KAAK,GAAsB,IAAI,CAAC,YAAY,EAAE,KAAK,EAAE,KAAK,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;YACpF,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC;gBAAE,OAAO,KAAK,CAAC;QAC3C,CAAC;QACD,OAAO,SAAS,CAAC;IAClB,CAAC;IAEO,OAAO,CACd,IAAY,EACZ,IAAgB,EAChB,GAAc,EACd,IAAgB,EAChB,eAA+B,EAC/B,QAAqB;QAErB,IAAI,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YACzC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,eAAe,EAAE,OAAO,IAAI,aAAa,CAAC,CAAC,CAAC;YAC/E,OAAO;QACR,CAAC;QAED,MAAM,UAAU,GAAe;YAC9B,IAAI;YACJ,IAAI;YACJ,GAAG;YACH,IAAI;YACJ,QAAQ;YACR,YAAY,EAAE,CAAC,eAAe,CAAC;YAC/B,UAAU,EAAE,EAAE;YACd,SAAS,EAAE,KAAK;SAChB,CAAC;QAEF,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QAChD,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,eAAe,EAAE,UAAU,CAAC,CAAC;IACjD,CAAC;IAEO,MAAM,CAAC,IAAY,EAAE,eAAwB,IAAI;QACxD,sBAAsB;QACtB,MAAM,KAAK,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;QACzC,IAAI,CAAC,KAAK;YAAE,OAAO,SAAS,CAAC;QAC7B,IAAI,WAAW,GAAe,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAE,CAAC;QAEvD,2BAA2B;QAC3B,IAAI,CAAC,YAAY;YAAE,OAAO,WAAW,CAAC;QAEtC,0BAA0B;QAC1B,KAAK,IAAI,OAAO,GAA2B,WAAW,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;YAC7F,IAAI,OAAO,CAAC,GAAG,6BAAqB;gBAAE,SAAS;YAC/C,eAAe;YACf,WAAW,GAAG;gBACb,GAAG,WAAW;gBACd,GAAG,2BAAmB;gBACtB,IAAI,4BAAoB;aACxB,CAAC;YACF,cAAc;YACd,WAAW,CAAC,QAAQ,GAAG;gBACtB,GAAG,WAAW;gBACd,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,SAAS;gBAC7B,QAAQ,EAAE,SAAS;aACnB,CAAC;YACF,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;YACjD,MAAM;QACP,CAAC;QAED,OAAO,WAAW,CAAC;IACpB,CAAC;CACD;AASD,MAAM,UAAU,cAAc,CAAC,GAAgB;IAC9C,MAAM,SAAS,GAAU,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,GAAG,EAAE,EAAE,CAAC;IACjF,KAAK,MAAM,IAAI,IAAI,kBAAkB,EAAE,CAAC;QACvC,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE;YAC3B,IAAI;YACJ,IAAI,8BAAqB;YACzB,GAAG,0BAAkB;YACrB,IAAI,6BAAqB;YACzB,QAAQ,EAAE,SAAS;YACnB,YAAY,EAAE,EAAE;YAChB,UAAU,EAAE,EAAE;YACd,SAAS,EAAE,IAAI;SACf,CAAC,CAAC;IACJ,CAAC;IACD,MAAM,QAAQ,GAAG,IAAI,cAAc,CAAC,SAAS,CAAC,CAAC;IAC/C,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACpB,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE,GAAG,QAAQ,CAAC;IACrD,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE,CAAC;AACvD,CAAC"}
@@ -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.2';
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"}