meaoiu 0.1.4 → 0.1.5
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 +10 -9
- package/dist/api/services/formatting.d.ts.map +1 -1
- package/dist/api/services/formatting.js.map +1 -1
- package/dist/cli/main.js +3 -1
- package/dist/cli/main.js.map +1 -1
- package/dist/cli/tools/formatter.js +1 -1
- package/dist/cli/tools/formatter.js.map +1 -1
- package/dist/cli/tools/toolUtils.d.ts +1 -0
- package/dist/cli/tools/toolUtils.d.ts.map +1 -1
- package/dist/cli/tools/toolUtils.js +45 -2
- package/dist/cli/tools/toolUtils.js.map +1 -1
- package/dist/core/ast.d.ts +1 -1
- package/dist/core/ast.d.ts.map +1 -1
- package/dist/core/builtIns.d.ts +2 -2
- package/dist/core/builtIns.d.ts.map +1 -1
- package/dist/core/builtIns.js +29 -6
- package/dist/core/builtIns.js.map +1 -1
- package/dist/core/error.d.ts +1 -1
- package/dist/core/error.d.ts.map +1 -1
- package/dist/core/lexer/token.d.ts +81 -0
- package/dist/core/lexer/token.d.ts.map +1 -0
- package/dist/core/lexer/token.js +5 -0
- package/dist/core/lexer/token.js.map +1 -0
- package/dist/core/lexer/tokenizer.d.ts +1 -79
- package/dist/core/lexer/tokenizer.d.ts.map +1 -1
- package/dist/core/lexer/tokenizer.js +2 -4
- package/dist/core/lexer/tokenizer.js.map +1 -1
- package/dist/core/parser.d.ts +1 -1
- package/dist/core/parser.d.ts.map +1 -1
- package/dist/core/parser.js +1 -1
- package/dist/core/parser.js.map +1 -1
- package/dist/core/run/environment.d.ts +6 -1
- package/dist/core/run/environment.d.ts.map +1 -1
- package/dist/core/run/environment.js +19 -12
- package/dist/core/run/environment.js.map +1 -1
- package/dist/core/run/interpreter.d.ts.map +1 -1
- package/dist/core/run/interpreter.js +22 -17
- package/dist/core/run/interpreter.js.map +1 -1
- package/dist/core/run/io.d.ts +1 -0
- package/dist/core/run/io.d.ts.map +1 -1
- package/dist/core/run/io.js +2 -2
- package/dist/core/run/io.js.map +1 -1
- package/dist/core/run/value.js +1 -1
- package/dist/core/typedef.d.ts +1 -1
- package/dist/core/typedef.d.ts.map +1 -1
- package/dist/core/typedef.js.map +1 -1
- package/package.json +1 -1
package/LANGUAGE_GUIDE.md
CHANGED
|
@@ -388,11 +388,11 @@ a 和 b 或 c 不坏 都好~ (等价于:a && (b || c))
|
|
|
388
388
|
|
|
389
389
|
### 类型转换
|
|
390
390
|
|
|
391
|
-
| 名称 | 用法 | 作用
|
|
392
|
-
| -------- | -------------------- |
|
|
393
|
-
| `变摸数` | `扒[='233'=]变摸数~` |
|
|
394
|
-
| `喵译` | `扒[=256=]喵译~` | 任何东西变闲话
|
|
395
|
-
| `嗅嗅` | `扒[=x=]嗅嗅~` | 得到任何实体的类型名
|
|
391
|
+
| 名称 | 用法 | 作用 |
|
|
392
|
+
| -------- | -------------------- | ---------------------------- |
|
|
393
|
+
| `变摸数` | `扒[='233'=]变摸数~` | 闲话或好坏变摸数,失败得空碗 |
|
|
394
|
+
| `喵译` | `扒[=256=]喵译~` | 任何东西变闲话 |
|
|
395
|
+
| `嗅嗅` | `扒[=x=]嗅嗅~` | 得到任何实体的类型名 |
|
|
396
396
|
|
|
397
397
|
### 逻辑
|
|
398
398
|
|
|
@@ -413,10 +413,11 @@ a 和 b 或 c 不坏 都好~ (等价于:a && (b || c))
|
|
|
413
413
|
|
|
414
414
|
### 纸箱与闲话
|
|
415
415
|
|
|
416
|
-
| 名称 | 用法
|
|
417
|
-
| ---------- |
|
|
418
|
-
| `找尾巴` | `扒[='abc'=]找尾巴~`
|
|
419
|
-
| `喵语连珠` | `扒[='a','b'=]喵语连珠~`
|
|
416
|
+
| 名称 | 用法 | 作用 |
|
|
417
|
+
| ---------- | -------------------------------- | ------------------ |
|
|
418
|
+
| `找尾巴` | `扒[='abc'=]找尾巴~` | 取闲话或纸箱的长度 |
|
|
419
|
+
| `喵语连珠` | `扒[='a','b'=]喵语连珠~` | 拼接闲话 |
|
|
420
|
+
| `咬文嚼字` | `扒[='我好,你坏',','=]咬文嚼字~` | 把闲话拆散放进纸箱 |
|
|
420
421
|
|
|
421
422
|
### 花里胡哨
|
|
422
423
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"formatting.d.ts","sourceRoot":"","sources":["../../../src/api/services/formatting.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"formatting.d.ts","sourceRoot":"","sources":["../../../src/api/services/formatting.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAiOvD,MAAM,MAAM,YAAY,GAAG;IAC1B,MAAM,EAAE,WAAW,EAAE,CAAC;IACtB,MAAM,EAAE,MAAM,MAAM,CAAC;CACrB,CAAC;AACF,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,MAAM,GAAG,YAAY,CAGjE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"formatting.js","sourceRoot":"","sources":["../../../src/api/services/formatting.ts"],"names":[],"mappings":"AAAA,iCAAiC;AAKjC,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAa,MAAM,+BAA+B,CAAC;AACrF,OAAO,EAAE,KAAK,EAAa,MAAM,sBAAsB,CAAC;AAMxD,MAAM,MAAM,GAAG,CAAC,EAAE,UAAU,EAAE,KAAK,EAAqB,EAAU,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAC9F,MAAM,SAAS,GAAG,CAAC,OAA0B,EAAqB,EAAE,CAAC,CAAC,EAAE,GAAG,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC;AAEhH,SAAS,iBAAiB,CAAC,QAA8B,EAAE,OAA0B,EAAE,YAAqB;IAC3G,IAAI,CAAC,QAAQ,EAAE,MAAM;QAAE,OAAO,EAAE,CAAC;IACjC,MAAM,aAAa,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;IACtC,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,KAAK,IAAI,CAAC,GAAG,CAAC,IAAM,CAAC;QACpB,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,EAAE,CAAE,CAAC;QAC/B,MAAM,IAAI,IAAI,OAAO,CAAC,KAAK,GAAG,CAAC;QAE/B,IAAI,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC;YACzB,MAAM,QAAQ,GAAG,QAAQ,CAAC,CAAC,CAAE,CAAC,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC;YACrD,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,GAAG,aAAa,EAAE,CAAC;YAClE,SAAS;QACV,CAAC;QACD,IAAI,YAAY,KAAK,SAAS;YAAE,OAAO,MAAM,CAAC;QAC9C,IAAI,YAAY,KAAK,OAAO,CAAC,OAAO;YAAE,OAAO,GAAG,MAAM,GAAG,CAAC;QAC1D,MAAM,QAAQ,GAAG,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC;QAChD,OAAO,GAAG,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,GAAG,aAAa,EAAE,CAAC;IACzE,CAAC;AACF,CAAC;AACD,SAAS,oBAAoB,CAAC,EAAE,eAAe,EAAE,IAAI,EAAY,EAAE,OAA0B;IAC5F,OAAO,iBAAiB,CAAC,eAAe,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;AAC1D,CAAC;AACD,SAAS,qBAAqB,CAAC,EAAE,gBAAgB,EAAE,QAAQ,EAAY;IACtE,OAAO,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AAClF,CAAC;AAED,SAAS,gBAAgB,CAAC,EAAE,IAAI,EAAuB,EAAE,OAA0B;IAClF,IAAI,CAAC,IAAI,CAAC,MAAM;QAAE,OAAO,MAAM,CAAC;IAChC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,CAAE,CAAC;QACtB,MAAM,kBAAkB,GACvB,IAAI,CAAC,IAAI,yCAAiC;YAC1C,IAAI,CAAC,UAAU,CAAC,IAAI,mCAA0B;YAC9C,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,oBAAoB;QACjD,IAAI,kBAAkB;YAAE,OAAO,MAAM,gBAAgB,CAAC,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,QAAQ;IACrF,CAAC;IACD,MAAM,YAAY,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC;IACxC,MAAM,WAAW,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC;IACzC,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,IAAI,CAAC,GAAG,CAAC,IAAM,CAAC;QACpB,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,EAAE,CAAE,CAAC;QACxB,KAAK,CAAC,IAAI,CAAC,GAAG,WAAW,GAAG,gBAAgB,CAAC,IAAI,EAAE,YAAY,CAAC,IAAI,qBAAqB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACnG,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM;YAAE,OAAO,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC;QAE7E,MAAM,EAAE,eAAe,EAAE,WAAW,EAAE,IAAI,EAAE,YAAY,EAAE,GAAG,IAAI,CAAC,CAAC,CAAE,CAAC;QACtE,MAAM,WAAW,GAAG,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAE,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC;QAC9E,MAAM,GAAG,GAAG,WAAW,GAAG,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC;QAC3C,KAAK,IAAI,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;YAAC,CAAC;IAC3D,CAAC;AACF,CAAC;AACD,SAAS,oBAAoB,CAAC,EAAE,IAAI,EAAuB,EAAE,OAA0B;IACtF,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,MAAM,CAAC;IACrC,MAAM,gBAAgB,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC;IAC5C,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,gBAAgB,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC3F,OAAO,MAAM,YAAY,KAAK,CAAC;AAChC,CAAC;AAED,SAAS,gBAAgB,CAAC,IAAc,EAAE,OAA0B;IACnE,MAAM,OAAO,GAAG,oBAAoB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAEpD,IAAI,OAAO,GAAG,EAAE,CAAC;IAEjB,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;QACnB;YACC,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC7B,MAAM;QACP,oCAA2B,CAAC,CAAC,CAAC;YAC7B,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC;YACvB,OAAO,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,GAAG,CAAC;YAC5D,MAAM;QACP,CAAC;QACD;YACC,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;YACnC,MAAM;QACP;YACC,OAAO,GAAG,IAAI,CAAC;YACf,MAAM;QACP,iCAAwB,CAAC,CAAC,CAAC;YAC1B,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;YACxB,OAAO,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,MAAM,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC;YAC3D,MAAM;QACP,CAAC;QACD,6CAAoC,CAAC,CAAC,CAAC;YACtC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC;YAClC,OAAO,GAAG,GAAG,gBAAgB,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,gBAAgB,CAAC,QAAQ,EAAE,OAAO,CAAC,EAAE,CAAC;YACxF,MAAM;QACP,CAAC;QACD,sCAA6B,CAAC,CAAC,CAAC;YAC/B,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC;YACpC,MAAM,EAAE,GAAG,QAAQ,sCAA8B,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;YAChE,OAAO,GAAG,GAAG,EAAE,IAAI,gBAAgB,CAAC,QAAQ,EAAE,OAAO,CAAC,EAAE,CAAC;YACzD,MAAM;QACP,CAAC;QACD,2CAAkC,CAAC,CAAC,CAAC;YACpC,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC;YACvC,OAAO,GAAG,GAAG,gBAAgB,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,QAAQ,CAAC,KAAK,IAAI,gBAAgB,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE,CAAC;YACrG,MAAM;QACP,CAAC;QACD,2CAAkC,CAAC,CAAC,CAAC;YACpC,MAAM,EAAE,WAAW,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC;YACxC,MAAM,KAAK,GAAG,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC,CAAE,EAAE,OAAO,CAAC,CAAC,CAAC;YAC3D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,GAAI,CAAC;gBACxC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,CAAE,CAAC,KAAK,EAAE,gBAAgB,CAAC,WAAW,CAAC,CAAC,CAAE,EAAE,OAAO,CAAC,CAAC,CAAC;YAC/E,CAAC;YACD,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAC1B,MAAM;QACP,CAAC;QACD,yCAAgC,CAAC,CAAC,CAAC;YAClC,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC;YACrC,MAAM,KAAK,GAAG,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAE,EAAE,OAAO,CAAC,CAAC,CAAC;YACxD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,GAAI,CAAC;gBACxC,KAAK,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,CAAC,EAAE,CAAE,CAAC,KAAK,GAAG,EAAE,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAE,EAAE,OAAO,CAAC,CAAC,CAAC;YAClF,CAAC;YACD,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAC1B,MAAM;QACP,CAAC;QACD,wCAA+B,CAAC,CAAC,CAAC;YACjC,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC;YACvC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GACX;gBACC,oCAA2B,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC;gBACxC,mCAA0B,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC;gBACvC,oCAA2B,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC;gBACxC,qCAA4B,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC;aAE1C,CAAC,QAAQ,CAAC,CAAC;YACZ,OAAO,GAAG,GAAG,gBAAgB,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,IAAI,gBAAgB,CAAC,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YAC7F,MAAM;QACP,CAAC;QACD;YACC,OAAO,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YACvF,MAAM;QACP,mCAA0B,CAAC,CAAC,CAAC;YAC5B,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC;YAClD,MAAM,UAAU,GAAG,GAAG,gBAAgB,CAAC,UAAU,EAAE,OAAO,CAAC,SAAS,gBAAgB,CAAC,SAAS,EAAE,OAAO,CAAC,EAAE,CAAC;YAC3G,MAAM,eAAe,GAAG,SAAS,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,OAAO,CAAC,MAAM,gBAAgB,CAAC,SAAS,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC1G,OAAO,GAAG,GAAG,UAAU,GAAG,eAAe,EAAE,CAAC;YAC5C,MAAM;QACP,CAAC;QACD;YACC,OAAO,GAAG,MAAM,gBAAgB,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,CAAC;YACvD,MAAM;QACP,qCAA4B,CAAC,CAAC,CAAC;YAC9B,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;YAC9B,MAAM,QAAQ,GAAG,gBAAgB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YACjD,OAAO,GAAG,KAAK,QAAQ,IAAI,gBAAgB,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC;YAC/D,MAAM;QACP,CAAC;QACD;YACC,OAAO,GAAG,gBAAgB,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;YACrD,MAAM;QACP;YACC,OAAO,GAAG,IAAI,CAAC;YACf,MAAM;QACP,qCAA6B,CAAC,CAAC,CAAC;YAC/B,MAAM,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;YACxB,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,gBAAgB,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;YAC7D,MAAM;QACP,CAAC;QACD,qCAA6B,CAAC,CAAC,CAAC;YAC/B,MAAM,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;YACxB,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,gBAAgB,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;YAC9D,MAAM;QACP,CAAC;QACD,yCAAiC,CAAC,CAAC,CAAC;YACnC,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC;YAC3C,MAAM,CAAC,GACN,QAAQ,sCAA8B,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,sCAA8B,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;YACtG,OAAO,GAAG,GAAG,gBAAgB,CAAC,QAAQ,EAAE,OAAO,CAAC,IAAI,CAAC,IAAI,gBAAgB,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE,CAAC;YAC5F,MAAM;QACP,CAAC;QACD,yCAAiC,CAAC,CAAC,CAAC;YACnC,MAAM,EAAE,cAAc,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC;YAC5C,MAAM,cAAc,GAAG,gBAAgB,CAAC,cAAc,IAAI,UAAU,EAAE,OAAO,CAAC,CAAC;YAC/E,OAAO,GAAG,KAAK,cAAc,EAAE,CAAC;YAChC,MAAM;QACP,CAAC;QACD,yCAAiC,CAAC,CAAC,CAAC;YACnC,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC;YACxC,MAAM,WAAW,GAAG,gBAAgB,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;YAC1D,OAAO,GAAG,MAAM,WAAW,IAAI,gBAAgB,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,gBAAgB,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,CAAC;YACpG,MAAM;QACP,CAAC;QACD,6BAAqB,CAAC,CAAC,CAAC;YACvB,MAAM,EAAE,IAAI,EAAE,gBAAgB,EAAE,GAAG,IAAI,CAAC;YACxC,IAAI,CAAC,IAAI,CAAC,MAAM;gBAAE,OAAO,iBAAiB,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAC;YACtE,MAAM,KAAK,GAAa,EAAE,CAAC;YAC3B,KAAK,IAAI,CAAC,GAAG,CAAC,IAAM,CAAC;gBACpB,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,EAAE,CAAE,CAAC;gBACxB,KAAK,CAAC,IAAI,CAAC,GAAG,gBAAgB,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,qBAAqB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBAChF,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM;oBAAE,MAAM;gBAE5B,MAAM,EAAE,eAAe,EAAE,WAAW,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,YAAY,EAAE,GAAG,IAAI,CAAC,CAAC,CAAE,CAAC;gBAC1F,MAAM,WAAW,GAAG,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAE,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC;gBAC9E,MAAM,GAAG,GAAG,WAAW,GAAG,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC;gBAC3C,MAAM,WAAW,GAAG,YAAY,yCAAiC,IAAI,IAAI,CAAC,IAAI,yCAAiC,CAAC;gBAChH,KAAK,IAAI,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,WAAW,CAAC,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;oBAAC,CAAC;YACtE,CAAC;YACD,MAAM,QAAQ,GAAG,gBAAgB,EAAE,MAAM,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAE,CAAC,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;YACjG,KAAK,IAAI,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;gBAAC,CAAC;YAC/D,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,iBAAiB,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAC;QACxE,CAAC;QACD;YACC,OAAO,GAAG,YAAY,IAAI,CAAC,OAAO,GAAG,CAAC;YACtC,MAAM;QACP,SAAS,YAAY;YACpB,MAAM,EAAE,GAAU,IAAI,CAAC;YACvB,OAAO,CAAC,IAAI,CAAC,oBAAoB,EAAE,EAAE,CAAC,CAAC;IACzC,CAAC;IAED,OAAO,OAAO,GAAG,OAAO,CAAC;AAC1B,CAAC;AAMD,MAAM,UAAU,gBAAgB,CAAC,UAAkB;IAClD,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC,QAAQ,CAAC,UAAU,EAAE,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC,6BAAqB,CAAC;IAC5G,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,gBAAgB,CAAC,GAAG,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;AACxF,CAAC"}
|
|
1
|
+
{"version":3,"file":"formatting.js","sourceRoot":"","sources":["../../../src/api/services/formatting.ts"],"names":[],"mappings":"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"}
|
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.5';
|
|
4
4
|
import { cac } from 'cac';
|
|
5
5
|
import { readFile } from 'node:fs/promises';
|
|
6
6
|
import { MeaoiuError } from '../index.js';
|
|
@@ -9,6 +9,7 @@ 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 { applyTerminalTabSize } from './tools/toolUtils.js';
|
|
12
13
|
const cli = cac('meaoiu').version(version);
|
|
13
14
|
cli.help(sections => {
|
|
14
15
|
sections.splice(1, 0, {
|
|
@@ -42,6 +43,7 @@ cli.help(sections => {
|
|
|
42
43
|
["debug" /* Option.DEBUG */]: () => (debug = true) /* true 则继续执行 */,
|
|
43
44
|
};
|
|
44
45
|
let debug = false;
|
|
46
|
+
await applyTerminalTabSize();
|
|
45
47
|
// 找出第一个被设置的选项(优先级顺序按 keys 顺序)
|
|
46
48
|
for (const [key, action] of Object.entries(lspActions)) {
|
|
47
49
|
const value = options[key];
|
package/dist/cli/main.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"main.js","sourceRoot":"","sources":["../../src/cli/main.ts"],"names":[],"mappings":"AAAA,+BAA+B;AAC/B,MAAM,OAAO,GAAG,oBAAoB,CAAC;AAErC,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAC1B,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACpE,OAAO,EAAE,GAAG,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"main.js","sourceRoot":"","sources":["../../src/cli/main.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,7 +8,7 @@ export async function format(sourceCode, filePath) {
|
|
|
8
8
|
console.log(`[格式化器] 尝试格式化 ${filePath} ...`);
|
|
9
9
|
console.log('-----------------------------');
|
|
10
10
|
try {
|
|
11
|
-
const { errors
|
|
11
|
+
const { errors, format } = getFormattedCode(sourceCode);
|
|
12
12
|
if (errors.length) {
|
|
13
13
|
// 错误确认
|
|
14
14
|
console.log(`[格式化器] ❌ 有 ${errors.length} 处解析错误:`);
|
|
@@ -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,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,
|
|
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,GAAG,gBAAgB,CAAC,UAAU,CAAC,CAAC;QACxD,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"}
|
|
@@ -3,6 +3,7 @@ export declare function parsePosition(pos: string): {
|
|
|
3
3
|
col: number;
|
|
4
4
|
character: number;
|
|
5
5
|
};
|
|
6
|
+
export declare function applyTerminalTabSize(): Promise<void>;
|
|
6
7
|
export declare function formatError(error: unknown, sourceCode: string, filePath: string): string;
|
|
7
8
|
export declare function prompt(question: string): Promise<string>;
|
|
8
9
|
//# sourceMappingURL=toolUtils.d.ts.map
|
|
@@ -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,CAO3F;
|
|
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;AAID,wBAAsB,oBAAoB,IAAI,OAAO,CAAC,IAAI,CAAC,CAyB1D;AAcD,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAiCxF;AAED,wBAAgB,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAKxD"}
|
|
@@ -13,6 +13,49 @@ export function parsePosition(pos) {
|
|
|
13
13
|
throw parseError('位置参数格式错误,行和列必须为正整数');
|
|
14
14
|
return { line, col, character: col };
|
|
15
15
|
}
|
|
16
|
+
// 试探并设置终端制表符尺寸
|
|
17
|
+
let tabSize = 8;
|
|
18
|
+
export async function applyTerminalTabSize() {
|
|
19
|
+
const { stdin, stdout } = process;
|
|
20
|
+
if (!stdin.isTTY || !stdout.isTTY)
|
|
21
|
+
return;
|
|
22
|
+
const { promise, resolve } = Promise.withResolvers();
|
|
23
|
+
let isCleanedUp = false;
|
|
24
|
+
const cleanup = () => {
|
|
25
|
+
if (isCleanedUp)
|
|
26
|
+
return;
|
|
27
|
+
clearTimeout(timeout);
|
|
28
|
+
stdin.setRawMode(false).pause().removeListener('data', onData).removeListener('error', onError);
|
|
29
|
+
stdout.removeListener('error', onError);
|
|
30
|
+
isCleanedUp = true;
|
|
31
|
+
};
|
|
32
|
+
const onData = (data) => {
|
|
33
|
+
const match = /\x1b\[(\d+);(\d+)R/.exec(data); // ESC[行号;列号R
|
|
34
|
+
if (match)
|
|
35
|
+
(cleanup(), resolve(+match[2] - 1));
|
|
36
|
+
};
|
|
37
|
+
const onError = () => (cleanup(), resolve(tabSize));
|
|
38
|
+
const timeout = setTimeout(onError, 1000); // 超时回退
|
|
39
|
+
// 原始人,启动!
|
|
40
|
+
stdin.on('error', onError).setRawMode(true).resume().setEncoding('utf8').on('data', onData);
|
|
41
|
+
// \x1b7 保存光标位置 -> \r 回车 -> \t 输出制表符 -> \x1b[6n 读取光标位置 -> \x1b8 恢复光标位置
|
|
42
|
+
stdout.on('error', onError).write('\x1b7\r\t\x1b[6n\x1b8');
|
|
43
|
+
tabSize = await promise;
|
|
44
|
+
}
|
|
45
|
+
function tabbedStringWidth(string, currentCursor = 0) {
|
|
46
|
+
let cursor = currentCursor, prevNonTabStart = 0;
|
|
47
|
+
for (let i = 0; i < string.length; i++) {
|
|
48
|
+
if (string[i] !== '\t')
|
|
49
|
+
continue;
|
|
50
|
+
if (prevNonTabStart < i)
|
|
51
|
+
cursor += stringWidth(string.slice(prevNonTabStart, i));
|
|
52
|
+
cursor += tabSize - (cursor % tabSize);
|
|
53
|
+
prevNonTabStart = i + 1;
|
|
54
|
+
}
|
|
55
|
+
if (prevNonTabStart < string.length)
|
|
56
|
+
cursor += stringWidth(string.slice(prevNonTabStart));
|
|
57
|
+
return cursor - currentCursor;
|
|
58
|
+
}
|
|
16
59
|
export function formatError(error, sourceCode, filePath) {
|
|
17
60
|
const { messageWithPhase: message, line, col, endLine, endCol, } = error instanceof MeaoiuError ? error : parseError(error instanceof Error ? error.message : String(error));
|
|
18
61
|
if (line <= 0)
|
|
@@ -22,9 +65,9 @@ export function formatError(error, sourceCode, filePath) {
|
|
|
22
65
|
if (errorLine === undefined)
|
|
23
66
|
return `坏了喵: ${message} (找不到秘卷第 ${line} 行)`;
|
|
24
67
|
const prefix = errorLine.slice(0, col - 1);
|
|
25
|
-
const prefixWidth =
|
|
68
|
+
const prefixWidth = tabbedStringWidth(prefix, 5); // 前有行号「000| 」所以光标从 5 起
|
|
26
69
|
const errorPart = errorLine.slice(col - 1, (endLine === line ? endCol : errorLine.length) - 1);
|
|
27
|
-
const errorPartWidth =
|
|
70
|
+
const errorPartWidth = tabbedStringWidth(errorPart, prefixWidth + 5) || 1;
|
|
28
71
|
const indicator = `${' '.repeat(prefixWidth)}${'^'.repeat(errorPartWidth)}`;
|
|
29
72
|
const fileName = path.basename(filePath);
|
|
30
73
|
const formattedMessage = [
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"toolUtils.js","sourceRoot":"","sources":["../../../src/cli/tools/toolUtils.ts"],"names":[],"mappings":"AAAA,6BAA6B;AAE7B,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,QAAQ,MAAM,eAAe,CAAC;AACrC,OAAO,WAAW,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAEzD,MAAM,UAAU,aAAa,CAAC,GAAW;IACxC,MAAM,KAAK,GAAG,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACxC,IAAI,CAAC,KAAK;QAAE,MAAM,UAAU,CAAC,2BAA2B,CAAC,CAAC;IAC1D,MAAM,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC;IACxB,MAAM,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC;IACvB,IAAI,IAAI,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QAAE,MAAM,UAAU,CAAC,oBAAoB,CAAC,CAAC;IAClE,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC;AACtC,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,KAAc,EAAE,UAAkB,EAAE,QAAgB;IAC/E,MAAM,EACL,gBAAgB,EAAE,OAAO,EACzB,IAAI,EACJ,GAAG,EACH,OAAO,EACP,MAAM,GACN,GAAG,KAAK,YAAY,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"toolUtils.js","sourceRoot":"","sources":["../../../src/cli/tools/toolUtils.ts"],"names":[],"mappings":"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"}
|
package/dist/core/ast.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { ArithmeticTokenKind, ComparisonTokenKind, EqualityTokenKind, Token, TokenKind } from './lexer/
|
|
1
|
+
import type { ArithmeticTokenKind, ComparisonTokenKind, EqualityTokenKind, Token, TokenKind } from './lexer/token.js';
|
|
2
2
|
export declare const enum NodeKind {
|
|
3
3
|
ErrorNode = 0,
|
|
4
4
|
Program = 1,
|
package/dist/core/ast.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ast.d.ts","sourceRoot":"","sources":["../../src/core/ast.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"ast.d.ts","sourceRoot":"","sources":["../../src/core/ast.ts"],"names":[],"mappings":"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"}
|
package/dist/core/builtIns.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import type
|
|
1
|
+
import { type MeaoiuRuntimeIO } from './run/io.js';
|
|
2
2
|
import { MeaoiuType, type MeaoiuValue } from './typedef.js';
|
|
3
|
-
export declare const meaoiuBuiltInNames: readonly ["喵", "祈求", "呼噜", "磨爪", "变摸数", "喵译", "嗅嗅", "才怪", "理直气壮", "差不多", "抢大的", "吃剩的", "摸余", "找尾巴", "喵语连珠", "打盹", "添乱", "猫咪艺术", "哈气"];
|
|
3
|
+
export declare const meaoiuBuiltInNames: readonly ["喵", "祈求", "呼噜", "磨爪", "变摸数", "喵译", "嗅嗅", "才怪", "理直气壮", "差不多", "抢大的", "吃剩的", "摸余", "找尾巴", "喵语连珠", "咬文嚼字", "打盹", "添乱", "猫咪艺术", "哈气"];
|
|
4
4
|
type BuiltInName = (typeof meaoiuBuiltInNames)[number];
|
|
5
5
|
type BuiltInFunction = (args: MeaoiuValue[]) => MeaoiuValue | Promise<MeaoiuValue>;
|
|
6
6
|
export type MeaoiuBuiltIns = Record<BuiltInName, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"builtIns.d.ts","sourceRoot":"","sources":["../../src/core/builtIns.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"builtIns.d.ts","sourceRoot":"","sources":["../../src/core/builtIns.ts"],"names":[],"mappings":"AAGA,OAAO,EAAkB,KAAK,eAAe,EAAE,MAAM,aAAa,CAAC;AACnE,OAAO,EAAiB,UAAU,EAAa,KAAK,WAAW,EAAE,MAAM,cAAc,CAAC;AAEtF,eAAO,MAAM,kBAAkB,+IAqBrB,CAAC;AACX,KAAK,WAAW,GAAG,CAAC,OAAO,kBAAkB,CAAC,CAAC,MAAM,CAAC,CAAC;AACvD,KAAK,eAAe,GAAG,CAAC,IAAI,EAAE,WAAW,EAAE,KAAK,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;AAEnF,MAAM,MAAM,cAAc,GAAG,MAAM,CAClC,WAAW,EACX;IACC,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,UAAU,EAAE,EAAE,CAAC;IAC3B,QAAQ,EAAE,eAAe,CAAC;CAC1B,CACD,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,WAAW,CAAC,WAAW,CAA+B,CAAC;AACpF,eAAO,MAAM,qBAAqB,GAAI,MAAM,MAAM,KAAG,IAAI,IAAI,WAAwD,CAAC;AAEtH,eAAO,MAAM,sBAAsB,GAAI,IAAI,eAAe,KAAG,cAoJ3D,CAAC;AAEH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,cAAc,CAAC,WAAW,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG,MAAM,GAAG,SAAS,CAkBjH"}
|
package/dist/core/builtIns.js
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
// src/core/builtIns.ts
|
|
2
|
+
import { autoKey, Environment } from './run/environment.js';
|
|
3
|
+
import { toMeaoiuString } from './run/io.js';
|
|
2
4
|
import { getMeaoiuType, typeNames } from './typedef.js';
|
|
3
5
|
export const meaoiuBuiltInNames = [
|
|
4
6
|
'喵',
|
|
@@ -16,6 +18,7 @@ export const meaoiuBuiltInNames = [
|
|
|
16
18
|
'摸余',
|
|
17
19
|
'找尾巴',
|
|
18
20
|
'喵语连珠',
|
|
21
|
+
'咬文嚼字',
|
|
19
22
|
'打盹',
|
|
20
23
|
'添乱',
|
|
21
24
|
'猫咪艺术',
|
|
@@ -38,16 +41,18 @@ export const createBuiltInFunctions = (io) => ({
|
|
|
38
41
|
// Type Conversion
|
|
39
42
|
变摸数: {
|
|
40
43
|
paramLimit: 1,
|
|
41
|
-
paramTypes: [[1 /* MeaoiuType.STRING */]],
|
|
42
|
-
function: ([
|
|
43
|
-
|
|
44
|
-
|
|
44
|
+
paramTypes: [[1 /* MeaoiuType.STRING */, 2 /* MeaoiuType.BOOLEAN */]],
|
|
45
|
+
function: ([value]) => {
|
|
46
|
+
if (value === !!value)
|
|
47
|
+
return +value;
|
|
48
|
+
const num = Number.parseFloat(value);
|
|
49
|
+
return Number.isFinite(num) ? num : null;
|
|
45
50
|
},
|
|
46
51
|
},
|
|
47
52
|
喵译: {
|
|
48
53
|
paramLimit: 1,
|
|
49
54
|
paramTypes: [],
|
|
50
|
-
function: ([value]) =>
|
|
55
|
+
function: ([value]) => toMeaoiuString(value),
|
|
51
56
|
},
|
|
52
57
|
嗅嗅: {
|
|
53
58
|
paramLimit: 1,
|
|
@@ -111,6 +116,24 @@ export const createBuiltInFunctions = (io) => ({
|
|
|
111
116
|
paramTypes: [[1 /* MeaoiuType.STRING */]],
|
|
112
117
|
function: strings => strings.join(''),
|
|
113
118
|
},
|
|
119
|
+
咬文嚼字: {
|
|
120
|
+
paramLimit: 1,
|
|
121
|
+
paramTypes: [[1 /* MeaoiuType.STRING */], [1 /* MeaoiuType.STRING */]],
|
|
122
|
+
function: stringAndSplitter => {
|
|
123
|
+
const [string, splitter] = stringAndSplitter;
|
|
124
|
+
const newEnv = new Environment();
|
|
125
|
+
let autoIndexCounter = 0;
|
|
126
|
+
if (splitter)
|
|
127
|
+
for (const piece of string.split(splitter))
|
|
128
|
+
newEnv.addMember(autoKey(autoIndexCounter++), piece);
|
|
129
|
+
else {
|
|
130
|
+
for (const { segment } of new Intl.Segmenter().segment(string)) {
|
|
131
|
+
newEnv.addMember(autoKey(autoIndexCounter++), segment);
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
return newEnv;
|
|
135
|
+
},
|
|
136
|
+
},
|
|
114
137
|
// Thematic & Time
|
|
115
138
|
打盹: {
|
|
116
139
|
paramLimit: 0,
|
|
@@ -146,7 +169,7 @@ export const createBuiltInFunctions = (io) => ({
|
|
|
146
169
|
哈气: {
|
|
147
170
|
paramLimit: 0,
|
|
148
171
|
paramTypes: [[1 /* MeaoiuType.STRING */, 3 /* MeaoiuType.NULL */]],
|
|
149
|
-
function: ([message]) => {
|
|
172
|
+
function: ([message = '']) => {
|
|
150
173
|
throw new Error(message);
|
|
151
174
|
},
|
|
152
175
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"builtIns.js","sourceRoot":"","sources":["../../src/core/builtIns.ts"],"names":[],"mappings":"AAAA,uBAAuB;
|
|
1
|
+
{"version":3,"file":"builtIns.js","sourceRoot":"","sources":["../../src/core/builtIns.ts"],"names":[],"mappings":"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"}
|
package/dist/core/error.d.ts
CHANGED
package/dist/core/error.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"error.d.ts","sourceRoot":"","sources":["../../src/core/error.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,GAAG,MAAM,UAAU,CAAC;AACrC,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"error.d.ts","sourceRoot":"","sources":["../../src/core/error.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,GAAG,MAAM,UAAU,CAAC;AACrC,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAE9C,0BAAkB,KAAK;IACtB,OAAO,IAAI;IACX,SAAS,IAAI;IACb,OAAO,IAAI;IACX,SAAS,IAAI;IACb,QAAQ,IAAI;IACZ,OAAO,IAAI;CACX;AAED,KAAK,WAAW,GAAG;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,KAAK,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAEjH,qBAAa,WAAW;IACvB,SAAgB,OAAO,EAAE,MAAM,CAAC;IAChC,SAAgB,KAAK,EAAE,KAAK,CAAC;IAC7B,SAAgB,IAAI,EAAE,MAAM,CAAC;IAC7B,SAAgB,GAAG,EAAE,MAAM,CAAC;IAC5B,SAAgB,OAAO,EAAE,MAAM,CAAC;IAChC,SAAgB,MAAM,EAAE,MAAM,CAAC;IAC/B,gBAAuB,cAAc,2DAA4D;gBAErF,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,WAAW;IASvE,kBAAkB;IAClB,IAAW,gBAAgB,IAAI,MAAM,CAEpC;IAEM,QAAQ,IAAI,MAAM;CAGzB;AAED,wBAAgB,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,GAAG,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,GAAG,WAAW,CAO3F;AAED,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,GAAE,KAAqB,GAAG,WAAW,CAUrF"}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
export declare const enum TokenKind {
|
|
2
|
+
ERROR = 0,// 不认识的字符喵
|
|
3
|
+
EOF = 1,
|
|
4
|
+
COMMENT = 2,
|
|
5
|
+
TERMINATOR = 3,// ~
|
|
6
|
+
COMMA = 4,// ,
|
|
7
|
+
KEYWORD_USE = 5,
|
|
8
|
+
ASSIGNMENT_IS = 6,
|
|
9
|
+
ASSIGNMENT_LIKE = 7,
|
|
10
|
+
ASSIGNMENT_ONLY = 8,
|
|
11
|
+
KEYWORD_CLONE = 9,
|
|
12
|
+
KEYWORD_MOVE = 10,
|
|
13
|
+
KEYWORD_CONFIRM = 11,
|
|
14
|
+
KEYWORD_ELSE = 12,
|
|
15
|
+
KEYWORD_LOOP = 13,
|
|
16
|
+
KEYWORD_BREAK = 14,
|
|
17
|
+
KEYWORD_AMBUSH = 15,
|
|
18
|
+
KEYWORD_DEF = 16,
|
|
19
|
+
KEYWORD_CALL = 17,
|
|
20
|
+
KEYWORD_RETURN = 18,
|
|
21
|
+
NUMBER = 19,
|
|
22
|
+
STRING = 20,
|
|
23
|
+
BOOLEAN = 21,
|
|
24
|
+
NULL = 22,
|
|
25
|
+
IDENTIFIER = 23,
|
|
26
|
+
COLLECTION_START = 24,// [=
|
|
27
|
+
COLLECTION_END = 25,// =]
|
|
28
|
+
BLOCK_START = 26,// [#
|
|
29
|
+
BLOCK_END = 27,// #]
|
|
30
|
+
ACCESSOR = 28,// @
|
|
31
|
+
ARITHMETIC_PLUS = 29,// +
|
|
32
|
+
ARITHMETIC_MINUS = 30,// -
|
|
33
|
+
ARITHMETIC_MULTIPLY = 31,// *
|
|
34
|
+
ARITHMETIC_DIVIDE = 32,// /
|
|
35
|
+
COMPARISON_EQUAL = 33,// ==
|
|
36
|
+
COMPARISON_NOT_EQUAL = 34,// !=
|
|
37
|
+
COMPARISON_GREATER = 35,// >
|
|
38
|
+
COMPARISON_LESS = 36,// <
|
|
39
|
+
COMPARISON_GREATER_EQUAL = 37,// >=
|
|
40
|
+
COMPARISON_LESS_EQUAL = 38,// <=
|
|
41
|
+
LOGIC_AND = 39,// 和
|
|
42
|
+
LOGIC_OR = 40,// 或
|
|
43
|
+
LOGIC_CLOSE_AND = 41,// 都好
|
|
44
|
+
LOGIC_CLOSE_OR = 42,// 不坏
|
|
45
|
+
LOGIC_CLOSE_NOR = 43,// 都坏
|
|
46
|
+
LOGIC_CLOSE_NAND = 44
|
|
47
|
+
}
|
|
48
|
+
type AdditiveTokenKind = TokenKind.ARITHMETIC_PLUS | TokenKind.ARITHMETIC_MINUS;
|
|
49
|
+
type MultiplicativeTokenKind = TokenKind.ARITHMETIC_MULTIPLY | TokenKind.ARITHMETIC_DIVIDE;
|
|
50
|
+
export type ArithmeticTokenKind = AdditiveTokenKind | MultiplicativeTokenKind;
|
|
51
|
+
export type EqualityTokenKind = TokenKind.COMPARISON_EQUAL | TokenKind.COMPARISON_NOT_EQUAL;
|
|
52
|
+
type OrderingTokenKind = TokenKind.COMPARISON_GREATER | TokenKind.COMPARISON_LESS | TokenKind.COMPARISON_GREATER_EQUAL | TokenKind.COMPARISON_LESS_EQUAL;
|
|
53
|
+
export type ComparisonTokenKind = EqualityTokenKind | OrderingTokenKind;
|
|
54
|
+
type TokenValueMap = {
|
|
55
|
+
[TokenKind.ARITHMETIC_PLUS]: '+';
|
|
56
|
+
[TokenKind.ARITHMETIC_MINUS]: '-';
|
|
57
|
+
[TokenKind.ARITHMETIC_MULTIPLY]: '*';
|
|
58
|
+
[TokenKind.ARITHMETIC_DIVIDE]: '/';
|
|
59
|
+
[TokenKind.COMPARISON_EQUAL]: '==';
|
|
60
|
+
[TokenKind.COMPARISON_NOT_EQUAL]: '!=';
|
|
61
|
+
[TokenKind.COMPARISON_GREATER]: '>';
|
|
62
|
+
[TokenKind.COMPARISON_LESS]: '<';
|
|
63
|
+
[TokenKind.COMPARISON_GREATER_EQUAL]: '>=';
|
|
64
|
+
[TokenKind.COMPARISON_LESS_EQUAL]: '<=';
|
|
65
|
+
};
|
|
66
|
+
type TokenUnion = {
|
|
67
|
+
[K in TokenKind]: {
|
|
68
|
+
kind: K;
|
|
69
|
+
value: K extends keyof TokenValueMap ? TokenValueMap[K] : string;
|
|
70
|
+
line: number;
|
|
71
|
+
col: number;
|
|
72
|
+
endLine: number;
|
|
73
|
+
endCol: number;
|
|
74
|
+
};
|
|
75
|
+
}[TokenKind];
|
|
76
|
+
export type Token<K extends TokenKind = TokenKind> = Extract<TokenUnion, {
|
|
77
|
+
kind: K;
|
|
78
|
+
}>;
|
|
79
|
+
export declare function newToken<K extends TokenKind>(kind: K, value: K extends keyof TokenValueMap ? TokenValueMap[K] : string, startLine: number, startCol: number, endLine: number, endCol: number): Token<K>;
|
|
80
|
+
export {};
|
|
81
|
+
//# sourceMappingURL=token.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"token.d.ts","sourceRoot":"","sources":["../../../src/core/lexer/token.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"token.js","sourceRoot":"","sources":["../../../src/core/lexer/token.ts"],"names":[],"mappings":"AAAA,0BAA0B;AAoG1B,MAAM,UAAU,QAAQ,CACvB,IAAO,EACP,KAAgE,EAChE,SAAiB,EACjB,QAAgB,EAChB,OAAe,EACf,MAAc;IAEd,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAyB,CAAC;AAChG,CAAC"}
|
|
@@ -1,82 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
ERROR = 0,// 不认识的字符喵
|
|
3
|
-
EOF = 1,
|
|
4
|
-
COMMENT = 2,
|
|
5
|
-
TERMINATOR = 3,// ~
|
|
6
|
-
COMMA = 4,// ,
|
|
7
|
-
KEYWORD_USE = 5,
|
|
8
|
-
ASSIGNMENT_IS = 6,
|
|
9
|
-
ASSIGNMENT_LIKE = 7,
|
|
10
|
-
ASSIGNMENT_ONLY = 8,
|
|
11
|
-
KEYWORD_CLONE = 9,
|
|
12
|
-
KEYWORD_MOVE = 10,
|
|
13
|
-
KEYWORD_CONFIRM = 11,
|
|
14
|
-
KEYWORD_ELSE = 12,
|
|
15
|
-
KEYWORD_LOOP = 13,
|
|
16
|
-
KEYWORD_BREAK = 14,
|
|
17
|
-
KEYWORD_AMBUSH = 15,
|
|
18
|
-
KEYWORD_DEF = 16,
|
|
19
|
-
KEYWORD_CALL = 17,
|
|
20
|
-
KEYWORD_RETURN = 18,
|
|
21
|
-
NUMBER = 19,
|
|
22
|
-
STRING = 20,
|
|
23
|
-
BOOLEAN = 21,
|
|
24
|
-
NULL = 22,
|
|
25
|
-
IDENTIFIER = 23,
|
|
26
|
-
COLLECTION_START = 24,// [=
|
|
27
|
-
COLLECTION_END = 25,// =]
|
|
28
|
-
BLOCK_START = 26,// [#
|
|
29
|
-
BLOCK_END = 27,// #]
|
|
30
|
-
ACCESSOR = 28,// @
|
|
31
|
-
ARITHMETIC_PLUS = 29,// +
|
|
32
|
-
ARITHMETIC_MINUS = 30,// -
|
|
33
|
-
ARITHMETIC_MULTIPLY = 31,// *
|
|
34
|
-
ARITHMETIC_DIVIDE = 32,// /
|
|
35
|
-
COMPARISON_EQUAL = 33,// ==
|
|
36
|
-
COMPARISON_NOT_EQUAL = 34,// !=
|
|
37
|
-
COMPARISON_GREATER = 35,// >
|
|
38
|
-
COMPARISON_LESS = 36,// <
|
|
39
|
-
COMPARISON_GREATER_EQUAL = 37,// >=
|
|
40
|
-
COMPARISON_LESS_EQUAL = 38,// <=
|
|
41
|
-
LOGIC_AND = 39,// 和
|
|
42
|
-
LOGIC_OR = 40,// 或
|
|
43
|
-
LOGIC_CLOSE_AND = 41,// 都好
|
|
44
|
-
LOGIC_CLOSE_OR = 42,// 不坏
|
|
45
|
-
LOGIC_CLOSE_NOR = 43,// 都坏
|
|
46
|
-
LOGIC_CLOSE_NAND = 44
|
|
47
|
-
}
|
|
48
|
-
type AdditiveTokenKind = TokenKind.ARITHMETIC_PLUS | TokenKind.ARITHMETIC_MINUS;
|
|
49
|
-
type MultiplicativeTokenKind = TokenKind.ARITHMETIC_MULTIPLY | TokenKind.ARITHMETIC_DIVIDE;
|
|
50
|
-
export type ArithmeticTokenKind = AdditiveTokenKind | MultiplicativeTokenKind;
|
|
51
|
-
export type EqualityTokenKind = TokenKind.COMPARISON_EQUAL | TokenKind.COMPARISON_NOT_EQUAL;
|
|
52
|
-
type OrderingTokenKind = TokenKind.COMPARISON_GREATER | TokenKind.COMPARISON_LESS | TokenKind.COMPARISON_GREATER_EQUAL | TokenKind.COMPARISON_LESS_EQUAL;
|
|
53
|
-
export type ComparisonTokenKind = EqualityTokenKind | OrderingTokenKind;
|
|
54
|
-
type TokenValueMap = {
|
|
55
|
-
[TokenKind.ARITHMETIC_PLUS]: '+';
|
|
56
|
-
[TokenKind.ARITHMETIC_MINUS]: '-';
|
|
57
|
-
[TokenKind.ARITHMETIC_MULTIPLY]: '*';
|
|
58
|
-
[TokenKind.ARITHMETIC_DIVIDE]: '/';
|
|
59
|
-
[TokenKind.COMPARISON_EQUAL]: '==';
|
|
60
|
-
[TokenKind.COMPARISON_NOT_EQUAL]: '!=';
|
|
61
|
-
[TokenKind.COMPARISON_GREATER]: '>';
|
|
62
|
-
[TokenKind.COMPARISON_LESS]: '<';
|
|
63
|
-
[TokenKind.COMPARISON_GREATER_EQUAL]: '>=';
|
|
64
|
-
[TokenKind.COMPARISON_LESS_EQUAL]: '<=';
|
|
65
|
-
};
|
|
66
|
-
type TokenUnion = {
|
|
67
|
-
[K in TokenKind]: {
|
|
68
|
-
kind: K;
|
|
69
|
-
value: K extends keyof TokenValueMap ? TokenValueMap[K] : string;
|
|
70
|
-
line: number;
|
|
71
|
-
col: number;
|
|
72
|
-
endLine: number;
|
|
73
|
-
endCol: number;
|
|
74
|
-
};
|
|
75
|
-
}[TokenKind];
|
|
76
|
-
export type Token<K extends TokenKind = TokenKind> = Extract<TokenUnion, {
|
|
77
|
-
kind: K;
|
|
78
|
-
}>;
|
|
79
|
-
export declare function newToken<K extends TokenKind>(kind: K, value: K extends keyof TokenValueMap ? TokenValueMap[K] : string, startLine: number, startCol: number, endLine: number, endCol: number): Token<K>;
|
|
1
|
+
import { TokenKind, type Token } from './token.js';
|
|
80
2
|
declare const KEYWORDS: {
|
|
81
3
|
readonly 蹭: TokenKind.KEYWORD_USE;
|
|
82
4
|
readonly 就是: TokenKind.ASSIGNMENT_IS;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tokenizer.d.ts","sourceRoot":"","sources":["../../../src/core/lexer/tokenizer.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"tokenizer.d.ts","sourceRoot":"","sources":["../../../src/core/lexer/tokenizer.ts"],"names":[],"mappings":"AAIA,OAAO,EAAY,SAAS,EAAE,KAAK,KAAK,EAAE,MAAM,YAAY,CAAC;AAE7D,QAAA,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;CAwBgC,CAAC;AAC/C,KAAK,OAAO,GAAG,MAAM,OAAO,QAAQ,CAAC;AACrC,eAAO,MAAM,cAAc,EAAgE,SAAS,OAAO,EAAE,CAAC;AAM9G,eAAO,MAAM,eAAe,GAAI,QAAQ,MAAM,KAAG,OAIhD,CAAC;AAGF,KAAK,gBAAgB,GAAG;IACvB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,WAAW,CAAC,EAAE,OAAO,CAAC;CACtB,CAAC;AAiBF,wBAAgB,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,gBAAgB,GAAG,KAAK,EAAE,CAmOhF"}
|