@poe-platform/safe-bash 0.1.510 → 0.1.512

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.
@@ -1 +1 @@
1
- {"version":3,"file":"syntax.js","sourceRoot":"","sources":["../../../../src/commands/regex-execution/ere/syntax.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAClE,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAGxC,MAAM,QAAQ,GAAG,IAAI,OAAO,EAAoD,CAAC;AACjF,MAAM,OAAO,GAAG,iBAAiB,CAAC;AAClC,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC;AAEvI,SAAS,WAAW,CAAC,IAAY,EAAE,IAAY;IAC7C,MAAM,KAAK,GAAG,IAAI,IAAI,EAAE,IAAI,IAAI,IAAI,EAAE,CAAC;IACvC,MAAM,KAAK,GAAG,IAAI,IAAI,EAAE,IAAI,IAAI,IAAI,GAAG,CAAC;IACxC,MAAM,KAAK,GAAG,IAAI,IAAI,EAAE,IAAI,IAAI,IAAI,EAAE,CAAC;IACvC,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,OAAO,CAAC,CAAC,OAAO,KAAK,IAAI,KAAK,IAAI,KAAK,CAAC;QAC7C,KAAK,OAAO,CAAC,CAAC,OAAO,KAAK,IAAI,KAAK,CAAC;QACpC,KAAK,OAAO,CAAC,CAAC,OAAO,IAAI,KAAK,CAAC,IAAI,IAAI,KAAK,EAAE,CAAC;QAC/C,KAAK,OAAO,CAAC,CAAC,OAAO,IAAI,GAAG,EAAE,IAAI,IAAI,KAAK,GAAG,CAAC;QAC/C,KAAK,OAAO,CAAC,CAAC,OAAO,KAAK,CAAC;QAC3B,KAAK,OAAO,CAAC,CAAC,OAAO,IAAI,IAAI,EAAE,IAAI,IAAI,IAAI,GAAG,CAAC;QAC/C,KAAK,OAAO,CAAC,CAAC,OAAO,KAAK,CAAC;QAC3B,KAAK,OAAO,CAAC,CAAC,OAAO,IAAI,IAAI,EAAE,IAAI,IAAI,IAAI,GAAG,CAAC;QAC/C,KAAK,OAAO,CAAC,CAAC,OAAO,IAAI,IAAI,EAAE,IAAI,IAAI,IAAI,GAAG,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC;QAC7E,KAAK,OAAO,CAAC,CAAC,OAAO,IAAI,KAAK,EAAE,IAAI,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,EAAE,CAAC;QAC5D,KAAK,OAAO,CAAC,CAAC,OAAO,KAAK,CAAC;QAC3B,KAAK,QAAQ,CAAC,CAAC,OAAO,KAAK,IAAI,IAAI,IAAI,EAAE,IAAI,IAAI,IAAI,EAAE,IAAI,IAAI,IAAI,EAAE,IAAI,IAAI,IAAI,GAAG,CAAC;QACrF,OAAO,CAAC,CAAC,OAAO,KAAK,CAAC;IACxB,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,IAAY,EAAE,MAAiB,EAAE,MAAoB;IACpF,KAAK,IAAI,MAAM,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,CAAC;QACpD,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC;QACjC,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QACrC,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,GAAG,GAAG;YAAE,MAAM,IAAI,mBAAmB,CAAC,2CAA2C,EAAE,MAAM,CAAC,CAAC;QACjH,MAAM,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IAClC,CAAC;AACH,CAAC;AAED,KAAK,UAAU,OAAO,CAAC,KAAsC,EAAE,MAAiB,EAAE,MAAoB;IACpG,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,MAAM,CAAC,UAAU,CAAC,cAAc,EAAE,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACxD,MAAM,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;QACxC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;IAC1C,CAAC;IACD,IAAI,IAAI,GAAG,CAAC,CAAC;IACb,KAAK,MAAM,QAAQ,IAAI,KAAK,EAAE,CAAC;QAC7B,IAAI,OAAO,QAAQ,CAAC,IAAI,KAAK,QAAQ,IAAI,OAAO,QAAQ,CAAC,OAAO,KAAK,SAAS;YAAE,MAAM,IAAI,SAAS,CAAC,sBAAsB,CAAC,CAAC;QAC5H,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC;QACjC,MAAM,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QAChC,MAAM,CAAC,UAAU,CAAC,cAAc,EAAE,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAChE,MAAM,UAAU,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;QAChD,IAAI,QAAQ,CAAC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,YAAY,GAAG,IAAI;YAAE,MAAM,CAAC,UAAU,CAAC,cAAc,EAAE,MAAM,CAAC,MAAM,CAAC,YAAY,GAAG,CAAC,EAAE,MAAM,CAAC,CAAC;QACxI,IAAI,IAAI,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC;QAC7B,MAAM,CAAC,UAAU,CAAC,cAAc,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;IAClD,CAAC;IACD,MAAM,CAAC,MAAM,CAAC,iBAAiB,EAAE,IAAI,GAAG,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,MAAM,CAAC,CAAC;IACtE,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,MAAM,MAAM,GAAc,EAAE,CAAC;IAC7B,KAAK,MAAM,QAAQ,IAAI,KAAK,EAAE,CAAC;QAC7B,KAAK,IAAI,MAAM,GAAG,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,CAAC;YAC7D,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC;YACjC,MAAM,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;YAChC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QAChC,CAAC;QACD,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC3B,MAAM,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IAClC,CAAC;IACD,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;AACrE,CAAC;AAED,MAAM,MAAM;IAIW;IAA0B;IAA4C;IAA4B;IAHvH,MAAM,GAAG,CAAC,CAAC;IACX,MAAM,GAAG,CAAC,CAAC;IACX,KAAK,GAAG,CAAC,CAAC;IACV,YAAqB,OAAe,EAAW,MAAiC,EAAW,MAAiB,EAAW,MAA+B;QAAjI,YAAO,GAAP,OAAO,CAAQ;QAAW,WAAM,GAAN,MAAM,CAA2B;QAAW,WAAM,GAAN,MAAM,CAAW;QAAW,WAAM,GAAN,MAAM,CAAyB;IAAG,CAAC;IAE1J,EAAE,CAAC,SAAiB,EAAE,MAAM,GAAG,IAAI,CAAC,MAAM,IAAa,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC;IAE7H,IAAI,CAAC,MAAqB;QACxB,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI;YAAE,MAAM,IAAI,mBAAmB,CAAC,2BAA2B,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QAChG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,iBAAiB,EAAE,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QACtD,IAAI,CAAC,KAAK,EAAE,CAAC;QACb,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;IACjC,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,KAAa;QAC5B,IAAI,KAAK,GAAG,EAAE;YAAE,MAAM,IAAI,mBAAmB,CAAC,0BAA0B,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QACvF,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,iBAAiB,EAAE,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QACtD,MAAM,YAAY,GAAc,EAAE,CAAC;QACnC,OAAO,IAAI,EAAE,CAAC;YACZ,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YACzC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,iBAAiB,EAAE,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;YACtD,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACzB,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC;gBAAE,MAAM;YACzB,IAAI,CAAC,MAAM,EAAE,CAAC;QAChB,CAAC;QACD,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,YAAY,CAAC,CAAC,CAAE,CAAC;QACvD,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QACjE,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC1C,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,QAAQ,EAAE,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,QAAQ,EAAE,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;IACvM,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,KAAa;QAC1B,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,iBAAiB,EAAE,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QACtD,MAAM,QAAQ,GAAc,EAAE,CAAC;QAC/B,OAAO,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC;YAC3E,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;YAC3C,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC1C,IAAI,KAAK,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACnC,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACpF,IAAI,QAAQ,KAAK,GAAG,IAAI,QAAQ,KAAK,GAAG,IAAI,QAAQ,KAAK,GAAG,IAAI,QAAQ,KAAK,GAAG,EAAE,CAAC;gBACjF,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;gBAC5B,IAAI,GAAG,GAAG,QAAQ,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBACnC,IAAI,GAAG,GAAG,QAAQ,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;gBAC1C,IAAI,QAAQ,KAAK,GAAG,EAAE,CAAC;oBACrB,GAAG,GAAG,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;oBACzB,GAAG,GAAG,GAAG,CAAC;oBACV,IAAI,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC;wBACjB,IAAI,CAAC,MAAM,EAAE,CAAC;wBACd,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;oBACrD,CAAC;oBACD,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,GAAG,GAAG,GAAG;wBAAE,MAAM,IAAI,cAAc,CAAC,kBAAkB,EAAE,KAAK,CAAC,CAAC;oBACpF,IAAI,CAAC,MAAM,EAAE,CAAC;gBAChB,CAAC;gBACD,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,IAAI,KAAK,CAAC,IAAI,KAAK,KAAK;oBAAE,MAAM,IAAI,mBAAmB,CAAC,iBAAiB,EAAE,KAAK,CAAC,CAAC;gBAC5G,IAAI,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,QAAQ,IAAI,GAAG,GAAG,CAAC;oBAAE,MAAM,IAAI,mBAAmB,CAAC,8BAA8B,EAAE,KAAK,CAAC,CAAC;gBACtH,MAAM,QAAQ,GAAG,KAAK,CAAC;gBACvB,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC,IAAI,QAAQ,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;gBAChJ,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBAChF,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG;oBAAE,MAAM,IAAI,mBAAmB,CAAC,oBAAoB,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;YACrI,CAAC;YACD,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,iBAAiB,EAAE,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;YACtD,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACvB,CAAC;QACD,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;QACxG,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,QAAQ,CAAC,CAAC,CAAE,CAAC;QAC/C,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QAC7D,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC1C,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;IACzL,CAAC;IAED,KAAK,CAAC,KAAK;QACT,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC;QAC1B,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,SAAS,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAE,IAAI,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAE,IAAI,GAAG,EAAE,CAAC;YACxJ,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;YAC3C,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC1C,KAAK,GAAG,KAAK,GAAG,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC;YACjE,IAAI,KAAK,GAAG,GAAG;gBAAE,MAAM,IAAI,mBAAmB,CAAC,4BAA4B,EAAE,KAAK,CAAC,CAAC;QACtF,CAAC;QACD,IAAI,KAAK,KAAK,IAAI,CAAC,MAAM;YAAE,MAAM,IAAI,cAAc,CAAC,wBAAwB,EAAE,KAAK,CAAC,CAAC;QACrF,OAAO,KAAK,CAAC;IACf,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,KAAa;QACtB,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC;QAC1B,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,CAAE,CAAC;QAC/C,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;QACzI,IAAI,SAAS,KAAK,GAAG,EAAE,CAAC;YACtB,IAAI,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC;gBAAE,MAAM,IAAI,mBAAmB,CAAC,uBAAuB,EAAE,KAAK,CAAC,CAAC;YAChF,IAAI,IAAI,CAAC,MAAM,IAAI,EAAE;gBAAE,MAAM,IAAI,mBAAmB,CAAC,0BAA0B,EAAE,KAAK,CAAC,CAAC;YACxF,MAAM,KAAK,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC;YAC5B,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;YAC/C,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC;gBAAE,MAAM,IAAI,cAAc,CAAC,gBAAgB,EAAE,KAAK,CAAC,CAAC;YACrE,IAAI,CAAC,MAAM,EAAE,CAAC;YACd,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QACtG,CAAC;QACD,IAAI,SAAS,KAAK,GAAG;YAAE,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAC9C,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;YACvB,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;YAC5C,IAAI,OAAO,KAAK,SAAS;gBAAE,MAAM,IAAI,cAAc,CAAC,iBAAiB,EAAE,KAAK,CAAC,CAAC;YAC9E,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC;gBAAE,MAAM,IAAI,mBAAmB,CAAC,mCAAmC,EAAE,KAAK,CAAC,CAAC;YAC1G,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;QAC/G,CAAC;QACD,IAAI,SAAS,KAAK,GAAG,IAAI,SAAS,KAAK,GAAG,IAAI,SAAS,KAAK,GAAG,IAAI,SAAS,KAAK,GAAG;YAAE,MAAM,IAAI,cAAc,CAAC,4BAA4B,EAAE,KAAK,CAAC,CAAC;QACpJ,IAAI,SAAS,KAAK,GAAG;YAAE,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;QACnG,IAAI,SAAS,KAAK,GAAG;YAAE,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;QACpG,IAAI,SAAS,KAAK,GAAG;YAAE,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;QAClG,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;IACjH,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,KAAa;QACrB,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,iBAAiB,EAAE,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QACxD,MAAM,OAAO,GAAc,IAAI,KAAK,CAAU,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC/D,MAAM,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;QAC5B,IAAI,MAAM;YAAE,IAAI,CAAC,MAAM,EAAE,CAAC;QAC1B,IAAI,KAAK,GAAG,IAAI,CAAC;QACjB,OAAO,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;YACzC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;YAC3C,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC1C,IAAI,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;gBAC3B,IAAI,CAAC,MAAM,EAAE,CAAC;gBACd,IAAI,MAAM;oBAAE,KAAK,IAAI,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC;wBAClD,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;wBAC3C,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;wBAC1C,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;oBACjC,CAAC;gBACD,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;YAC/G,CAAC;YACD,KAAK,GAAG,KAAK,CAAC;YACd,IAAI,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;gBACrF,MAAM,IAAI,mBAAmB,CAAC,kCAAkC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;YACjF,CAAC;YACD,IAAI,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC;gBAClD,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC;gBAC/B,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC;gBACjB,IAAI,IAAI,GAAG,EAAE,CAAC;gBACd,OAAO,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC;oBAC1D,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;oBAC3C,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;oBAC1C,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC;wBAAE,MAAM,IAAI,cAAc,CAAC,yBAAyB,EAAE,UAAU,CAAC,CAAC;oBACtF,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;gBACtC,CAAC;gBACD,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC;oBAAE,MAAM,IAAI,cAAc,CAAC,yBAAyB,EAAE,UAAU,CAAC,CAAC;gBAC3I,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC;gBACjB,KAAK,IAAI,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC;oBACtC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;oBAC3C,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;oBAC1C,IAAI,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC;wBAAE,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;gBACpD,CAAC;gBACD,IAAI,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;oBAAE,MAAM,IAAI,cAAc,CAAC,kCAAkC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;YAChI,CAAC;iBAAM,CAAC;gBACN,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;gBACrD,IAAI,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,SAAS,EAAE,CAAC;oBAClG,IAAI,CAAC,MAAM,EAAE,CAAC;oBACd,IAAI,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC;wBAAE,MAAM,IAAI,cAAc,CAAC,2BAA2B,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;oBACrF,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;oBACrD,IAAI,KAAK,GAAG,KAAK;wBAAE,MAAM,IAAI,cAAc,CAAC,kBAAkB,EAAE,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;oBACjF,KAAK,IAAI,IAAI,GAAG,KAAK,EAAE,IAAI,IAAI,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC;wBAC7C,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;wBAC3C,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;wBAC1C,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;oBACvB,CAAC;gBACH,CAAC;;oBAAM,OAAO,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC;YAC/B,CAAC;QACH,CAAC;QACD,MAAM,IAAI,cAAc,CAAC,6BAA6B,EAAE,KAAK,CAAC,CAAC;IACjE,CAAC;CACF;AAED,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,KAAsC,EAAE,MAAiB,EAAE,MAAoB;IAC9G,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IACrB,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,MAAM,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACjE,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAC3D,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IACxC,IAAI,MAAM,CAAC,MAAM,KAAK,OAAO,CAAC,MAAM;QAAE,MAAM,IAAI,cAAc,CAAC,yBAAyB,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;IACzG,MAAM,CAAC,MAAM,CAAC,iBAAiB,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC;IAC5C,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;IAClE,QAAQ,CAAC,GAAG,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;IACxC,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,OAAmB,EAAE,MAAiB;IACtE,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IACpC,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,KAAK,MAAM;QAAE,MAAM,IAAI,SAAS,CAAC,oDAAoD,CAAC,CAAC;IACjH,OAAO,KAAK,CAAC,IAAI,CAAC;AACpB,CAAC"}
1
+ {"version":3,"file":"syntax.js","sourceRoot":"","sources":["../../../../src/commands/regex-execution/ere/syntax.ts"],"names":[],"mappings":"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"}
@@ -40,6 +40,7 @@ export type EreNode = EreNodeBase & ({
40
40
  } | {
41
41
  readonly kind: "set";
42
42
  readonly members: readonly boolean[];
43
+ readonly nonAscii: boolean;
43
44
  } | {
44
45
  readonly kind: "sequence" | "alternative";
45
46
  readonly children: readonly EreNode[];
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/commands/regex-execution/ere/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,WAAW,GACnB,cAAc,GACd,cAAc,GACd,MAAM,GACN,QAAQ,GACR,iBAAiB,GACjB,cAAc,GACd,cAAc,CAAC;AAEnB,MAAM,MAAM,SAAS,GAAG,QAAQ,CAAC,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC;AAC9D,MAAM,MAAM,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC;AAE7D,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;CACrC;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;CAC3B;AAED,MAAM,WAAW,OAAO;IACtB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC;IACvB,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAC,OAAO,GAAG,IAAI,CAAC,EAAE,CAAC;IAC/C,QAAQ,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC;CACpC;AAED,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,OAAO,EAAE,KAAK,CAAC;IACxB,QAAQ,CAAC,QAAQ,EAAE,SAAS,EAAE,CAAC;IAC/B,QAAQ,CAAC,MAAM,EAAE,SAAS,EAAE,CAAC;CAC9B;AAED,MAAM,MAAM,SAAS,GAAG,QAAQ,GAAG,UAAU,CAAC;AAE9C,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;CAC5B;AAED,MAAM,MAAM,OAAO,GAAG,WAAW,GAAG,CAChC;IAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,GAAG,KAAK,GAAG,OAAO,GAAG,KAAK,CAAA;CAAE,GACpD;IAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GACnD;IAAE,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,SAAS,OAAO,EAAE,CAAA;CAAE,GAC9D;IAAE,QAAQ,CAAC,IAAI,EAAE,UAAU,GAAG,aAAa,CAAC;IAAC,QAAQ,CAAC,QAAQ,EAAE,SAAS,OAAO,EAAE,CAAA;CAAE,GACpF;IAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAA;CAAE,GAC3E;IAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;CAAE,CACnG,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/commands/regex-execution/ere/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,WAAW,GACnB,cAAc,GACd,cAAc,GACd,MAAM,GACN,QAAQ,GACR,iBAAiB,GACjB,cAAc,GACd,cAAc,CAAC;AAEnB,MAAM,MAAM,SAAS,GAAG,QAAQ,CAAC,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC;AAC9D,MAAM,MAAM,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC;AAE7D,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;CACrC;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;CAC3B;AAED,MAAM,WAAW,OAAO;IACtB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC;IACvB,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAC,OAAO,GAAG,IAAI,CAAC,EAAE,CAAC;IAC/C,QAAQ,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC;CACpC;AAED,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,OAAO,EAAE,KAAK,CAAC;IACxB,QAAQ,CAAC,QAAQ,EAAE,SAAS,EAAE,CAAC;IAC/B,QAAQ,CAAC,MAAM,EAAE,SAAS,EAAE,CAAC;CAC9B;AAED,MAAM,MAAM,SAAS,GAAG,QAAQ,GAAG,UAAU,CAAC;AAE9C,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;CAC5B;AAED,MAAM,MAAM,OAAO,GAAG,WAAW,GAAG,CAChC;IAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,GAAG,KAAK,GAAG,OAAO,GAAG,KAAK,CAAA;CAAE,GACpD;IAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GACnD;IAAE,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,SAAS,OAAO,EAAE,CAAC;IAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAA;CAAE,GAC1F;IAAE,QAAQ,CAAC,IAAI,EAAE,UAAU,GAAG,aAAa,CAAC;IAAC,QAAQ,CAAC,QAAQ,EAAE,SAAS,OAAO,EAAE,CAAA;CAAE,GACpF;IAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAA;CAAE,GAC3E;IAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;CAAE,CACnG,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { EreLedger } from "./ere/limits.js";
2
+ export declare function validateUtf8(input: Uint8Array | string, ledger: EreLedger, signal?: AbortSignal): Promise<void>;
3
+ //# sourceMappingURL=utf8.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utf8.d.ts","sourceRoot":"","sources":["../../../src/commands/regex-execution/utf8.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAM5C,wBAAsB,YAAY,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAiBrH"}
@@ -0,0 +1,24 @@
1
+ import { PublicDiagnostic } from "../../diagnostics.js";
2
+ import { EreLedger } from "./ere/limits.js";
3
+ function invalidUtf8() {
4
+ throw new PublicDiagnostic("bounded regex unsupported: literal patterns and subjects require valid non-NUL UTF-8 bytes");
5
+ }
6
+ export async function validateUtf8(input, ledger, signal) {
7
+ for (let index = 0; index < input.length;) {
8
+ const first = typeof input === "string" ? input.charCodeAt(index) : input[index];
9
+ const width = first < 0x80 ? 1 : first >= 0xc2 && first <= 0xdf ? 2
10
+ : first >= 0xe0 && first <= 0xef ? 3 : first >= 0xf0 && first <= 0xf4 ? 4 : 0;
11
+ ledger.charge("work", Math.max(width, 1), signal);
12
+ if (first === 0 || width === 0 || width > input.length - index)
13
+ invalidUtf8();
14
+ for (let continuation = 1; continuation < width; continuation++) {
15
+ const byte = typeof input === "string" ? input.charCodeAt(index + continuation) : input[index + continuation];
16
+ if (byte < 0x80 || byte > 0xbf || continuation === 1 && (first === 0xe0 && byte < 0xa0 || first === 0xed && byte > 0x9f
17
+ || first === 0xf0 && byte < 0x90 || first === 0xf4 && byte > 0x8f))
18
+ invalidUtf8();
19
+ }
20
+ index += width;
21
+ await ledger.checkpoint(signal);
22
+ }
23
+ }
24
+ //# sourceMappingURL=utf8.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utf8.js","sourceRoot":"","sources":["../../../src/commands/regex-execution/utf8.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,SAAS,WAAW;IAClB,MAAM,IAAI,gBAAgB,CAAC,4FAA4F,CAAC,CAAC;AAC3H,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,KAA0B,EAAE,MAAiB,EAAE,MAAoB;IACpG,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC;QAC1C,MAAM,KAAK,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAE,CAAC;QAClF,MAAM,KAAK,GAAG,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,IAAI,IAAI,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC;YACjE,CAAC,CAAC,KAAK,IAAI,IAAI,IAAI,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,IAAI,IAAI,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAChF,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;QAClD,IAAI,KAAK,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,KAAK,GAAG,KAAK,CAAC,MAAM,GAAG,KAAK;YAAE,WAAW,EAAE,CAAC;QAC9E,KAAK,IAAI,YAAY,GAAG,CAAC,EAAE,YAAY,GAAG,KAAK,EAAE,YAAY,EAAE,EAAE,CAAC;YAChE,MAAM,IAAI,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,GAAG,YAAY,CAAE,CAAC;YAC/G,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,YAAY,KAAK,CAAC,IAAI,CACtD,KAAK,KAAK,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,KAAK,KAAK,IAAI,IAAI,IAAI,GAAG,IAAI;mBAC3D,KAAK,KAAK,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,KAAK,KAAK,IAAI,IAAI,IAAI,GAAG,IAAI,CAClE;gBAAE,WAAW,EAAE,CAAC;QACnB,CAAC;QACD,KAAK,IAAI,KAAK,CAAC;QACf,MAAM,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IAClC,CAAC;AACH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"grep.d.ts","sourceRoot":"","sources":["../../../src/commands/search/grep.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiC,KAAK,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAEjG,OAAO,EAAoB,aAAa,EAAyC,MAAM,gCAAgC,CAAC;AAMxH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,aAAa,GAAG,iBAAiB,EAAE,CAqH/E"}
1
+ {"version":3,"file":"grep.d.ts","sourceRoot":"","sources":["../../../src/commands/search/grep.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiC,KAAK,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAEjG,OAAO,EAAoB,aAAa,EAAyC,MAAM,gCAAgC,CAAC;AAMxH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,aAAa,GAAG,iBAAiB,EAAE,CAsH/E"}
@@ -73,6 +73,7 @@ export function createGrepCommands(executor) {
73
73
  const maxCount = value(parsed, "m") === undefined ? Infinity : integer(value(parsed, "m"));
74
74
  const batchSize = Number.isFinite(maxCount) || parsed.flags.has("q") || parsed.flags.has("l") || parsed.flags.has("L") ? 1 : 128;
75
75
  const delimiter = parsed.flags.has("z") ? "\0" : "\n";
76
+ const extractMatches = parsed.flags.has("o") && !["c", "q", "l", "L", "v"].some(flag => parsed.flags.has(flag));
76
77
  let anySelected = false;
77
78
  let failed = false;
78
79
  for (const name of names) {
@@ -85,7 +86,7 @@ export function createGrepCommands(executor) {
85
86
  const source = name === "-" ? input(context) : requiredFileInput(context, grepRequirements, "file", name, bufferLimit);
86
87
  records: if (maxCount > 0)
87
88
  for await (const batch of available.batches(lines(available.source(source), parsed.flags.has("z") ? 0 : 10), line => line.bytes.length, () => batchSize)) {
88
- const results = await session.run(descriptor, batch.map(line => ({ bytes: line.bytes, all: parsed.flags.has("o"), terminated: line.terminated })));
89
+ const results = await session.run(descriptor, batch.map(line => ({ bytes: line.bytes, all: extractMatches, terminated: line.terminated })));
89
90
  for (let index = 0; index < batch.length; index++) {
90
91
  const line = batch[index];
91
92
  context.signal.throwIfAborted();
@@ -1 +1 @@
1
- {"version":3,"file":"grep.js","sourceRoot":"","sources":["../../../src/commands/search/grep.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"grep.js","sourceRoot":"","sources":["../../../src/commands/search/grep.ts"],"names":[],"mappings":"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"}
@@ -1482,7 +1482,7 @@ var Parser2 = class {
1482
1482
  await this.ledger.checkpoint(this.signal);
1483
1483
  members[code] = !members[code];
1484
1484
  }
1485
- return this.node(() => ({ kind: "set", members: Object.freeze(members), nullable: false, captured: false }));
1485
+ return this.node(() => ({ kind: "set", members: Object.freeze(members), nonAscii: negate, nullable: false, captured: false }));
1486
1486
  }
1487
1487
  first = false;
1488
1488
  if (this.at("[") && (this.at(".", this.offset + 1) || this.at("=", this.offset + 1))) {
@@ -1543,6 +1543,28 @@ function resolveEreProgram(program, ledger) {
1543
1543
 
1544
1544
  // packages/safe-bash/src/commands/regex-execution/ere/matcher.ts
1545
1545
  init_platform();
1546
+
1547
+ // packages/safe-bash/src/commands/regex-execution/utf8.ts
1548
+ init_platform();
1549
+ function invalidUtf8() {
1550
+ throw new PublicDiagnostic("bounded regex unsupported: literal patterns and subjects require valid non-NUL UTF-8 bytes");
1551
+ }
1552
+ async function validateUtf8(input3, ledger, signal) {
1553
+ for (let index = 0; index < input3.length; ) {
1554
+ const first = typeof input3 === "string" ? input3.charCodeAt(index) : input3[index];
1555
+ const width = first < 128 ? 1 : first >= 194 && first <= 223 ? 2 : first >= 224 && first <= 239 ? 3 : first >= 240 && first <= 244 ? 4 : 0;
1556
+ ledger.charge("work", Math.max(width, 1), signal);
1557
+ if (first === 0 || width === 0 || width > input3.length - index) invalidUtf8();
1558
+ for (let continuation = 1; continuation < width; continuation++) {
1559
+ const byte = typeof input3 === "string" ? input3.charCodeAt(index + continuation) : input3[index + continuation];
1560
+ if (byte < 128 || byte > 191 || continuation === 1 && (first === 224 && byte < 160 || first === 237 && byte > 159 || first === 240 && byte < 144 || first === 244 && byte > 143)) invalidUtf8();
1561
+ }
1562
+ index += width;
1563
+ await ledger.checkpoint(signal);
1564
+ }
1565
+ }
1566
+
1567
+ // packages/safe-bash/src/commands/regex-execution/ere/matcher.ts
1546
1568
  function spanOrder(left, right) {
1547
1569
  if (left === null) return right === null ? 0 : -1;
1548
1570
  if (right === null) return 1;
@@ -1616,9 +1638,56 @@ async function resetDescendants(node, previous, ledger, signal) {
1616
1638
  }
1617
1639
  async function matchEre(program, subject, ledger, signal) {
1618
1640
  ledger.check(signal);
1619
- const root = resolveEreProgram(program, ledger);
1641
+ resolveEreProgram(program, ledger);
1620
1642
  ledger.admitInput("subjectBytes", subject.length, signal);
1621
1643
  await admitAscii(subject, ledger, signal);
1644
+ return runMatcher(program, subject, ledger, signal, 0, true);
1645
+ }
1646
+ async function prepareUtf8EreSubject(bytes3, ledger, signal) {
1647
+ ledger.check(signal);
1648
+ ledger.admitInput("subjectBytes", bytes3.length, signal);
1649
+ ledger.charge("allocationUnits", bytes3.length * 11 + 16, signal);
1650
+ ledger.charge("work", bytes3.length, signal);
1651
+ const owned = new Uint8Array(bytes3);
1652
+ await validateUtf8(owned, ledger, signal);
1653
+ const characters = [];
1654
+ const offsets = [];
1655
+ for (let offset = 0; offset < owned.length; ) {
1656
+ const first = owned[offset];
1657
+ const width = first < 128 ? 1 : first < 224 ? 2 : first < 240 ? 3 : 4;
1658
+ ledger.charge("work", width, signal);
1659
+ await ledger.checkpoint(signal);
1660
+ offsets.push(offset);
1661
+ characters.push(String.fromCharCode(first < 128 ? first : 128));
1662
+ offset += width;
1663
+ }
1664
+ offsets.push(owned.length);
1665
+ ledger.charge("work", characters.length, signal);
1666
+ await ledger.checkpoint(signal);
1667
+ const subject = characters.join("");
1668
+ return (program) => {
1669
+ resolveEreProgram(program, ledger);
1670
+ ledger.charge("allocationUnits", 2, signal);
1671
+ return async (start) => {
1672
+ if (!Number.isSafeInteger(start) || start < 0 || start > owned.length) throw new RangeError("Invalid UTF-8 ERE search cursor");
1673
+ let lower = 0, upper = offsets.length - 1;
1674
+ while (lower < upper) {
1675
+ ledger.charge("work", 1, signal);
1676
+ await ledger.checkpoint(signal);
1677
+ const middle = Math.floor((lower + upper) / 2);
1678
+ if (offsets[middle] < start) lower = middle + 1;
1679
+ else upper = middle;
1680
+ }
1681
+ if (offsets[lower] !== start) throw new RangeError("UTF-8 ERE cursor must be a scalar boundary");
1682
+ const span = await runMatcher(program, subject, ledger, signal, lower, false);
1683
+ if (!span) return void 0;
1684
+ ledger.charge("allocationUnits", 2, signal);
1685
+ return Object.freeze({ start: offsets[span.start], end: offsets[span.end] });
1686
+ };
1687
+ };
1688
+ }
1689
+ async function runMatcher(program, subject, ledger, signal, from, materialize) {
1690
+ const root = resolveEreProgram(program, ledger);
1622
1691
  const width = program.groups + 1;
1623
1692
  ledger.charge("work", width * 2, signal);
1624
1693
  ledger.charge("allocationUnits", width * 2 + 1, signal);
@@ -1635,7 +1704,7 @@ async function matchEre(program, subject, ledger, signal) {
1635
1704
  ledger.charge("allocationUnits", 5, signal);
1636
1705
  pending.push({ position, task: next, captures, histories });
1637
1706
  };
1638
- for (let start = 0; start <= subject.length; start++) {
1707
+ for (let start = from; start <= subject.length; start++) {
1639
1708
  push(start, task(() => ({ kind: "node", node: root, next: null })), emptyCaptures, emptyHistories);
1640
1709
  let best;
1641
1710
  while (pending.length > 0) {
@@ -1685,7 +1754,7 @@ async function matchEre(program, subject, ledger, signal) {
1685
1754
  case "literal":
1686
1755
  case "set": {
1687
1756
  const code = subject.charCodeAt(state.position);
1688
- if (state.position < subject.length && (node.kind === "dot" || node.kind === "literal" && node.code === code || node.kind === "set" && node.members[code])) {
1757
+ if (state.position < subject.length && (node.kind === "dot" || node.kind === "literal" && node.code === code || node.kind === "set" && (code < 128 ? node.members[code] : node.nonAscii))) {
1689
1758
  push(state.position + 1, current.next, state.captures, state.histories);
1690
1759
  }
1691
1760
  break;
@@ -1720,6 +1789,11 @@ async function matchEre(program, subject, ledger, signal) {
1720
1789
  }
1721
1790
  }
1722
1791
  if (best) {
1792
+ if (!materialize) {
1793
+ ledger.charge("allocationUnits", 2, signal);
1794
+ ledger.check(signal);
1795
+ return Object.freeze({ start, end: best.position });
1796
+ }
1723
1797
  ledger.charge("captureSlots", width, signal);
1724
1798
  let bytes3 = best.position - start;
1725
1799
  for (let group = 1; group < width; group++) {
@@ -1745,8 +1819,9 @@ async function matchEre(program, subject, ledger, signal) {
1745
1819
  return Object.freeze({ matched: true, captures: Object.freeze(captures), values: Object.freeze(values) });
1746
1820
  }
1747
1821
  }
1748
- ledger.charge("allocationUnits", 3, signal);
1749
1822
  ledger.check(signal);
1823
+ if (!materialize) return void 0;
1824
+ ledger.charge("allocationUnits", 3, signal);
1750
1825
  return Object.freeze({ matched: false, captures: Object.freeze([]), values: Object.freeze([]) });
1751
1826
  }
1752
1827
 
@@ -1760,7 +1835,9 @@ var defaults2 = Object.freeze({
1760
1835
  maxResultBytes: 2048,
1761
1836
  maxWork: 2e6,
1762
1837
  maxAllocationUnits: 1e6,
1763
- maxStates: 65536
1838
+ maxStates: 65536,
1839
+ maxMatchesPerLine: 128,
1840
+ maxTotalMatches: 128
1764
1841
  });
1765
1842
  var ceilings = Object.freeze({
1766
1843
  maxWorkers: 32,
@@ -1771,7 +1848,9 @@ var ceilings = Object.freeze({
1771
1848
  maxResultBytes: 65536,
1772
1849
  maxWork: 33554432,
1773
1850
  maxAllocationUnits: 4e6,
1774
- maxStates: 65536
1851
+ maxStates: 65536,
1852
+ maxMatchesPerLine: 1e5,
1853
+ maxTotalMatches: 1e5
1775
1854
  });
1776
1855
  var typedArrayPrototype = Object.getPrototypeOf(Uint8Array.prototype);
1777
1856
  var byteLength = Object.getOwnPropertyDescriptor(typedArrayPrototype, "byteLength").get;
@@ -1847,7 +1926,7 @@ function admit(input3, limits, signal) {
1847
1926
  record(row, ["bytes", "all", "terminated"], ["directory", "ancestors"]);
1848
1927
  if (!(row.bytes instanceof Uint8Array) || typeof row.all !== "boolean" || typeof row.terminated !== "boolean" || Object.hasOwn(row, "directory") && typeof row.directory !== "boolean" || Object.hasOwn(row, "ancestors") && typeof row.ancestors !== "boolean") fail("protocol", "invalid row");
1849
1928
  if (Object.hasOwn(row, "directory") || Object.hasOwn(row, "ancestors")) fail("unsupported", "glob row flags are unsupported");
1850
- if (row.all) fail("unsupported", "all-match enumeration is unsupported");
1929
+ if (row.all && selected.kind !== "grep") fail("unsupported", "rg all-match enumeration is unsupported");
1851
1930
  const length = byteLength.call(row.bytes);
1852
1931
  if (length > limits.maxInputBytes - bytes3) fail("limit", "aggregate input byte limit exceeded");
1853
1932
  bytes3 += length;
@@ -1869,9 +1948,9 @@ function admit(input3, limits, signal) {
1869
1948
  const source2 = new Uint8Array(byteBuffer.call(row.bytes), byteOffset.call(row.bytes), byteLength.call(row.bytes));
1870
1949
  const copy2 = new Uint8Array(source2.length);
1871
1950
  copy2.set(source2);
1872
- rows2.push({ bytes: copy2, all: false, terminated: row.terminated });
1951
+ rows2.push({ bytes: copy2, all: row.all, terminated: row.terminated });
1873
1952
  }
1874
- return { id: input3.id, descriptor: ownedDescriptor, rows: rows2, ledger };
1953
+ return { id: input3.id, descriptor: ownedDescriptor, rows: rows2, ledger, limits };
1875
1954
  }
1876
1955
  function admitExpr(input3, limits, signal) {
1877
1956
  signal.throwIfAborted();
@@ -1955,20 +2034,6 @@ async function admitBre(pattern, ledger, signal) {
1955
2034
  }
1956
2035
  }
1957
2036
  }
1958
- async function validateUtf8(input3, ledger, signal) {
1959
- for (let index = 0; index < input3.length; ) {
1960
- const first = typeof input3 === "string" ? input3.charCodeAt(index) : input3[index];
1961
- const width = first < 128 ? 1 : first >= 194 && first <= 223 ? 2 : first >= 224 && first <= 239 ? 3 : first >= 240 && first <= 244 ? 4 : 0;
1962
- ledger.charge("work", Math.max(width, 1), signal);
1963
- if (first === 0 || width === 0 || width > input3.length - index) fail("unsupported", "literal patterns and subjects require valid non-NUL UTF-8 bytes");
1964
- for (let continuation = 1; continuation < width; continuation++) {
1965
- const byte = typeof input3 === "string" ? input3.charCodeAt(index + continuation) : input3[index + continuation];
1966
- if (byte < 128 || byte > 191 || continuation === 1 && (first === 224 && byte < 160 || first === 237 && byte > 159 || first === 240 && byte < 144 || first === 244 && byte > 143)) fail("unsupported", "literal patterns and subjects require valid non-NUL UTF-8 bytes");
1967
- }
1968
- index += width;
1969
- await ledger.checkpoint(signal);
1970
- }
1971
- }
1972
2037
  async function literalBytes(pattern, selected, ledger, signal) {
1973
2038
  const { kind } = selected;
1974
2039
  let length = 0;
@@ -2020,13 +2085,13 @@ async function compileLiteral(bytes3, ledger, signal) {
2020
2085
  }
2021
2086
  return { bytes: bytes3, fallback };
2022
2087
  }
2023
- async function literalStart(program, subject, whole, ledger, signal) {
2088
+ async function literalStart(program, subject, whole, ledger, signal, from = 0) {
2024
2089
  const { bytes: bytes3, fallback } = program;
2025
2090
  ledger.charge("work", 1, signal);
2026
2091
  await ledger.checkpoint(signal);
2027
- if (whole && bytes3.length !== subject.length || bytes3.length > subject.length) return -1;
2028
- if (bytes3.length === 0) return 0;
2029
- for (let index = 0, prefix3 = 0; index < subject.length; ) {
2092
+ if (whole && (from !== 0 || bytes3.length !== subject.length) || bytes3.length > subject.length - from) return -1;
2093
+ if (bytes3.length === 0) return from;
2094
+ for (let index = from, prefix3 = 0; index < subject.length; ) {
2030
2095
  ledger.charge("work", 1, signal);
2031
2096
  if (subject[index] === bytes3[prefix3]) {
2032
2097
  index++;
@@ -2037,15 +2102,63 @@ async function literalStart(program, subject, whole, ledger, signal) {
2037
2102
  }
2038
2103
  return -1;
2039
2104
  }
2105
+ async function enumerate(input3, row, finders, usage2, signal) {
2106
+ const { ledger, limits } = input3;
2107
+ ledger.charge("allocationUnits", finders.length + 2, signal);
2108
+ const cached = new Array(finders.length);
2109
+ const ranges = [];
2110
+ for (let from = 0; from <= row.bytes.length; ) {
2111
+ let best;
2112
+ for (let index = 0; index < finders.length; index++) {
2113
+ ledger.charge("work", 1, signal);
2114
+ await ledger.checkpoint(signal);
2115
+ let candidate = cached[index];
2116
+ if (candidate === void 0 || candidate !== null && candidate.start < from) {
2117
+ candidate = await finders[index](from) ?? null;
2118
+ cached[index] = candidate;
2119
+ }
2120
+ if (candidate && (!best || candidate.start < best.start || candidate.start === best.start && candidate.end > best.end)) best = candidate;
2121
+ }
2122
+ if (!best) break;
2123
+ if (ranges.length / 2 >= limits.maxMatchesPerLine) fail("limit", "matches per line limit exceeded");
2124
+ if (usage2.count >= limits.maxTotalMatches) fail("limit", "total match limit exceeded");
2125
+ if (usage2.count >= Math.floor(limits.maxResultBytes / 16)) fail("limit", "result byte limit exceeded");
2126
+ ledger.charge("work", 2, signal);
2127
+ ledger.charge("allocationUnits", 24, signal);
2128
+ usage2.count++;
2129
+ ranges.push(best.start, best.end);
2130
+ if (best.end > best.start) from = best.end;
2131
+ else {
2132
+ const byte = row.bytes[best.end];
2133
+ from = best.end + (byte === void 0 || byte < 128 ? 1 : byte < 224 ? 2 : byte < 240 ? 3 : 4);
2134
+ }
2135
+ }
2136
+ ledger.charge("work", ranges.length, signal);
2137
+ await ledger.checkpoint(signal);
2138
+ return new Float64Array(ranges);
2139
+ }
2040
2140
  async function executeLiteral(input3, signal) {
2041
2141
  const { descriptor: selected, rows: rows2, ledger } = input3;
2042
2142
  const programs2 = [];
2043
2143
  for (const pattern of selected.patterns) {
2044
2144
  programs2.push(await compileLiteral(await literalBytes(pattern, selected, ledger, signal), ledger, signal));
2045
2145
  }
2146
+ ledger.charge("allocationUnits", 3, signal);
2046
2147
  const results = [];
2148
+ const usage2 = { count: 0 };
2047
2149
  for (const row of rows2) {
2048
2150
  await validateUtf8(row.bytes, ledger, signal);
2151
+ if (row.all) {
2152
+ ledger.charge("allocationUnits", programs2.length * 2, signal);
2153
+ const finders = programs2.map((program) => async (from) => {
2154
+ const start2 = await literalStart(program, row.bytes, selected.whole, ledger, signal, from);
2155
+ if (start2 < 0) return void 0;
2156
+ ledger.charge("allocationUnits", 2, signal);
2157
+ return { start: start2, end: start2 + program.bytes.length };
2158
+ });
2159
+ results.push(await enumerate(input3, row, finders, usage2, signal));
2160
+ continue;
2161
+ }
2049
2162
  let start = -1;
2050
2163
  let end = -1;
2051
2164
  for (const program of programs2) {
@@ -2058,6 +2171,10 @@ async function executeLiteral(input3, signal) {
2058
2171
  if (selected.kind === "grep") break;
2059
2172
  }
2060
2173
  signal.throwIfAborted();
2174
+ if (start >= 0) {
2175
+ if (usage2.count >= input3.limits.maxTotalMatches || usage2.count >= Math.floor(input3.limits.maxResultBytes / 16)) fail("limit", "total match or result byte limit exceeded");
2176
+ usage2.count++;
2177
+ }
2061
2178
  results.push(start < 0 ? new Float64Array() : new Float64Array([start, end]));
2062
2179
  }
2063
2180
  return { id: input3.id, results };
@@ -2073,22 +2190,22 @@ async function execute(input3, signal) {
2073
2190
  const fragments = selected.whole ? [{ text: "^(", literal: false }, { text: pattern, literal: selected.fixed }, { text: ")$", literal: false }] : [{ text: pattern, literal: selected.fixed }];
2074
2191
  programs2.push(await compileEre(fragments, ledger, signal));
2075
2192
  }
2193
+ ledger.charge("allocationUnits", 3, signal);
2076
2194
  const results = [];
2195
+ const usage2 = { count: 0 };
2077
2196
  for (const row of rows2) {
2078
- ledger.charge("allocationUnits", row.bytes.length * 2 + 2, signal);
2079
- const characters = [];
2080
- for (const byte of row.bytes) {
2081
- ledger.charge("work", 1, signal);
2082
- if (byte === 0 || byte > 127) fail("unsupported", "subjects require non-NUL ASCII; Unicode and invalid UTF-8 are unsupported");
2083
- characters.push(String.fromCharCode(byte));
2084
- await ledger.checkpoint(signal);
2197
+ const subject = await prepareUtf8EreSubject(row.bytes, ledger, signal);
2198
+ if (row.all) {
2199
+ ledger.charge("allocationUnits", programs2.length + 1, signal);
2200
+ const finders = [];
2201
+ for (const program of programs2) finders.push(subject(program));
2202
+ results.push(await enumerate(input3, row, finders, usage2, signal));
2203
+ continue;
2085
2204
  }
2086
- const subject = characters.join("");
2087
2205
  let span;
2088
2206
  for (const program of programs2) {
2089
- const match = await matchEre(program, subject, ledger, signal);
2090
- if (!match.matched) continue;
2091
- const candidate = match.captures[0];
2207
+ const candidate = await subject(program)(0);
2208
+ if (!candidate) continue;
2092
2209
  if (selected.kind === "grep") {
2093
2210
  span = candidate;
2094
2211
  break;
@@ -2096,6 +2213,10 @@ async function execute(input3, signal) {
2096
2213
  if (!span || candidate.start < span.start) span = candidate;
2097
2214
  }
2098
2215
  signal.throwIfAborted();
2216
+ if (span) {
2217
+ if (usage2.count >= input3.limits.maxTotalMatches || usage2.count >= Math.floor(input3.limits.maxResultBytes / 16)) fail("limit", "total match or result byte limit exceeded");
2218
+ usage2.count++;
2219
+ }
2099
2220
  results.push(span ? new Float64Array([span.start, span.end]) : new Float64Array());
2100
2221
  }
2101
2222
  return { id: input3.id, results };
@@ -10792,6 +10913,7 @@ function createGrepCommands(executor) {
10792
10913
  const maxCount = value(parsed, "m") === void 0 ? Infinity : integer(value(parsed, "m"));
10793
10914
  const batchSize = Number.isFinite(maxCount) || parsed.flags.has("q") || parsed.flags.has("l") || parsed.flags.has("L") ? 1 : 128;
10794
10915
  const delimiter = parsed.flags.has("z") ? "\0" : "\n";
10916
+ const extractMatches = parsed.flags.has("o") && !["c", "q", "l", "L", "v"].some((flag) => parsed.flags.has(flag));
10795
10917
  let anySelected = false;
10796
10918
  let failed = false;
10797
10919
  for (const name2 of names) {
@@ -10803,7 +10925,7 @@ function createGrepCommands(executor) {
10803
10925
  const available2 = new AvailableRecords(parsed.flags.has("z") ? 0 : 10, bufferLimit);
10804
10926
  const source2 = name2 === "-" ? input(context2) : requiredFileInput(context2, grepRequirements, "file", name2, bufferLimit);
10805
10927
  records: if (maxCount > 0) for await (const batch of available2.batches(lines(available2.source(source2), parsed.flags.has("z") ? 0 : 10), (line) => line.bytes.length, () => batchSize)) {
10806
- const results = await session.run(descriptor2, batch.map((line) => ({ bytes: line.bytes, all: parsed.flags.has("o"), terminated: line.terminated })));
10928
+ const results = await session.run(descriptor2, batch.map((line) => ({ bytes: line.bytes, all: extractMatches, terminated: line.terminated })));
10807
10929
  for (let index = 0; index < batch.length; index++) {
10808
10930
  const line = batch[index];
10809
10931
  context2.signal.throwIfAborted();