just-bash 1.3.0 → 1.3.1
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/dist/ast/types.d.ts +2 -0
- package/dist/bin/just-bash.js +124 -116
- package/dist/bin/shell/shell.js +107 -99
- package/dist/bundle/ai/index.js +394 -386
- package/dist/bundle/index.js +120 -112
- package/dist/interpreter/types.d.ts +6 -0
- package/dist/shell-metadata.d.ts +28 -0
- package/package.json +1 -1
- package/dist/bin/chunks/alias-74DFXE2E.js +0 -7
- package/dist/bin/chunks/awk-S63F6IYK.js +0 -15
- package/dist/bin/chunks/awk2-4DKPX43H.js +0 -20
- package/dist/bin/chunks/awk2-6XCE67AX.js +0 -20
- package/dist/bin/chunks/awk2-DKAZ7LPG.js +0 -20
- package/dist/bin/chunks/awk2-GAJ72X3Z.js +0 -20
- package/dist/bin/chunks/awk2-HJAPWU2N.js +0 -18
- package/dist/bin/chunks/awk2-LVXC5OAC.js +0 -20
- package/dist/bin/chunks/awk2-T6HR4EYO.js +0 -20
- package/dist/bin/chunks/awk2-UYU2UYZ2.js +0 -20
- package/dist/bin/chunks/awk2-W64AZN7P.js +0 -20
- package/dist/bin/chunks/base64-KNBBHA5Y.js +0 -5
- package/dist/bin/chunks/base64-NC7HTKLZ.js +0 -5
- package/dist/bin/chunks/basename-Y7JDBYHN.js +0 -6
- package/dist/bin/chunks/bash-5IWSVGHN.js +0 -7
- package/dist/bin/chunks/bash-TQGTNXAE.js +0 -7
- package/dist/bin/chunks/cat-YZXBF5YF.js +0 -6
- package/dist/bin/chunks/chmod-3G4LK462.js +0 -9
- package/dist/bin/chunks/chunk-5KNEBKYN.js +0 -2
- package/dist/bin/chunks/chunk-6QUZ7QML.js +0 -3
- package/dist/bin/chunks/chunk-7Q4WQLOS.js +0 -9
- package/dist/bin/chunks/chunk-LV662IGP.js +0 -6
- package/dist/bin/chunks/clear-GTCFHSB2.js +0 -2
- package/dist/bin/chunks/cp-77UY7PGN.js +0 -8
- package/dist/bin/chunks/curl-NE7XEWMN.js +0 -26
- package/dist/bin/chunks/cut-UYV3FM7R.js +0 -6
- package/dist/bin/chunks/date-7NBRXV2Z.js +0 -5
- package/dist/bin/chunks/diff-TG2NXCX2.js +0 -19
- package/dist/bin/chunks/dirname-VLHP44TU.js +0 -5
- package/dist/bin/chunks/du-4FZ7WF2P.js +0 -8
- package/dist/bin/chunks/echo-DEUIS5JO.js +0 -4
- package/dist/bin/chunks/env-AKGX6HSG.js +0 -9
- package/dist/bin/chunks/env-FVITWNHG.js +0 -9
- package/dist/bin/chunks/expr-HA2ZNL6S.js +0 -5
- package/dist/bin/chunks/file-Q4UOC4J2.js +0 -23
- package/dist/bin/chunks/find-4B67H4RP.js +0 -11
- package/dist/bin/chunks/find-7BUNQZX4.js +0 -11
- package/dist/bin/chunks/find-AMA6ABN5.js +0 -11
- package/dist/bin/chunks/find-HW2TUO6B.js +0 -11
- package/dist/bin/chunks/find-JADNFF7V.js +0 -11
- package/dist/bin/chunks/find-NCI6KGUI.js +0 -11
- package/dist/bin/chunks/find-QEYP42JQ.js +0 -11
- package/dist/bin/chunks/find-WJV3FM6L.js +0 -11
- package/dist/bin/chunks/find-YATLECXJ.js +0 -11
- package/dist/bin/chunks/grep-OVWU4WCZ.js +0 -15
- package/dist/bin/chunks/grep-PHBFGJCV.js +0 -15
- package/dist/bin/chunks/head-VGXR3WWL.js +0 -2
- package/dist/bin/chunks/help-5V3MPCYQ.js +0 -16
- package/dist/bin/chunks/help-YQGNAT2T.js +0 -16
- package/dist/bin/chunks/history-PRQ4B6N2.js +0 -3
- package/dist/bin/chunks/html-to-markdown-L4UWMK4S.js +0 -84
- package/dist/bin/chunks/jq-EYSXBSCP.js +0 -14
- package/dist/bin/chunks/ln-DB7J2W5X.js +0 -10
- package/dist/bin/chunks/ls-C4MPAF3H.js +0 -26
- package/dist/bin/chunks/md5sum-KZ4MRIXM.js +0 -2
- package/dist/bin/chunks/mkdir-LWULWDHP.js +0 -7
- package/dist/bin/chunks/mv-TDYCNSIQ.js +0 -7
- package/dist/bin/chunks/paste-R36J3G4K.js +0 -8
- package/dist/bin/chunks/printf-ASOYDPIK.js +0 -14
- package/dist/bin/chunks/printf-BOFQVMMK.js +0 -15
- package/dist/bin/chunks/printf-WM4X6IZ6.js +0 -14
- package/dist/bin/chunks/pwd-X4MWD4JP.js +0 -3
- package/dist/bin/chunks/readlink-DPNOQY67.js +0 -7
- package/dist/bin/chunks/rm-W6CCBEMG.js +0 -8
- package/dist/bin/chunks/sed-7IS44XON.js +0 -48
- package/dist/bin/chunks/sed-B6FXUN7R.js +0 -80
- package/dist/bin/chunks/sed-LTCVBSRV.js +0 -80
- package/dist/bin/chunks/sed-RHLDIXPL.js +0 -76
- package/dist/bin/chunks/sed-SYSATJXR.js +0 -75
- package/dist/bin/chunks/seq-DGJILX2Q.js +0 -7
- package/dist/bin/chunks/sha1sum-XLRE72T4.js +0 -2
- package/dist/bin/chunks/sha256sum-BBKWFA43.js +0 -2
- package/dist/bin/chunks/sleep-E4DIYGTT.js +0 -10
- package/dist/bin/chunks/sort-NCQNGVCX.js +0 -16
- package/dist/bin/chunks/sort-UJP353TM.js +0 -15
- package/dist/bin/chunks/sort-WGKQ3WYR.js +0 -15
- package/dist/bin/chunks/stat-3PHITCPO.js +0 -9
- package/dist/bin/chunks/tail-YSVKBQ77.js +0 -2
- package/dist/bin/chunks/tee-UU2VS3OM.js +0 -3
- package/dist/bin/chunks/timeout-OZVAGW2H.js +0 -12
- package/dist/bin/chunks/timeout-RP2AJGMV.js +0 -12
- package/dist/bin/chunks/touch-XCIAYF5I.js +0 -4
- package/dist/bin/chunks/tr-2EEKHHO6.js +0 -20
- package/dist/bin/chunks/tree-4247W67O.js +0 -12
- package/dist/bin/chunks/true-JCX733LK.js +0 -2
- package/dist/bin/chunks/uniq-W4HF6YSB.js +0 -5
- package/dist/bin/chunks/wc-CNJ3QDRA.js +0 -6
- package/dist/bin/chunks/which-HX2NMOP3.js +0 -3
- package/dist/bin/chunks/xargs-DKUAYNEK.js +0 -4
- package/dist/bin/chunks/xargs-XAZFX5J3.js +0 -4
- package/dist/bin/chunks/xargs-YNLVLPOF.js +0 -4
- package/dist/bin/shell/chunks/alias-74DFXE2E.js +0 -7
- package/dist/bin/shell/chunks/awk-S63F6IYK.js +0 -15
- package/dist/bin/shell/chunks/awk2-4DKPX43H.js +0 -20
- package/dist/bin/shell/chunks/awk2-6XCE67AX.js +0 -20
- package/dist/bin/shell/chunks/awk2-DKAZ7LPG.js +0 -20
- package/dist/bin/shell/chunks/awk2-GAJ72X3Z.js +0 -20
- package/dist/bin/shell/chunks/awk2-HJAPWU2N.js +0 -18
- package/dist/bin/shell/chunks/awk2-LVXC5OAC.js +0 -20
- package/dist/bin/shell/chunks/awk2-T6HR4EYO.js +0 -20
- package/dist/bin/shell/chunks/awk2-UYU2UYZ2.js +0 -20
- package/dist/bin/shell/chunks/awk2-W64AZN7P.js +0 -20
- package/dist/bin/shell/chunks/base64-KNBBHA5Y.js +0 -5
- package/dist/bin/shell/chunks/base64-NC7HTKLZ.js +0 -5
- package/dist/bin/shell/chunks/basename-Y7JDBYHN.js +0 -6
- package/dist/bin/shell/chunks/bash-5IWSVGHN.js +0 -7
- package/dist/bin/shell/chunks/bash-TQGTNXAE.js +0 -7
- package/dist/bin/shell/chunks/cat-YZXBF5YF.js +0 -6
- package/dist/bin/shell/chunks/chmod-3G4LK462.js +0 -9
- package/dist/bin/shell/chunks/chunk-5KNEBKYN.js +0 -2
- package/dist/bin/shell/chunks/chunk-6QUZ7QML.js +0 -3
- package/dist/bin/shell/chunks/chunk-7Q4WQLOS.js +0 -9
- package/dist/bin/shell/chunks/chunk-LV662IGP.js +0 -6
- package/dist/bin/shell/chunks/clear-GTCFHSB2.js +0 -2
- package/dist/bin/shell/chunks/cp-77UY7PGN.js +0 -8
- package/dist/bin/shell/chunks/curl-NE7XEWMN.js +0 -26
- package/dist/bin/shell/chunks/cut-UYV3FM7R.js +0 -6
- package/dist/bin/shell/chunks/date-7NBRXV2Z.js +0 -5
- package/dist/bin/shell/chunks/diff-TG2NXCX2.js +0 -19
- package/dist/bin/shell/chunks/dirname-VLHP44TU.js +0 -5
- package/dist/bin/shell/chunks/du-4FZ7WF2P.js +0 -8
- package/dist/bin/shell/chunks/echo-DEUIS5JO.js +0 -4
- package/dist/bin/shell/chunks/env-AKGX6HSG.js +0 -9
- package/dist/bin/shell/chunks/env-FVITWNHG.js +0 -9
- package/dist/bin/shell/chunks/expr-HA2ZNL6S.js +0 -5
- package/dist/bin/shell/chunks/file-Q4UOC4J2.js +0 -23
- package/dist/bin/shell/chunks/find-4B67H4RP.js +0 -11
- package/dist/bin/shell/chunks/find-7BUNQZX4.js +0 -11
- package/dist/bin/shell/chunks/find-AMA6ABN5.js +0 -11
- package/dist/bin/shell/chunks/find-HW2TUO6B.js +0 -11
- package/dist/bin/shell/chunks/find-JADNFF7V.js +0 -11
- package/dist/bin/shell/chunks/find-NCI6KGUI.js +0 -11
- package/dist/bin/shell/chunks/find-QEYP42JQ.js +0 -11
- package/dist/bin/shell/chunks/find-WJV3FM6L.js +0 -11
- package/dist/bin/shell/chunks/find-YATLECXJ.js +0 -11
- package/dist/bin/shell/chunks/grep-OVWU4WCZ.js +0 -15
- package/dist/bin/shell/chunks/grep-PHBFGJCV.js +0 -15
- package/dist/bin/shell/chunks/head-VGXR3WWL.js +0 -2
- package/dist/bin/shell/chunks/help-5V3MPCYQ.js +0 -16
- package/dist/bin/shell/chunks/help-YQGNAT2T.js +0 -16
- package/dist/bin/shell/chunks/history-PRQ4B6N2.js +0 -3
- package/dist/bin/shell/chunks/html-to-markdown-L4UWMK4S.js +0 -84
- package/dist/bin/shell/chunks/jq-EYSXBSCP.js +0 -14
- package/dist/bin/shell/chunks/ln-DB7J2W5X.js +0 -10
- package/dist/bin/shell/chunks/ls-C4MPAF3H.js +0 -26
- package/dist/bin/shell/chunks/md5sum-KZ4MRIXM.js +0 -2
- package/dist/bin/shell/chunks/mkdir-LWULWDHP.js +0 -7
- package/dist/bin/shell/chunks/mv-TDYCNSIQ.js +0 -7
- package/dist/bin/shell/chunks/paste-R36J3G4K.js +0 -8
- package/dist/bin/shell/chunks/printf-ASOYDPIK.js +0 -14
- package/dist/bin/shell/chunks/printf-BOFQVMMK.js +0 -15
- package/dist/bin/shell/chunks/printf-WM4X6IZ6.js +0 -14
- package/dist/bin/shell/chunks/pwd-X4MWD4JP.js +0 -3
- package/dist/bin/shell/chunks/readlink-DPNOQY67.js +0 -7
- package/dist/bin/shell/chunks/rm-W6CCBEMG.js +0 -8
- package/dist/bin/shell/chunks/sed-7IS44XON.js +0 -48
- package/dist/bin/shell/chunks/sed-B6FXUN7R.js +0 -80
- package/dist/bin/shell/chunks/sed-LTCVBSRV.js +0 -80
- package/dist/bin/shell/chunks/sed-RHLDIXPL.js +0 -76
- package/dist/bin/shell/chunks/sed-SYSATJXR.js +0 -75
- package/dist/bin/shell/chunks/seq-DGJILX2Q.js +0 -7
- package/dist/bin/shell/chunks/sha1sum-XLRE72T4.js +0 -2
- package/dist/bin/shell/chunks/sha256sum-BBKWFA43.js +0 -2
- package/dist/bin/shell/chunks/sleep-E4DIYGTT.js +0 -10
- package/dist/bin/shell/chunks/sort-NCQNGVCX.js +0 -16
- package/dist/bin/shell/chunks/sort-UJP353TM.js +0 -15
- package/dist/bin/shell/chunks/sort-WGKQ3WYR.js +0 -15
- package/dist/bin/shell/chunks/stat-3PHITCPO.js +0 -9
- package/dist/bin/shell/chunks/tail-YSVKBQ77.js +0 -2
- package/dist/bin/shell/chunks/tee-UU2VS3OM.js +0 -3
- package/dist/bin/shell/chunks/timeout-OZVAGW2H.js +0 -12
- package/dist/bin/shell/chunks/timeout-RP2AJGMV.js +0 -12
- package/dist/bin/shell/chunks/touch-XCIAYF5I.js +0 -4
- package/dist/bin/shell/chunks/tr-2EEKHHO6.js +0 -20
- package/dist/bin/shell/chunks/tree-4247W67O.js +0 -12
- package/dist/bin/shell/chunks/true-JCX733LK.js +0 -2
- package/dist/bin/shell/chunks/uniq-W4HF6YSB.js +0 -5
- package/dist/bin/shell/chunks/wc-CNJ3QDRA.js +0 -6
- package/dist/bin/shell/chunks/which-HX2NMOP3.js +0 -3
- package/dist/bin/shell/chunks/xargs-DKUAYNEK.js +0 -4
- package/dist/bin/shell/chunks/xargs-XAZFX5J3.js +0 -4
- package/dist/bin/shell/chunks/xargs-YNLVLPOF.js +0 -4
- package/dist/bundle/chunks/alias-7ZSTROM7.js +0 -6
- package/dist/bundle/chunks/awk-V4C3GTJI.js +0 -14
- package/dist/bundle/chunks/awk2-365HINHI.js +0 -19
- package/dist/bundle/chunks/awk2-4YCQ6UCB.js +0 -19
- package/dist/bundle/chunks/awk2-7YCFY7D2.js +0 -19
- package/dist/bundle/chunks/awk2-7YL3P4KU.js +0 -19
- package/dist/bundle/chunks/awk2-ETXZHQQ4.js +0 -19
- package/dist/bundle/chunks/awk2-FMEL7ESV.js +0 -19
- package/dist/bundle/chunks/awk2-LE4QUFGK.js +0 -19
- package/dist/bundle/chunks/awk2-MGHA6JPJ.js +0 -17
- package/dist/bundle/chunks/awk2-XEAK5PBN.js +0 -19
- package/dist/bundle/chunks/base64-JN6XXTIG.js +0 -4
- package/dist/bundle/chunks/base64-WATI5PWI.js +0 -4
- package/dist/bundle/chunks/basename-SB5JXIY3.js +0 -5
- package/dist/bundle/chunks/bash-5WG5RD6L.js +0 -6
- package/dist/bundle/chunks/bash-T4PXVRYX.js +0 -6
- package/dist/bundle/chunks/cat-5KESXK2M.js +0 -5
- package/dist/bundle/chunks/chmod-VLKWIL3N.js +0 -8
- package/dist/bundle/chunks/chunk-4HEWHW5W.js +0 -8
- package/dist/bundle/chunks/chunk-JYYFSUWP.js +0 -5
- package/dist/bundle/chunks/chunk-TDJNT32M.js +0 -2
- package/dist/bundle/chunks/clear-ZBD2DMXN.js +0 -1
- package/dist/bundle/chunks/cp-BLHAPLQZ.js +0 -7
- package/dist/bundle/chunks/curl-PA2MWGKN.js +0 -25
- package/dist/bundle/chunks/cut-7RHEYJ7Y.js +0 -5
- package/dist/bundle/chunks/date-YOOSNZVA.js +0 -4
- package/dist/bundle/chunks/diff-IVJFQANX.js +0 -6
- package/dist/bundle/chunks/dirname-Q5HDZLH2.js +0 -4
- package/dist/bundle/chunks/du-I5HYAKTQ.js +0 -7
- package/dist/bundle/chunks/echo-W2TA2N7Y.js +0 -3
- package/dist/bundle/chunks/env-2F2VHNYS.js +0 -8
- package/dist/bundle/chunks/env-OORA5GFS.js +0 -8
- package/dist/bundle/chunks/expr-A4LJAGVP.js +0 -4
- package/dist/bundle/chunks/file-JMDIXLHY.js +0 -22
- package/dist/bundle/chunks/find-3O5V74IR.js +0 -10
- package/dist/bundle/chunks/find-4QUN2ATO.js +0 -10
- package/dist/bundle/chunks/find-522XP4ZY.js +0 -10
- package/dist/bundle/chunks/find-5UN24ZV7.js +0 -10
- package/dist/bundle/chunks/find-JXG2HF6L.js +0 -10
- package/dist/bundle/chunks/find-K3NO35MZ.js +0 -10
- package/dist/bundle/chunks/find-K7D4PKHS.js +0 -10
- package/dist/bundle/chunks/find-KP4M5DWC.js +0 -10
- package/dist/bundle/chunks/find-WM6ZETA7.js +0 -10
- package/dist/bundle/chunks/grep-3D2INI4S.js +0 -14
- package/dist/bundle/chunks/grep-CZTYKNEE.js +0 -14
- package/dist/bundle/chunks/head-7H5R4WKO.js +0 -1
- package/dist/bundle/chunks/help-SDCRRU2F.js +0 -15
- package/dist/bundle/chunks/help-XHGUXTV3.js +0 -15
- package/dist/bundle/chunks/history-7Z2STZ6Y.js +0 -2
- package/dist/bundle/chunks/html-to-markdown-XMBYO6FD.js +0 -4
- package/dist/bundle/chunks/jq-7R2XGLLH.js +0 -13
- package/dist/bundle/chunks/ln-UTUVIAFP.js +0 -9
- package/dist/bundle/chunks/ls-B7C35UDO.js +0 -23
- package/dist/bundle/chunks/md5sum-3BXZVFKC.js +0 -1
- package/dist/bundle/chunks/mkdir-WYI2LJ6H.js +0 -6
- package/dist/bundle/chunks/mv-GN23UIZU.js +0 -6
- package/dist/bundle/chunks/paste-L4TYPVSP.js +0 -7
- package/dist/bundle/chunks/printf-3ZT5XOIZ.js +0 -14
- package/dist/bundle/chunks/printf-G2SBUNW3.js +0 -13
- package/dist/bundle/chunks/printf-O2UW73XK.js +0 -13
- package/dist/bundle/chunks/pwd-ZVX5RTL4.js +0 -2
- package/dist/bundle/chunks/readlink-HHC33N5C.js +0 -6
- package/dist/bundle/chunks/rm-5X2XSQQ6.js +0 -7
- package/dist/bundle/chunks/sed-2WWCANZT.js +0 -79
- package/dist/bundle/chunks/sed-5LZHAGFR.js +0 -74
- package/dist/bundle/chunks/sed-IGVS3UIY.js +0 -79
- package/dist/bundle/chunks/sed-UZJSXYQZ.js +0 -47
- package/dist/bundle/chunks/sed-V7XSBPTD.js +0 -75
- package/dist/bundle/chunks/seq-TFPZQZPJ.js +0 -6
- package/dist/bundle/chunks/sha1sum-MSBXCB4N.js +0 -1
- package/dist/bundle/chunks/sha256sum-YMKJMSTW.js +0 -1
- package/dist/bundle/chunks/sleep-QJBQD6VS.js +0 -9
- package/dist/bundle/chunks/sort-LHMQWYH2.js +0 -14
- package/dist/bundle/chunks/sort-R3YWDMTV.js +0 -14
- package/dist/bundle/chunks/sort-TEXV7CUR.js +0 -15
- package/dist/bundle/chunks/stat-TM5F5YO4.js +0 -8
- package/dist/bundle/chunks/tail-BLGGG2VX.js +0 -1
- package/dist/bundle/chunks/tee-VCNOG5VI.js +0 -2
- package/dist/bundle/chunks/timeout-THAT7IOO.js +0 -11
- package/dist/bundle/chunks/timeout-VG2N46UR.js +0 -11
- package/dist/bundle/chunks/touch-Z5XRYFYY.js +0 -3
- package/dist/bundle/chunks/tr-UV4V27RJ.js +0 -19
- package/dist/bundle/chunks/tree-75UXQ4XJ.js +0 -11
- package/dist/bundle/chunks/true-OD7ZXH3O.js +0 -1
- package/dist/bundle/chunks/uniq-IIOQKNTS.js +0 -4
- package/dist/bundle/chunks/wc-OXLYBRUE.js +0 -5
- package/dist/bundle/chunks/which-ONWH3TNF.js +0 -2
- package/dist/bundle/chunks/xargs-752VENJT.js +0 -3
- package/dist/bundle/chunks/xargs-7KV5F66T.js +0 -3
- package/dist/bundle/chunks/xargs-E5JPQL24.js +0 -3
- package/dist/commands/awk/awk.d.ts +0 -2
- package/dist/commands/awk/executor.d.ts +0 -3
- package/dist/commands/awk/expressions.d.ts +0 -3
- package/dist/commands/awk/functions.d.ts +0 -12
- package/dist/commands/awk/interpreter2.d.ts +0 -90
- package/dist/commands/awk/parser.d.ts +0 -3
- package/dist/commands/awk/types.d.ts +0 -44
- package/dist/fs-interface.d.ts +0 -186
- package/dist/fs.d.ts +0 -39
- package/dist/overlay-fs/OverlayFs.d.ts +0 -87
- package/dist/overlay-fs/index.d.ts +0 -1
|
@@ -1,80 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
import{i as g}from"./chunk-NWWB2XRE.js";import{a as D,b as W,c as y}from"./chunk-GTNBSMZR.js";import"./chunk-5KNEBKYN.js";var G=1e4;function U(i,e,t){return{patternSpace:"",holdSpace:"",lineNumber:0,totalLines:i,deleted:!1,printed:!1,quit:!1,quitSilent:!1,exitCode:void 0,appendBuffer:[],substitutionMade:!1,lineNumberOutput:[],restartCycle:!1,currentFilename:e,pendingFileReads:[],pendingFileWrites:[],pendingExecute:void 0,rangeStates:t||new Map}}function j(i){return typeof i=="object"&&"first"in i&&"step"in i}function N(i,e,t,n){if(i==="$")return e===t;if(typeof i=="number")return e===i;if(j(i)){let{first:r,step:s}=i;return s===0?e===r:(e-r)%s===0&&e>=r}if(typeof i=="object"&&"pattern"in i)try{return new RegExp(i.pattern).test(n)}catch{return!1}return!1}function Q(i){let e=t=>t===void 0?"undefined":t==="$"?"$":typeof t=="number"?String(t):"pattern"in t?`/${t.pattern}/`:"first"in t?`${t.first}~${t.step}`:"unknown";return`${e(i.start)},${e(i.end)}`}function k(i,e,t,n,r){if(!i||!i.start&&!i.end)return!0;let s=i.start,l=i.end;if(s!==void 0&&l===void 0)return N(s,e,t,n);if(s!==void 0&&l!==void 0){let h=typeof s=="object"&&"pattern"in s,p=typeof l=="object"&&"pattern"in l;if(!h&&!p){let o=typeof s=="number"?s:s==="$"?t:1,a=typeof l=="number"?l:t;return e>=o&&e<=a}if(r){let o=Q(i),a=r.get(o);return a||(a={active:!1},r.set(o,a)),a.active?(N(l,e,t,n)&&(a.active=!1,r.set(o,a)),!0):N(s,e,t,n)?(a.active=!0,a.startLine=e,r.set(o,a),N(l,e,t,n)&&(a.active=!1,r.set(o,a)),!0):!1}return N(s,e,t,n)}return!0}function K(i){let e="",t=0;for(;t<i.length;){if(i[t]==="\\"&&t+1<i.length){let n=i[t+1];if(n==="+"||n==="?"||n==="|"){e+=n,t+=2;continue}if(n==="("||n===")"){e+=n,t+=2;continue}if(n==="{"||n==="}"){e+=n,t+=2;continue}e+=i[t]+n,t+=2;continue}if(i[t]==="+"||i[t]==="?"||i[t]==="|"||i[t]==="("||i[t]===")"){e+=`\\${i[t]}`,t++;continue}e+=i[t],t++}return e}function J(i){let e="";for(let t=0;t<i.length;t++){let n=i[t],r=n.charCodeAt(0);n==="\\"?e+="\\\\":n===" "?e+="\\t":n===`
|
|
3
|
-
`?e+=`$
|
|
4
|
-
`:n==="\r"?e+="\\r":n==="\x07"?e+="\\a":n==="\b"?e+="\\b":n==="\f"?e+="\\f":n==="\v"?e+="\\v":r<32||r>=127?e+=`\\${r.toString(8).padStart(3,"0")}`:e+=n}return`${e}$`}function P(i,e,t){let n="",r=0;for(;r<i.length;){if(i[r]==="\\"&&r+1<i.length){let s=i[r+1];if(s==="&"){n+="&",r+=2;continue}if(s==="n"){n+=`
|
|
5
|
-
`,r+=2;continue}if(s==="t"){n+=" ",r+=2;continue}let l=parseInt(s,10);if(l>=1&&l<=9){n+=t[l-1]||"",r+=2;continue}n+=s,r+=2;continue}if(i[r]==="&"){n+=e,r++;continue}n+=i[r],r++}return n}function V(i,e){let{lineNumber:t,totalLines:n,patternSpace:r}=e;if(i.type!=="label"&&k(i.address,t,n,r,e.rangeStates))switch(i.type){case"substitute":{let s=i,l="";s.global&&(l+="g"),s.ignoreCase&&(l+="i");let h=s.extendedRegex?s.pattern:K(s.pattern);try{let p=new RegExp(h,l),f=p.test(e.patternSpace);if(p.lastIndex=0,f){if(e.substitutionMade=!0,s.nthOccurrence&&s.nthOccurrence>0&&!s.global){let o=0,a=s.nthOccurrence;e.patternSpace=e.patternSpace.replace(new RegExp(h,`g${s.ignoreCase?"i":""}`),(u,...m)=>{if(o++,o===a){let v=m.slice(0,-2);return P(s.replacement,u,v)}return u})}else e.patternSpace=e.patternSpace.replace(p,(o,...a)=>{let u=a.slice(0,-2);return P(s.replacement,o,u)});s.printOnMatch&&(e.printed=!0)}}catch{}break}case"print":e.printed=!0;break;case"printFirstLine":{let s=e.patternSpace.indexOf(`
|
|
6
|
-
`);s!==-1?e.lineNumberOutput.push(e.patternSpace.slice(0,s)):e.lineNumberOutput.push(e.patternSpace);break}case"delete":e.deleted=!0;break;case"deleteFirstLine":{let s=e.patternSpace.indexOf(`
|
|
7
|
-
`);s!==-1?(e.patternSpace=e.patternSpace.slice(s+1),e.restartCycle=!0):e.deleted=!0;break}case"zap":e.patternSpace="";break;case"append":e.appendBuffer.push(i.text);break;case"insert":e.appendBuffer.unshift(`__INSERT__${i.text}`);break;case"change":e.patternSpace=i.text,e.deleted=!0,e.appendBuffer.push(i.text);break;case"hold":e.holdSpace=e.patternSpace;break;case"holdAppend":e.holdSpace?e.holdSpace+=`
|
|
8
|
-
${e.patternSpace}`:e.holdSpace=e.patternSpace;break;case"get":e.patternSpace=e.holdSpace;break;case"getAppend":e.patternSpace+=`
|
|
9
|
-
${e.holdSpace}`;break;case"exchange":{let s=e.patternSpace;e.patternSpace=e.holdSpace,e.holdSpace=s;break}case"next":e.printed=!0;break;case"quit":e.quit=!0,i.exitCode!==void 0&&(e.exitCode=i.exitCode);break;case"quitSilent":e.quit=!0,e.quitSilent=!0,i.exitCode!==void 0&&(e.exitCode=i.exitCode);break;case"list":{let s=J(e.patternSpace);e.lineNumberOutput.push(s);break}case"printFilename":e.currentFilename&&e.lineNumberOutput.push(e.currentFilename);break;case"version":break;case"readFile":e.pendingFileReads.push({filename:i.filename,wholeFile:!0});break;case"readFileLine":e.pendingFileReads.push({filename:i.filename,wholeFile:!1});break;case"writeFile":e.pendingFileWrites.push({filename:i.filename,content:`${e.patternSpace}
|
|
10
|
-
`});break;case"writeFirstLine":{let s=e.patternSpace.indexOf(`
|
|
11
|
-
`),l=s!==-1?e.patternSpace.slice(0,s):e.patternSpace;e.pendingFileWrites.push({filename:i.filename,content:`${l}
|
|
12
|
-
`});break}case"execute":i.command?e.pendingExecute={command:i.command,replacePattern:!1}:e.pendingExecute={command:e.patternSpace,replacePattern:!0};break;case"transliterate":e.patternSpace=Y(e.patternSpace,i);break;case"lineNumber":e.lineNumberOutput.push(String(e.lineNumber));break;case"branch":break;case"branchOnSubst":break;case"branchOnNoSubst":break;case"group":break}}function Y(i,e){let t="";for(let n of i){let r=e.source.indexOf(n);r!==-1?t+=e.dest[r]:t+=n}return t}function A(i,e,t,n){let r=new Map;for(let f=0;f<i.length;f++){let o=i[f];o.type==="label"&&r.set(o.name,f)}let s=n?.maxIterations??G,l=0,h=0,p=0;for(;p<i.length;){if(l++,l>s)throw new g(`sed: command execution exceeded maximum iterations (${s})`,"iterations");if(e.deleted||e.quit||e.quitSilent||e.restartCycle)break;let f=i[p];if(f.type==="nextAppend"){if(k(f.address,e.lineNumber,e.totalLines,e.patternSpace,e.rangeStates))if(t&&t.currentLineIndex+h+1<t.lines.length){h++;let o=t.lines[t.currentLineIndex+h];e.patternSpace+=`
|
|
13
|
-
${o}`,e.lineNumber=t.currentLineIndex+h+1}else{e.quit=!0,e.deleted=!0;break}p++;continue}if(f.type==="branch"){let o=f;if(k(o.address,e.lineNumber,e.totalLines,e.patternSpace,e.rangeStates)){if(o.label){let a=r.get(o.label);if(a!==void 0){p=a;continue}}break}p++;continue}if(f.type==="branchOnSubst"){let o=f;if(k(o.address,e.lineNumber,e.totalLines,e.patternSpace,e.rangeStates)&&e.substitutionMade){if(e.substitutionMade=!1,o.label){let a=r.get(o.label);if(a!==void 0){p=a;continue}}break}p++;continue}if(f.type==="branchOnNoSubst"){let o=f;if(k(o.address,e.lineNumber,e.totalLines,e.patternSpace,e.rangeStates)&&!e.substitutionMade){if(o.label){let a=r.get(o.label);if(a!==void 0){p=a;continue}}break}p++;continue}if(f.type==="group"){let o=f;k(o.address,e.lineNumber,e.totalLines,e.patternSpace,e.rangeStates)&&A(o.commands,e,t,n),p++;continue}V(f,e),p++}return h}var c;(function(i){i.NUMBER="NUMBER",i.DOLLAR="DOLLAR",i.PATTERN="PATTERN",i.STEP="STEP",i.LBRACE="LBRACE",i.RBRACE="RBRACE",i.SEMICOLON="SEMICOLON",i.NEWLINE="NEWLINE",i.COMMA="COMMA",i.COMMAND="COMMAND",i.SUBSTITUTE="SUBSTITUTE",i.TRANSLITERATE="TRANSLITERATE",i.LABEL_DEF="LABEL_DEF",i.BRANCH="BRANCH",i.BRANCH_ON_SUBST="BRANCH_ON_SUBST",i.BRANCH_ON_NO_SUBST="BRANCH_ON_NO_SUBST",i.TEXT_CMD="TEXT_CMD",i.FILE_READ="FILE_READ",i.FILE_READ_LINE="FILE_READ_LINE",i.FILE_WRITE="FILE_WRITE",i.FILE_WRITE_LINE="FILE_WRITE_LINE",i.EXECUTE="EXECUTE",i.EOF="EOF",i.ERROR="ERROR"})(c||(c={}));var I=class{input;pos=0;line=1;column=1;constructor(e){this.input=e}tokenize(){let e=[];for(;this.pos<this.input.length;){let t=this.nextToken();t&&e.push(t)}return e.push(this.makeToken(c.EOF,"")),e}makeToken(e,t,n){return{type:e,value:t,line:this.line,column:this.column,...n}}peek(e=0){return this.input[this.pos+e]||""}advance(){let e=this.input[this.pos++]||"";return e===`
|
|
14
|
-
`?(this.line++,this.column=1):this.column++,e}skipWhitespace(){for(;this.pos<this.input.length;){let e=this.peek();if(e===" "||e===" "||e==="\r")this.advance();else if(e==="#")for(;this.pos<this.input.length&&this.peek()!==`
|
|
15
|
-
`;)this.advance();else break}}nextToken(){if(this.skipWhitespace(),this.pos>=this.input.length)return null;let e=this.line,t=this.column,n=this.peek();return n===`
|
|
16
|
-
`?(this.advance(),{type:c.NEWLINE,value:`
|
|
17
|
-
`,line:e,column:t}):n===";"?(this.advance(),{type:c.SEMICOLON,value:";",line:e,column:t}):n==="{"?(this.advance(),{type:c.LBRACE,value:"{",line:e,column:t}):n==="}"?(this.advance(),{type:c.RBRACE,value:"}",line:e,column:t}):n===","?(this.advance(),{type:c.COMMA,value:",",line:e,column:t}):n==="$"?(this.advance(),{type:c.DOLLAR,value:"$",line:e,column:t}):this.isDigit(n)?this.readNumber():n==="/"?this.readPattern():n===":"?this.readLabelDef():this.readCommand()}readNumber(){let e=this.line,t=this.column,n="";for(;this.isDigit(this.peek());)n+=this.advance();if(this.peek()==="~"){this.advance();let r="";for(;this.isDigit(this.peek());)r+=this.advance();let s=parseInt(n,10),l=parseInt(r,10)||0;return{type:c.STEP,value:`${s}~${l}`,first:s,step:l,line:e,column:t}}return{type:c.NUMBER,value:parseInt(n,10),line:e,column:t}}readPattern(){let e=this.line,t=this.column;this.advance();let n="";for(;this.pos<this.input.length&&this.peek()!=="/";)if(this.peek()==="\\")n+=this.advance(),this.pos<this.input.length&&(n+=this.advance());else{if(this.peek()===`
|
|
18
|
-
`)break;n+=this.advance()}return this.peek()==="/"&&this.advance(),{type:c.PATTERN,value:n,pattern:n,line:e,column:t}}readLabelDef(){let e=this.line,t=this.column;this.advance();let n="";for(;this.pos<this.input.length;){let r=this.peek();if(r===" "||r===" "||r===`
|
|
19
|
-
`||r===";"||r==="}"||r==="{")break;n+=this.advance()}return{type:c.LABEL_DEF,value:n,label:n,line:e,column:t}}readCommand(){let e=this.line,t=this.column,n=this.advance();switch(n){case"s":return this.readSubstitute(e,t);case"y":return this.readTransliterate(e,t);case"a":case"i":case"c":return this.readTextCommand(n,e,t);case"b":return this.readBranch(c.BRANCH,"b",e,t);case"t":return this.readBranch(c.BRANCH_ON_SUBST,"t",e,t);case"T":return this.readBranch(c.BRANCH_ON_NO_SUBST,"T",e,t);case"r":return this.readFileCommand(c.FILE_READ,"r",e,t);case"R":return this.readFileCommand(c.FILE_READ_LINE,"R",e,t);case"w":return this.readFileCommand(c.FILE_WRITE,"w",e,t);case"W":return this.readFileCommand(c.FILE_WRITE_LINE,"W",e,t);case"e":return this.readExecute(e,t);case"p":case"P":case"d":case"D":case"h":case"H":case"g":case"G":case"x":case"n":case"N":case"q":case"Q":case"z":case"=":case"l":case"F":case"v":return{type:c.COMMAND,value:n,line:e,column:t};default:return{type:c.ERROR,value:n,line:e,column:t}}}readSubstitute(e,t){let n=this.advance();if(!n||n===`
|
|
20
|
-
`)return{type:c.ERROR,value:"s",line:e,column:t};let r="";for(;this.pos<this.input.length&&this.peek()!==n;)if(this.peek()==="\\")r+=this.advance(),this.pos<this.input.length&&this.peek()!==`
|
|
21
|
-
`&&(r+=this.advance());else{if(this.peek()===`
|
|
22
|
-
`)break;r+=this.advance()}if(this.peek()!==n)return{type:c.ERROR,value:"unterminated substitution pattern",line:e,column:t};this.advance();let s="";for(;this.pos<this.input.length&&this.peek()!==n;)if(this.peek()==="\\")s+=this.advance(),this.pos<this.input.length&&this.peek()!==`
|
|
23
|
-
`&&(s+=this.advance());else{if(this.peek()===`
|
|
24
|
-
`)break;s+=this.advance()}this.peek()===n&&this.advance();let l="";for(;this.pos<this.input.length;){let h=this.peek();if(h==="g"||h==="i"||h==="p"||h==="I"||this.isDigit(h))l+=this.advance();else break}return{type:c.SUBSTITUTE,value:`s${n}${r}${n}${s}${n}${l}`,pattern:r,replacement:s,flags:l,line:e,column:t}}readTransliterate(e,t){let n=this.advance();if(!n||n===`
|
|
25
|
-
`)return{type:c.ERROR,value:"y",line:e,column:t};let r="";for(;this.pos<this.input.length&&this.peek()!==n;)if(this.peek()==="\\"){this.advance();let l=this.advance();l==="n"?r+=`
|
|
26
|
-
`:l==="t"?r+=" ":r+=l}else{if(this.peek()===`
|
|
27
|
-
`)break;r+=this.advance()}if(this.peek()!==n)return{type:c.ERROR,value:"unterminated transliteration source",line:e,column:t};this.advance();let s="";for(;this.pos<this.input.length&&this.peek()!==n;)if(this.peek()==="\\"){this.advance();let l=this.advance();l==="n"?s+=`
|
|
28
|
-
`:l==="t"?s+=" ":s+=l}else{if(this.peek()===`
|
|
29
|
-
`)break;s+=this.advance()}return this.peek()===n&&this.advance(),{type:c.TRANSLITERATE,value:`y${n}${r}${n}${s}${n}`,source:r,dest:s,line:e,column:t}}readTextCommand(e,t,n){this.peek()==="\\"&&this.advance(),this.peek()===" "&&this.advance();let r="";for(;this.pos<this.input.length&&this.peek()!==`
|
|
30
|
-
`;)r+=this.advance();return{type:c.TEXT_CMD,value:e,text:r.trim(),line:t,column:n}}readBranch(e,t,n,r){for(;this.peek()===" "||this.peek()===" ";)this.advance();let s="";for(;this.pos<this.input.length;){let l=this.peek();if(l===" "||l===" "||l===`
|
|
31
|
-
`||l===";"||l==="}"||l==="{")break;s+=this.advance()}return{type:e,value:t,label:s||void 0,line:n,column:r}}readFileCommand(e,t,n,r){for(;this.peek()===" "||this.peek()===" ";)this.advance();let s="";for(;this.pos<this.input.length;){let l=this.peek();if(l===`
|
|
32
|
-
`||l===";")break;s+=this.advance()}return{type:e,value:t,filename:s.trim(),line:n,column:r}}readExecute(e,t){for(;this.peek()===" "||this.peek()===" ";)this.advance();let n="";for(;this.pos<this.input.length;){let r=this.peek();if(r===`
|
|
33
|
-
`||r===";")break;n+=this.advance()}return{type:c.EXECUTE,value:"e",command:n.trim()||void 0,line:e,column:t}}isDigit(e){return e>="0"&&e<="9"}};var O=class{scripts;tokens=[];pos=0;extendedRegex=!1;constructor(e,t=!1){this.scripts=e,this.extendedRegex=t}parse(){let e=[];for(let t of this.scripts){let n=new I(t);for(this.tokens=n.tokenize(),this.pos=0;!this.isAtEnd();){if(this.check(c.NEWLINE)||this.check(c.SEMICOLON)){this.advance();continue}let r=this.parseCommand();if(r.error)return{commands:[],error:r.error};r.command&&e.push(r.command)}}return{commands:e}}parseCommand(){let e=this.parseAddressRange();for(;this.check(c.NEWLINE)||this.check(c.SEMICOLON);)this.advance();if(this.isAtEnd())return e&&(e.start!==void 0||e.end!==void 0)?{command:{type:"print",address:e}}:{command:null};let t=this.peek();switch(t.type){case c.COMMAND:return this.parseSimpleCommand(t,e);case c.SUBSTITUTE:return this.parseSubstituteFromToken(t,e);case c.TRANSLITERATE:return this.parseTransliterateFromToken(t,e);case c.LABEL_DEF:return this.advance(),{command:{type:"label",name:t.label||""}};case c.BRANCH:return this.advance(),{command:{type:"branch",address:e,label:t.label}};case c.BRANCH_ON_SUBST:return this.advance(),{command:{type:"branchOnSubst",address:e,label:t.label}};case c.BRANCH_ON_NO_SUBST:return this.advance(),{command:{type:"branchOnNoSubst",address:e,label:t.label}};case c.TEXT_CMD:return this.advance(),this.parseTextCommand(t,e);case c.FILE_READ:return this.advance(),{command:{type:"readFile",address:e,filename:t.filename||""}};case c.FILE_READ_LINE:return this.advance(),{command:{type:"readFileLine",address:e,filename:t.filename||""}};case c.FILE_WRITE:return this.advance(),{command:{type:"writeFile",address:e,filename:t.filename||""}};case c.FILE_WRITE_LINE:return this.advance(),{command:{type:"writeFirstLine",address:e,filename:t.filename||""}};case c.EXECUTE:return this.advance(),{command:{type:"execute",address:e,command:t.command}};case c.LBRACE:return this.parseGroup(e);case c.RBRACE:return{command:null};case c.ERROR:return{command:null,error:`invalid command: ${t.value}`};default:return e&&(e.start!==void 0||e.end!==void 0)?{command:{type:"print",address:e}}:{command:null}}}parseSimpleCommand(e,t){this.advance();let n=e.value;switch(n){case"p":return{command:{type:"print",address:t}};case"P":return{command:{type:"printFirstLine",address:t}};case"d":return{command:{type:"delete",address:t}};case"D":return{command:{type:"deleteFirstLine",address:t}};case"h":return{command:{type:"hold",address:t}};case"H":return{command:{type:"holdAppend",address:t}};case"g":return{command:{type:"get",address:t}};case"G":return{command:{type:"getAppend",address:t}};case"x":return{command:{type:"exchange",address:t}};case"n":return{command:{type:"next",address:t}};case"N":return{command:{type:"nextAppend",address:t}};case"q":return{command:{type:"quit",address:t}};case"Q":return{command:{type:"quitSilent",address:t}};case"z":return{command:{type:"zap",address:t}};case"=":return{command:{type:"lineNumber",address:t}};case"l":return{command:{type:"list",address:t}};case"F":return{command:{type:"printFilename",address:t}};case"v":return{command:{type:"version",address:t}};default:return{command:null,error:`unknown command: ${n}`}}}parseSubstituteFromToken(e,t){this.advance();let n=e.flags||"",r,s=n.match(/(\d+)/);return s&&(r=parseInt(s[1],10)),{command:{type:"substitute",address:t,pattern:e.pattern||"",replacement:e.replacement||"",global:n.includes("g"),ignoreCase:n.includes("i")||n.includes("I"),printOnMatch:n.includes("p"),nthOccurrence:r,extendedRegex:this.extendedRegex}}}parseTransliterateFromToken(e,t){this.advance();let n=e.source||"",r=e.dest||"";return n.length!==r.length?{command:null,error:"transliteration sets must have same length"}:{command:{type:"transliterate",address:t,source:n,dest:r}}}parseTextCommand(e,t){let n=e.value,r=e.text||"";switch(n){case"a":return{command:{type:"append",address:t,text:r}};case"i":return{command:{type:"insert",address:t,text:r}};case"c":return{command:{type:"change",address:t,text:r}};default:return{command:null,error:`unknown text command: ${n}`}}}parseGroup(e){this.advance();let t=[];for(;!this.isAtEnd()&&!this.check(c.RBRACE);){if(this.check(c.NEWLINE)||this.check(c.SEMICOLON)){this.advance();continue}let n=this.parseCommand();if(n.error)return{command:null,error:n.error};n.command&&t.push(n.command)}return this.check(c.RBRACE)?(this.advance(),{command:{type:"group",address:e,commands:t}}):{command:null,error:"unmatched brace in grouped commands"}}parseAddressRange(){let e=this.parseAddress();if(e===void 0)return;let t;return this.check(c.COMMA)&&(this.advance(),t=this.parseAddress()),{start:e,end:t}}parseAddress(){let e=this.peek();switch(e.type){case c.NUMBER:return this.advance(),e.value;case c.DOLLAR:return this.advance(),"$";case c.PATTERN:return this.advance(),{pattern:e.pattern||e.value};case c.STEP:return this.advance(),{first:e.first||0,step:e.step||0};default:return}}peek(){return this.tokens[this.pos]||{type:c.EOF,value:"",line:0,column:0}}advance(){return this.isAtEnd()||this.pos++,this.tokens[this.pos-1]}check(e){return this.peek().type===e}isAtEnd(){return this.peek().type===c.EOF}};function q(i,e=!1){return new O(i,e).parse()}var Z={name:"sed",summary:"stream editor for filtering and transforming text",usage:"sed [OPTION]... {script} [input-file]...",options:["-n, --quiet, --silent suppress automatic printing of pattern space","-e script add the script to commands to be executed","-f script-file read script from file","-i, --in-place edit files in place","-E, -r, --regexp-extended use extended regular expressions"," --help display this help and exit"],description:`Commands:
|
|
34
|
-
s/regexp/replacement/[flags] substitute
|
|
35
|
-
d delete pattern space
|
|
36
|
-
p print pattern space
|
|
37
|
-
a\\ text append text after line
|
|
38
|
-
i\\ text insert text before line
|
|
39
|
-
c\\ text change (replace) line with text
|
|
40
|
-
h copy pattern space to hold space
|
|
41
|
-
H append pattern space to hold space
|
|
42
|
-
g copy hold space to pattern space
|
|
43
|
-
G append hold space to pattern space
|
|
44
|
-
x exchange pattern and hold spaces
|
|
45
|
-
n read next line into pattern space
|
|
46
|
-
N append next line to pattern space
|
|
47
|
-
y/source/dest/ transliterate characters
|
|
48
|
-
= print line number
|
|
49
|
-
l list pattern space (escape special chars)
|
|
50
|
-
b [label] branch to label
|
|
51
|
-
t [label] branch on substitution
|
|
52
|
-
T [label] branch if no substitution
|
|
53
|
-
:label define label
|
|
54
|
-
q quit
|
|
55
|
-
Q quit without printing
|
|
56
|
-
|
|
57
|
-
Addresses:
|
|
58
|
-
N line number
|
|
59
|
-
$ last line
|
|
60
|
-
/regexp/ lines matching regexp
|
|
61
|
-
N,M range from line N to M
|
|
62
|
-
first~step every step-th line starting at first`};async function F(i,e,t,n={}){let{limits:r,filename:s,fs:l,cwd:h}=n,p=i.split(`
|
|
63
|
-
`);p.length>0&&p[p.length-1]===""&&p.pop();let f=p.length,o="",a,u="",m=new Map,v=new Map,x=new Map,L=new Map,H=r?{maxIterations:r.maxSedIterations}:void 0;for(let C=0;C<p.length;C++){let d={...U(f,s,m),patternSpace:p[C],holdSpace:u,lineNumber:C+1,totalLines:f,substitutionMade:!1},_={lines:p,currentLineIndex:C},$=0,X=1e4,B=0;do{if($++,$>X)break;d.restartCycle=!1,d.pendingFileReads=[],d.pendingFileWrites=[];let E=A(e,d,_,H);if(B+=E,l&&h){for(let S of d.pendingFileReads){let b=l.resolvePath(h,S.filename);try{if(S.wholeFile){let R=await l.readFile(b);d.appendBuffer.push(R.replace(/\n$/,""))}else{if(!v.has(b)){let z=await l.readFile(b);v.set(b,z.split(`
|
|
64
|
-
`)),x.set(b,0)}let R=v.get(b),w=x.get(b);R&&w!==void 0&&w<R.length&&(d.appendBuffer.push(R[w]),x.set(b,w+1))}}catch{}}for(let S of d.pendingFileWrites){let b=l.resolvePath(h,S.filename),R=L.get(b)||"";L.set(b,R+S.content)}}_.currentLineIndex+=E}while(d.restartCycle&&!d.deleted&&!d.quit&&!d.quitSilent);C+=B,u=d.holdSpace;for(let E of d.lineNumberOutput)o+=`${E}
|
|
65
|
-
`;let M=[],T=[];for(let E of d.appendBuffer)E.startsWith("__INSERT__")?M.push(E.slice(10)):T.push(E);for(let E of M)o+=`${E}
|
|
66
|
-
`;!d.deleted&&!d.quitSilent&&(t?d.printed&&(o+=`${d.patternSpace}
|
|
67
|
-
`):o+=`${d.patternSpace}
|
|
68
|
-
`);for(let E of T)o+=`${E}
|
|
69
|
-
`;if(d.quit||d.quitSilent){d.exitCode!==void 0&&(a=d.exitCode);break}}if(l&&h)for(let[C,d]of L)try{await l.writeFile(C,d)}catch{}return{output:o,exitCode:a}}var oe={name:"sed",async execute(i,e){if(W(i))return D(Z);let t=[],n=[],r=!1,s=!1,l=!1,h=[];for(let a=0;a<i.length;a++){let u=i[a];if(u==="-n"||u==="--quiet"||u==="--silent")r=!0;else if(u==="-i"||u==="--in-place")s=!0;else if(u.startsWith("-i"))s=!0;else if(u==="-E"||u==="-r"||u==="--regexp-extended")l=!0;else if(u==="-e")a+1<i.length&&t.push(i[++a]);else if(u==="-f")a+1<i.length&&n.push(i[++a]);else{if(u.startsWith("--"))return y("sed",u);if(u.startsWith("-")&&u.length>1){for(let m of u.slice(1))if(m!=="n"&&m!=="e"&&m!=="f"&&m!=="i"&&m!=="E"&&m!=="r")return y("sed",`-${m}`);u.includes("n")&&(r=!0),u.includes("i")&&(s=!0),(u.includes("E")||u.includes("r"))&&(l=!0),u.includes("e")&&!u.includes("n")&&!u.includes("i")&&a+1<i.length&&t.push(i[++a]),u.includes("f")&&!u.includes("e")&&a+1<i.length&&n.push(i[++a])}else!u.startsWith("-")&&t.length===0&&n.length===0?t.push(u):u.startsWith("-")||h.push(u)}}for(let a of n){let u=e.fs.resolvePath(e.cwd,a);try{let m=await e.fs.readFile(u);for(let v of m.split(`
|
|
70
|
-
`)){let x=v.trim();x&&!x.startsWith("#")&&t.push(x)}}catch{return{stdout:"",stderr:`sed: couldn't open file ${a}: No such file or directory
|
|
71
|
-
`,exitCode:1}}}if(t.length===0)return{stdout:"",stderr:`sed: no script specified
|
|
72
|
-
`,exitCode:1};let{commands:p,error:f}=q(t,l);if(f)return{stdout:"",stderr:`sed: ${f}
|
|
73
|
-
`,exitCode:1};if(p.length===0)return{stdout:"",stderr:`sed: no valid commands
|
|
74
|
-
`,exitCode:1};let o="";if(h.length===0){o=e.stdin;try{let a=await F(o,p,r,{limits:e.limits,fs:e.fs,cwd:e.cwd});return{stdout:a.output,stderr:"",exitCode:a.exitCode??0}}catch(a){if(a instanceof g)return{stdout:"",stderr:`sed: ${a.message}
|
|
75
|
-
`,exitCode:g.EXIT_CODE};throw a}}if(s){for(let a of h){let u=e.fs.resolvePath(e.cwd,a);try{let m=await e.fs.readFile(u),v=await F(m,p,r,{limits:e.limits,filename:a,fs:e.fs,cwd:e.cwd});await e.fs.writeFile(u,v.output)}catch(m){return m instanceof g?{stdout:"",stderr:`sed: ${m.message}
|
|
76
|
-
`,exitCode:g.EXIT_CODE}:{stdout:"",stderr:`sed: ${a}: No such file or directory
|
|
77
|
-
`,exitCode:1}}}return{stdout:"",stderr:"",exitCode:0}}for(let a of h){let u=e.fs.resolvePath(e.cwd,a);try{o+=await e.fs.readFile(u)}catch(m){return m instanceof g?{stdout:"",stderr:`sed: ${m.message}
|
|
78
|
-
`,exitCode:g.EXIT_CODE}:{stdout:"",stderr:`sed: ${a}: No such file or directory
|
|
79
|
-
`,exitCode:1}}}try{let a=await F(o,p,r,{limits:e.limits,filename:h.length===1?h[0]:void 0,fs:e.fs,cwd:e.cwd});return{stdout:a.output,stderr:"",exitCode:a.exitCode??0}}catch(a){if(a instanceof g)return{stdout:"",stderr:`sed: ${a.message}
|
|
80
|
-
`,exitCode:g.EXIT_CODE};throw a}}};export{oe as sedCommand};
|
|
@@ -1,76 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
import{i as W}from"./chunk-LV662IGP.js";import{a as T,b as D,c as I}from"./chunk-GTNBSMZR.js";import"./chunk-5KNEBKYN.js";var G=1e4;function U(i,e,t){return{patternSpace:"",holdSpace:"",lineNumber:0,totalLines:i,deleted:!1,printed:!1,quit:!1,quitSilent:!1,exitCode:void 0,appendBuffer:[],substitutionMade:!1,lineNumberOutput:[],restartCycle:!1,currentFilename:e,pendingFileReads:[],pendingFileWrites:[],pendingExecute:void 0,rangeStates:t||new Map}}function j(i){return typeof i=="object"&&"first"in i&&"step"in i}function N(i,e,t,n){if(i==="$")return e===t;if(typeof i=="number")return e===i;if(j(i)){let{first:r,step:s}=i;return s===0?e===r:(e-r)%s===0&&e>=r}if(typeof i=="object"&&"pattern"in i)try{return new RegExp(i.pattern).test(n)}catch{return!1}return!1}function Q(i){let e=t=>t===void 0?"undefined":t==="$"?"$":typeof t=="number"?String(t):"pattern"in t?`/${t.pattern}/`:"first"in t?`${t.first}~${t.step}`:"unknown";return`${e(i.start)},${e(i.end)}`}function k(i,e,t,n,r){if(!i||!i.start&&!i.end)return!0;let s=i.start,c=i.end;if(s!==void 0&&c===void 0)return N(s,e,t,n);if(s!==void 0&&c!==void 0){let d=typeof s=="object"&&"pattern"in s,h=typeof c=="object"&&"pattern"in c;if(!d&&!h){let l=typeof s=="number"?s:s==="$"?t:1,u=typeof c=="number"?c:t;return e>=l&&e<=u}if(r){let l=Q(i),u=r.get(l);return u||(u={active:!1},r.set(l,u)),u.active?(N(c,e,t,n)&&(u.active=!1,r.set(l,u)),!0):N(s,e,t,n)?(u.active=!0,u.startLine=e,r.set(l,u),N(c,e,t,n)&&(u.active=!1,r.set(l,u)),!0):!1}return N(s,e,t,n)}return!0}function K(i){let e="",t=0;for(;t<i.length;){if(i[t]==="\\"&&t+1<i.length){let n=i[t+1];if(n==="+"||n==="?"||n==="|"){e+=n,t+=2;continue}if(n==="("||n===")"){e+=n,t+=2;continue}if(n==="{"||n==="}"){e+=n,t+=2;continue}e+=i[t]+n,t+=2;continue}if(i[t]==="+"||i[t]==="?"||i[t]==="|"||i[t]==="("||i[t]===")"){e+=`\\${i[t]}`,t++;continue}e+=i[t],t++}return e}function J(i){let e="";for(let t=0;t<i.length;t++){let n=i[t],r=n.charCodeAt(0);n==="\\"?e+="\\\\":n===" "?e+="\\t":n===`
|
|
3
|
-
`?e+=`$
|
|
4
|
-
`:n==="\r"?e+="\\r":n==="\x07"?e+="\\a":n==="\b"?e+="\\b":n==="\f"?e+="\\f":n==="\v"?e+="\\v":r<32||r>=127?e+=`\\${r.toString(8).padStart(3,"0")}`:e+=n}return`${e}$`}function P(i,e,t){let n="",r=0;for(;r<i.length;){if(i[r]==="\\"&&r+1<i.length){let s=i[r+1];if(s==="&"){n+="&",r+=2;continue}if(s==="n"){n+=`
|
|
5
|
-
`,r+=2;continue}if(s==="t"){n+=" ",r+=2;continue}let c=parseInt(s,10);if(c>=1&&c<=9){n+=t[c-1]||"",r+=2;continue}n+=s,r+=2;continue}if(i[r]==="&"){n+=e,r++;continue}n+=i[r],r++}return n}function V(i,e){let{lineNumber:t,totalLines:n,patternSpace:r}=e;if(i.type!=="label"&&k(i.address,t,n,r,e.rangeStates))switch(i.type){case"substitute":{let s=i,c="";s.global&&(c+="g"),s.ignoreCase&&(c+="i");let d=s.extendedRegex?s.pattern:K(s.pattern);try{let h=new RegExp(d,c),m=h.test(e.patternSpace);if(h.lastIndex=0,m){if(e.substitutionMade=!0,s.nthOccurrence&&s.nthOccurrence>0&&!s.global){let l=0,u=s.nthOccurrence;e.patternSpace=e.patternSpace.replace(new RegExp(d,`g${s.ignoreCase?"i":""}`),(p,...o)=>{if(l++,l===u){let b=o.slice(0,-2);return P(s.replacement,p,b)}return p})}else e.patternSpace=e.patternSpace.replace(h,(l,...u)=>{let p=u.slice(0,-2);return P(s.replacement,l,p)});s.printOnMatch&&(e.printed=!0)}}catch{}break}case"print":e.printed=!0;break;case"printFirstLine":{let s=e.patternSpace.indexOf(`
|
|
6
|
-
`);s!==-1?e.lineNumberOutput.push(e.patternSpace.slice(0,s)):e.lineNumberOutput.push(e.patternSpace);break}case"delete":e.deleted=!0;break;case"deleteFirstLine":{let s=e.patternSpace.indexOf(`
|
|
7
|
-
`);s!==-1?(e.patternSpace=e.patternSpace.slice(s+1),e.restartCycle=!0):e.deleted=!0;break}case"zap":e.patternSpace="";break;case"append":e.appendBuffer.push(i.text);break;case"insert":e.appendBuffer.unshift(`__INSERT__${i.text}`);break;case"change":e.patternSpace=i.text,e.deleted=!0,e.appendBuffer.push(i.text);break;case"hold":e.holdSpace=e.patternSpace;break;case"holdAppend":e.holdSpace?e.holdSpace+=`
|
|
8
|
-
${e.patternSpace}`:e.holdSpace=e.patternSpace;break;case"get":e.patternSpace=e.holdSpace;break;case"getAppend":e.patternSpace+=`
|
|
9
|
-
${e.holdSpace}`;break;case"exchange":{let s=e.patternSpace;e.patternSpace=e.holdSpace,e.holdSpace=s;break}case"next":e.printed=!0;break;case"quit":e.quit=!0,i.exitCode!==void 0&&(e.exitCode=i.exitCode);break;case"quitSilent":e.quit=!0,e.quitSilent=!0,i.exitCode!==void 0&&(e.exitCode=i.exitCode);break;case"list":{let s=J(e.patternSpace);e.lineNumberOutput.push(s);break}case"printFilename":e.currentFilename&&e.lineNumberOutput.push(e.currentFilename);break;case"version":break;case"readFile":e.pendingFileReads.push({filename:i.filename,wholeFile:!0});break;case"readFileLine":e.pendingFileReads.push({filename:i.filename,wholeFile:!1});break;case"writeFile":e.pendingFileWrites.push({filename:i.filename,content:`${e.patternSpace}
|
|
10
|
-
`});break;case"writeFirstLine":{let s=e.patternSpace.indexOf(`
|
|
11
|
-
`),c=s!==-1?e.patternSpace.slice(0,s):e.patternSpace;e.pendingFileWrites.push({filename:i.filename,content:`${c}
|
|
12
|
-
`});break}case"execute":i.command?e.pendingExecute={command:i.command,replacePattern:!1}:e.pendingExecute={command:e.patternSpace,replacePattern:!0};break;case"transliterate":e.patternSpace=Y(e.patternSpace,i);break;case"lineNumber":e.lineNumberOutput.push(String(e.lineNumber));break;case"branch":break;case"branchOnSubst":break;case"branchOnNoSubst":break;case"group":break}}function Y(i,e){let t="";for(let n of i){let r=e.source.indexOf(n);r!==-1?t+=e.dest[r]:t+=n}return t}function y(i,e,t,n){let r=new Map;for(let m=0;m<i.length;m++){let l=i[m];l.type==="label"&&r.set(l.name,m)}let s=n?.maxIterations??G,c=0,d=0,h=0;for(;h<i.length;){if(c++,c>s)throw new W(`sed: command execution exceeded maximum iterations (${s})`,"iterations");if(e.deleted||e.quit||e.quitSilent||e.restartCycle)break;let m=i[h];if(m.type==="nextAppend"){if(k(m.address,e.lineNumber,e.totalLines,e.patternSpace,e.rangeStates))if(t&&t.currentLineIndex+d+1<t.lines.length){d++;let l=t.lines[t.currentLineIndex+d];e.patternSpace+=`
|
|
13
|
-
${l}`,e.lineNumber=t.currentLineIndex+d+1}else{e.quit=!0,e.deleted=!0;break}h++;continue}if(m.type==="branch"){let l=m;if(k(l.address,e.lineNumber,e.totalLines,e.patternSpace,e.rangeStates)){if(l.label){let u=r.get(l.label);if(u!==void 0){h=u;continue}}break}h++;continue}if(m.type==="branchOnSubst"){let l=m;if(k(l.address,e.lineNumber,e.totalLines,e.patternSpace,e.rangeStates)&&e.substitutionMade){if(e.substitutionMade=!1,l.label){let u=r.get(l.label);if(u!==void 0){h=u;continue}}break}h++;continue}if(m.type==="branchOnNoSubst"){let l=m;if(k(l.address,e.lineNumber,e.totalLines,e.patternSpace,e.rangeStates)&&!e.substitutionMade){if(l.label){let u=r.get(l.label);if(u!==void 0){h=u;continue}}break}h++;continue}if(m.type==="group"){let l=m;k(l.address,e.lineNumber,e.totalLines,e.patternSpace,e.rangeStates)&&y(l.commands,e,t,n),h++;continue}V(m,e),h++}return d}var a;(function(i){i.NUMBER="NUMBER",i.DOLLAR="DOLLAR",i.PATTERN="PATTERN",i.STEP="STEP",i.LBRACE="LBRACE",i.RBRACE="RBRACE",i.SEMICOLON="SEMICOLON",i.NEWLINE="NEWLINE",i.COMMA="COMMA",i.COMMAND="COMMAND",i.SUBSTITUTE="SUBSTITUTE",i.TRANSLITERATE="TRANSLITERATE",i.LABEL_DEF="LABEL_DEF",i.BRANCH="BRANCH",i.BRANCH_ON_SUBST="BRANCH_ON_SUBST",i.BRANCH_ON_NO_SUBST="BRANCH_ON_NO_SUBST",i.TEXT_CMD="TEXT_CMD",i.FILE_READ="FILE_READ",i.FILE_READ_LINE="FILE_READ_LINE",i.FILE_WRITE="FILE_WRITE",i.FILE_WRITE_LINE="FILE_WRITE_LINE",i.EXECUTE="EXECUTE",i.EOF="EOF",i.ERROR="ERROR"})(a||(a={}));var L=class{input;pos=0;line=1;column=1;constructor(e){this.input=e}tokenize(){let e=[];for(;this.pos<this.input.length;){let t=this.nextToken();t&&e.push(t)}return e.push(this.makeToken(a.EOF,"")),e}makeToken(e,t,n){return{type:e,value:t,line:this.line,column:this.column,...n}}peek(e=0){return this.input[this.pos+e]||""}advance(){let e=this.input[this.pos++]||"";return e===`
|
|
14
|
-
`?(this.line++,this.column=1):this.column++,e}skipWhitespace(){for(;this.pos<this.input.length;){let e=this.peek();if(e===" "||e===" "||e==="\r")this.advance();else if(e==="#")for(;this.pos<this.input.length&&this.peek()!==`
|
|
15
|
-
`;)this.advance();else break}}nextToken(){if(this.skipWhitespace(),this.pos>=this.input.length)return null;let e=this.line,t=this.column,n=this.peek();return n===`
|
|
16
|
-
`?(this.advance(),{type:a.NEWLINE,value:`
|
|
17
|
-
`,line:e,column:t}):n===";"?(this.advance(),{type:a.SEMICOLON,value:";",line:e,column:t}):n==="{"?(this.advance(),{type:a.LBRACE,value:"{",line:e,column:t}):n==="}"?(this.advance(),{type:a.RBRACE,value:"}",line:e,column:t}):n===","?(this.advance(),{type:a.COMMA,value:",",line:e,column:t}):n==="$"?(this.advance(),{type:a.DOLLAR,value:"$",line:e,column:t}):this.isDigit(n)?this.readNumber():n==="/"?this.readPattern():n===":"?this.readLabelDef():this.readCommand()}readNumber(){let e=this.line,t=this.column,n="";for(;this.isDigit(this.peek());)n+=this.advance();if(this.peek()==="~"){this.advance();let r="";for(;this.isDigit(this.peek());)r+=this.advance();let s=parseInt(n,10),c=parseInt(r,10)||0;return{type:a.STEP,value:`${s}~${c}`,first:s,step:c,line:e,column:t}}return{type:a.NUMBER,value:parseInt(n,10),line:e,column:t}}readPattern(){let e=this.line,t=this.column;this.advance();let n="";for(;this.pos<this.input.length&&this.peek()!=="/";)if(this.peek()==="\\")n+=this.advance(),this.pos<this.input.length&&(n+=this.advance());else{if(this.peek()===`
|
|
18
|
-
`)break;n+=this.advance()}return this.peek()==="/"&&this.advance(),{type:a.PATTERN,value:n,pattern:n,line:e,column:t}}readLabelDef(){let e=this.line,t=this.column;this.advance();let n="";for(;this.pos<this.input.length;){let r=this.peek();if(r===" "||r===" "||r===`
|
|
19
|
-
`||r===";"||r==="}"||r==="{")break;n+=this.advance()}return{type:a.LABEL_DEF,value:n,label:n,line:e,column:t}}readCommand(){let e=this.line,t=this.column,n=this.advance();switch(n){case"s":return this.readSubstitute(e,t);case"y":return this.readTransliterate(e,t);case"a":case"i":case"c":return this.readTextCommand(n,e,t);case"b":return this.readBranch(a.BRANCH,"b",e,t);case"t":return this.readBranch(a.BRANCH_ON_SUBST,"t",e,t);case"T":return this.readBranch(a.BRANCH_ON_NO_SUBST,"T",e,t);case"r":return this.readFileCommand(a.FILE_READ,"r",e,t);case"R":return this.readFileCommand(a.FILE_READ_LINE,"R",e,t);case"w":return this.readFileCommand(a.FILE_WRITE,"w",e,t);case"W":return this.readFileCommand(a.FILE_WRITE_LINE,"W",e,t);case"e":return this.readExecute(e,t);case"p":case"P":case"d":case"D":case"h":case"H":case"g":case"G":case"x":case"n":case"N":case"q":case"Q":case"z":case"=":case"l":case"F":case"v":return{type:a.COMMAND,value:n,line:e,column:t};default:return{type:a.ERROR,value:n,line:e,column:t}}}readSubstitute(e,t){let n=this.advance();if(!n||n===`
|
|
20
|
-
`)return{type:a.ERROR,value:"s",line:e,column:t};let r="";for(;this.pos<this.input.length&&this.peek()!==n;)if(this.peek()==="\\")r+=this.advance(),this.pos<this.input.length&&this.peek()!==`
|
|
21
|
-
`&&(r+=this.advance());else{if(this.peek()===`
|
|
22
|
-
`)break;r+=this.advance()}if(this.peek()!==n)return{type:a.ERROR,value:"unterminated substitution pattern",line:e,column:t};this.advance();let s="";for(;this.pos<this.input.length&&this.peek()!==n;)if(this.peek()==="\\")s+=this.advance(),this.pos<this.input.length&&this.peek()!==`
|
|
23
|
-
`&&(s+=this.advance());else{if(this.peek()===`
|
|
24
|
-
`)break;s+=this.advance()}this.peek()===n&&this.advance();let c="";for(;this.pos<this.input.length;){let d=this.peek();if(d==="g"||d==="i"||d==="p"||d==="I"||this.isDigit(d))c+=this.advance();else break}return{type:a.SUBSTITUTE,value:`s${n}${r}${n}${s}${n}${c}`,pattern:r,replacement:s,flags:c,line:e,column:t}}readTransliterate(e,t){let n=this.advance();if(!n||n===`
|
|
25
|
-
`)return{type:a.ERROR,value:"y",line:e,column:t};let r="";for(;this.pos<this.input.length&&this.peek()!==n;)if(this.peek()==="\\"){this.advance();let c=this.advance();c==="n"?r+=`
|
|
26
|
-
`:c==="t"?r+=" ":r+=c}else{if(this.peek()===`
|
|
27
|
-
`)break;r+=this.advance()}if(this.peek()!==n)return{type:a.ERROR,value:"unterminated transliteration source",line:e,column:t};this.advance();let s="";for(;this.pos<this.input.length&&this.peek()!==n;)if(this.peek()==="\\"){this.advance();let c=this.advance();c==="n"?s+=`
|
|
28
|
-
`:c==="t"?s+=" ":s+=c}else{if(this.peek()===`
|
|
29
|
-
`)break;s+=this.advance()}return this.peek()===n&&this.advance(),{type:a.TRANSLITERATE,value:`y${n}${r}${n}${s}${n}`,source:r,dest:s,line:e,column:t}}readTextCommand(e,t,n){this.peek()==="\\"&&this.advance(),this.peek()===" "&&this.advance();let r="";for(;this.pos<this.input.length&&this.peek()!==`
|
|
30
|
-
`;)r+=this.advance();return{type:a.TEXT_CMD,value:e,text:r.trim(),line:t,column:n}}readBranch(e,t,n,r){for(;this.peek()===" "||this.peek()===" ";)this.advance();let s="";for(;this.pos<this.input.length;){let c=this.peek();if(c===" "||c===" "||c===`
|
|
31
|
-
`||c===";"||c==="}"||c==="{")break;s+=this.advance()}return{type:e,value:t,label:s||void 0,line:n,column:r}}readFileCommand(e,t,n,r){for(;this.peek()===" "||this.peek()===" ";)this.advance();let s="";for(;this.pos<this.input.length;){let c=this.peek();if(c===`
|
|
32
|
-
`||c===";")break;s+=this.advance()}return{type:e,value:t,filename:s.trim(),line:n,column:r}}readExecute(e,t){for(;this.peek()===" "||this.peek()===" ";)this.advance();let n="";for(;this.pos<this.input.length;){let r=this.peek();if(r===`
|
|
33
|
-
`||r===";")break;n+=this.advance()}return{type:a.EXECUTE,value:"e",command:n.trim()||void 0,line:e,column:t}}isDigit(e){return e>="0"&&e<="9"}};var A=class{scripts;tokens=[];pos=0;extendedRegex=!1;constructor(e,t=!1){this.scripts=e,this.extendedRegex=t}parse(){let e=[];for(let t of this.scripts){let n=new L(t);for(this.tokens=n.tokenize(),this.pos=0;!this.isAtEnd();){if(this.check(a.NEWLINE)||this.check(a.SEMICOLON)){this.advance();continue}let r=this.parseCommand();if(r.error)return{commands:[],error:r.error};r.command&&e.push(r.command)}}return{commands:e}}parseCommand(){let e=this.parseAddressRange();for(;this.check(a.NEWLINE)||this.check(a.SEMICOLON);)this.advance();if(this.isAtEnd())return e&&(e.start!==void 0||e.end!==void 0)?{command:{type:"print",address:e}}:{command:null};let t=this.peek();switch(t.type){case a.COMMAND:return this.parseSimpleCommand(t,e);case a.SUBSTITUTE:return this.parseSubstituteFromToken(t,e);case a.TRANSLITERATE:return this.parseTransliterateFromToken(t,e);case a.LABEL_DEF:return this.advance(),{command:{type:"label",name:t.label||""}};case a.BRANCH:return this.advance(),{command:{type:"branch",address:e,label:t.label}};case a.BRANCH_ON_SUBST:return this.advance(),{command:{type:"branchOnSubst",address:e,label:t.label}};case a.BRANCH_ON_NO_SUBST:return this.advance(),{command:{type:"branchOnNoSubst",address:e,label:t.label}};case a.TEXT_CMD:return this.advance(),this.parseTextCommand(t,e);case a.FILE_READ:return this.advance(),{command:{type:"readFile",address:e,filename:t.filename||""}};case a.FILE_READ_LINE:return this.advance(),{command:{type:"readFileLine",address:e,filename:t.filename||""}};case a.FILE_WRITE:return this.advance(),{command:{type:"writeFile",address:e,filename:t.filename||""}};case a.FILE_WRITE_LINE:return this.advance(),{command:{type:"writeFirstLine",address:e,filename:t.filename||""}};case a.EXECUTE:return this.advance(),{command:{type:"execute",address:e,command:t.command}};case a.LBRACE:return this.parseGroup(e);case a.RBRACE:return{command:null};case a.ERROR:return{command:null,error:`invalid command: ${t.value}`};default:return e&&(e.start!==void 0||e.end!==void 0)?{command:{type:"print",address:e}}:{command:null}}}parseSimpleCommand(e,t){this.advance();let n=e.value;switch(n){case"p":return{command:{type:"print",address:t}};case"P":return{command:{type:"printFirstLine",address:t}};case"d":return{command:{type:"delete",address:t}};case"D":return{command:{type:"deleteFirstLine",address:t}};case"h":return{command:{type:"hold",address:t}};case"H":return{command:{type:"holdAppend",address:t}};case"g":return{command:{type:"get",address:t}};case"G":return{command:{type:"getAppend",address:t}};case"x":return{command:{type:"exchange",address:t}};case"n":return{command:{type:"next",address:t}};case"N":return{command:{type:"nextAppend",address:t}};case"q":return{command:{type:"quit",address:t}};case"Q":return{command:{type:"quitSilent",address:t}};case"z":return{command:{type:"zap",address:t}};case"=":return{command:{type:"lineNumber",address:t}};case"l":return{command:{type:"list",address:t}};case"F":return{command:{type:"printFilename",address:t}};case"v":return{command:{type:"version",address:t}};default:return{command:null,error:`unknown command: ${n}`}}}parseSubstituteFromToken(e,t){this.advance();let n=e.flags||"",r,s=n.match(/(\d+)/);return s&&(r=parseInt(s[1],10)),{command:{type:"substitute",address:t,pattern:e.pattern||"",replacement:e.replacement||"",global:n.includes("g"),ignoreCase:n.includes("i")||n.includes("I"),printOnMatch:n.includes("p"),nthOccurrence:r,extendedRegex:this.extendedRegex}}}parseTransliterateFromToken(e,t){this.advance();let n=e.source||"",r=e.dest||"";return n.length!==r.length?{command:null,error:"transliteration sets must have same length"}:{command:{type:"transliterate",address:t,source:n,dest:r}}}parseTextCommand(e,t){let n=e.value,r=e.text||"";switch(n){case"a":return{command:{type:"append",address:t,text:r}};case"i":return{command:{type:"insert",address:t,text:r}};case"c":return{command:{type:"change",address:t,text:r}};default:return{command:null,error:`unknown text command: ${n}`}}}parseGroup(e){this.advance();let t=[];for(;!this.isAtEnd()&&!this.check(a.RBRACE);){if(this.check(a.NEWLINE)||this.check(a.SEMICOLON)){this.advance();continue}let n=this.parseCommand();if(n.error)return{command:null,error:n.error};n.command&&t.push(n.command)}return this.check(a.RBRACE)?(this.advance(),{command:{type:"group",address:e,commands:t}}):{command:null,error:"unmatched brace in grouped commands"}}parseAddressRange(){let e=this.parseAddress();if(e===void 0)return;let t;return this.check(a.COMMA)&&(this.advance(),t=this.parseAddress()),{start:e,end:t}}parseAddress(){let e=this.peek();switch(e.type){case a.NUMBER:return this.advance(),e.value;case a.DOLLAR:return this.advance(),"$";case a.PATTERN:return this.advance(),{pattern:e.pattern||e.value};case a.STEP:return this.advance(),{first:e.first||0,step:e.step||0};default:return}}peek(){return this.tokens[this.pos]||{type:a.EOF,value:"",line:0,column:0}}advance(){return this.isAtEnd()||this.pos++,this.tokens[this.pos-1]}check(e){return this.peek().type===e}isAtEnd(){return this.peek().type===a.EOF}};function q(i,e=!1){return new A(i,e).parse()}var Z={name:"sed",summary:"stream editor for filtering and transforming text",usage:"sed [OPTION]... {script} [input-file]...",options:["-n, --quiet, --silent suppress automatic printing of pattern space","-e script add the script to commands to be executed","-f script-file read script from file","-i, --in-place edit files in place","-E, -r, --regexp-extended use extended regular expressions"," --help display this help and exit"],description:`Commands:
|
|
34
|
-
s/regexp/replacement/[flags] substitute
|
|
35
|
-
d delete pattern space
|
|
36
|
-
p print pattern space
|
|
37
|
-
a\\ text append text after line
|
|
38
|
-
i\\ text insert text before line
|
|
39
|
-
c\\ text change (replace) line with text
|
|
40
|
-
h copy pattern space to hold space
|
|
41
|
-
H append pattern space to hold space
|
|
42
|
-
g copy hold space to pattern space
|
|
43
|
-
G append hold space to pattern space
|
|
44
|
-
x exchange pattern and hold spaces
|
|
45
|
-
n read next line into pattern space
|
|
46
|
-
N append next line to pattern space
|
|
47
|
-
y/source/dest/ transliterate characters
|
|
48
|
-
= print line number
|
|
49
|
-
l list pattern space (escape special chars)
|
|
50
|
-
b [label] branch to label
|
|
51
|
-
t [label] branch on substitution
|
|
52
|
-
T [label] branch if no substitution
|
|
53
|
-
:label define label
|
|
54
|
-
q quit
|
|
55
|
-
Q quit without printing
|
|
56
|
-
|
|
57
|
-
Addresses:
|
|
58
|
-
N line number
|
|
59
|
-
$ last line
|
|
60
|
-
/regexp/ lines matching regexp
|
|
61
|
-
N,M range from line N to M
|
|
62
|
-
first~step every step-th line starting at first`};async function F(i,e,t,n={}){let{limits:r,filename:s,fs:c,cwd:d}=n,h=i.split(`
|
|
63
|
-
`);h.length>0&&h[h.length-1]===""&&h.pop();let m=h.length,l="",u,p="",o=new Map,b=new Map,C=new Map,R=new Map,H=r?{maxIterations:r.maxSedIterations}:void 0;for(let v=0;v<h.length;v++){let f={...U(m,s,o),patternSpace:h[v],holdSpace:p,lineNumber:v+1,totalLines:m,substitutionMade:!1},O={lines:h,currentLineIndex:v},_=0,X=1e4,$=0;do{if(_++,_>X)break;f.restartCycle=!1,f.pendingFileReads=[],f.pendingFileWrites=[];let E=y(e,f,O,H);if($+=E,c&&d){for(let S of f.pendingFileReads){let g=c.resolvePath(d,S.filename);try{if(S.wholeFile){let x=await c.readFile(g);f.appendBuffer.push(x.replace(/\n$/,""))}else{if(!b.has(g)){let z=await c.readFile(g);b.set(g,z.split(`
|
|
64
|
-
`)),C.set(g,0)}let x=b.get(g),w=C.get(g);x&&w!==void 0&&w<x.length&&(f.appendBuffer.push(x[w]),C.set(g,w+1))}}catch{}}for(let S of f.pendingFileWrites){let g=c.resolvePath(d,S.filename),x=R.get(g)||"";R.set(g,x+S.content)}}O.currentLineIndex+=E}while(f.restartCycle&&!f.deleted&&!f.quit&&!f.quitSilent);v+=$,p=f.holdSpace;for(let E of f.lineNumberOutput)l+=`${E}
|
|
65
|
-
`;let B=[],M=[];for(let E of f.appendBuffer)E.startsWith("__INSERT__")?B.push(E.slice(10)):M.push(E);for(let E of B)l+=`${E}
|
|
66
|
-
`;!f.deleted&&!f.quitSilent&&(t?f.printed&&(l+=`${f.patternSpace}
|
|
67
|
-
`):l+=`${f.patternSpace}
|
|
68
|
-
`);for(let E of M)l+=`${E}
|
|
69
|
-
`;if(f.quit||f.quitSilent){f.exitCode!==void 0&&(u=f.exitCode);break}}if(c&&d)for(let[v,f]of R)try{await c.writeFile(v,f)}catch{}return{output:l,exitCode:u}}var le={name:"sed",async execute(i,e){if(D(i))return T(Z);let t=[],n=[],r=!1,s=!1,c=!1,d=[];for(let p=0;p<i.length;p++){let o=i[p];if(o==="-n"||o==="--quiet"||o==="--silent")r=!0;else if(o==="-i"||o==="--in-place")s=!0;else if(o.startsWith("-i"))s=!0;else if(o==="-E"||o==="-r"||o==="--regexp-extended")c=!0;else if(o==="-e")p+1<i.length&&t.push(i[++p]);else if(o==="-f")p+1<i.length&&n.push(i[++p]);else{if(o.startsWith("--"))return I("sed",o);if(o.startsWith("-")&&o.length>1){for(let b of o.slice(1))if(b!=="n"&&b!=="e"&&b!=="f"&&b!=="i"&&b!=="E"&&b!=="r")return I("sed",`-${b}`);o.includes("n")&&(r=!0),o.includes("i")&&(s=!0),(o.includes("E")||o.includes("r"))&&(c=!0),o.includes("e")&&!o.includes("n")&&!o.includes("i")&&p+1<i.length&&t.push(i[++p]),o.includes("f")&&!o.includes("e")&&p+1<i.length&&n.push(i[++p])}else!o.startsWith("-")&&t.length===0&&n.length===0?t.push(o):o.startsWith("-")||d.push(o)}}for(let p of n){let o=e.fs.resolvePath(e.cwd,p);try{let b=await e.fs.readFile(o);for(let C of b.split(`
|
|
70
|
-
`)){let R=C.trim();R&&!R.startsWith("#")&&t.push(R)}}catch{return{stdout:"",stderr:`sed: couldn't open file ${p}: No such file or directory
|
|
71
|
-
`,exitCode:1}}}if(t.length===0)return{stdout:"",stderr:`sed: no script specified
|
|
72
|
-
`,exitCode:1};let{commands:h,error:m}=q(t,c);if(m)return{stdout:"",stderr:`sed: ${m}
|
|
73
|
-
`,exitCode:1};if(h.length===0)return{stdout:"",stderr:`sed: no valid commands
|
|
74
|
-
`,exitCode:1};let l="";if(d.length===0){l=e.stdin;let p=await F(l,h,r,{limits:e.limits,fs:e.fs,cwd:e.cwd});return{stdout:p.output,stderr:"",exitCode:p.exitCode??0}}if(s){for(let p of d){let o=e.fs.resolvePath(e.cwd,p);try{let b=await e.fs.readFile(o),C=await F(b,h,r,{limits:e.limits,filename:p,fs:e.fs,cwd:e.cwd});await e.fs.writeFile(o,C.output)}catch{return{stdout:"",stderr:`sed: ${p}: No such file or directory
|
|
75
|
-
`,exitCode:1}}}return{stdout:"",stderr:"",exitCode:0}}for(let p of d){let o=e.fs.resolvePath(e.cwd,p);try{l+=await e.fs.readFile(o)}catch{return{stdout:"",stderr:`sed: ${p}: No such file or directory
|
|
76
|
-
`,exitCode:1}}}let u=await F(l,h,r,{limits:e.limits,filename:d.length===1?d[0]:void 0,fs:e.fs,cwd:e.cwd});return{stdout:u.output,stderr:"",exitCode:u.exitCode??0}}};export{le as sedCommand};
|
|
@@ -1,75 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
import{i as O}from"./chunk-LV662IGP.js";import{a as A,b as y,c as k}from"./chunk-GTNBSMZR.js";import"./chunk-5KNEBKYN.js";var M=1e4;function _(i,e){return{patternSpace:"",holdSpace:"",lineNumber:0,totalLines:i,deleted:!1,printed:!1,quit:!1,quitSilent:!1,exitCode:void 0,appendBuffer:[],substitutionMade:!1,lineNumberOutput:[],restartCycle:!1,currentFilename:e,pendingFileReads:[],pendingFileWrites:[],pendingExecute:void 0}}function T(i){return typeof i=="object"&&"first"in i&&"step"in i}function w(i,e,t,n){if(i==="$")return e===t;if(typeof i=="number")return e===i;if(T(i)){let{first:r,step:s}=i;return s===0?e===r:(e-r)%s===0&&e>=r}if(typeof i=="object"&&"pattern"in i)try{return new RegExp(i.pattern).test(n)}catch{return!1}return!1}function g(i,e,t,n){if(!i||!i.start&&!i.end)return!0;let r=i.start,s=i.end;if(r!==void 0&&s===void 0)return w(r,e,t,n);if(r!==void 0&&s!==void 0){let l=typeof r=="number"?r:r==="$"?t:1,h=typeof s=="number"?s:t;return typeof r=="object"&&"pattern"in r&&w(r,e,t,n)?!0:e>=l&&e<=h}return!0}function $(i){let e="";for(let t=0;t<i.length;t++){let n=i[t],r=n.charCodeAt(0);n==="\\"?e+="\\\\":n===" "?e+="\\t":n===`
|
|
3
|
-
`?e+=`$
|
|
4
|
-
`:n==="\r"?e+="\\r":n==="\x07"?e+="\\a":n==="\b"?e+="\\b":n==="\f"?e+="\\f":n==="\v"?e+="\\v":r<32||r>=127?e+=`\\${r.toString(8).padStart(3,"0")}`:e+=n}return`${e}$`}function F(i,e,t){let n="",r=0;for(;r<i.length;){if(i[r]==="\\"&&r+1<i.length){let s=i[r+1];if(s==="&"){n+="&",r+=2;continue}if(s==="n"){n+=`
|
|
5
|
-
`,r+=2;continue}if(s==="t"){n+=" ",r+=2;continue}let l=parseInt(s,10);if(l>=1&&l<=9){n+=t[l-1]||"",r+=2;continue}n+=s,r+=2;continue}if(i[r]==="&"){n+=e,r++;continue}n+=i[r],r++}return n}function D(i,e){let{lineNumber:t,totalLines:n,patternSpace:r}=e;if(i.type!=="label"&&g(i.address,t,n,r))switch(i.type){case"substitute":{let s=i,l="";s.global&&(l+="g"),s.ignoreCase&&(l+="i");try{let h=new RegExp(s.pattern,l),p=e.patternSpace;if(s.nthOccurrence&&s.nthOccurrence>0&&!s.global){let o=0,f=s.nthOccurrence;e.patternSpace=e.patternSpace.replace(new RegExp(s.pattern,`g${s.ignoreCase?"i":""}`),(u,...c)=>{if(o++,o===f){let m=c.slice(0,-2);return F(s.replacement,u,m)}return u})}else e.patternSpace=e.patternSpace.replace(h,(o,...f)=>{let u=f.slice(0,-2);return F(s.replacement,o,u)});p!==e.patternSpace&&(e.substitutionMade=!0,s.printOnMatch&&(e.printed=!0))}catch{}break}case"print":e.printed=!0;break;case"printFirstLine":{let s=e.patternSpace.indexOf(`
|
|
6
|
-
`);s!==-1?e.lineNumberOutput.push(e.patternSpace.slice(0,s)):e.lineNumberOutput.push(e.patternSpace);break}case"delete":e.deleted=!0;break;case"deleteFirstLine":{let s=e.patternSpace.indexOf(`
|
|
7
|
-
`);s!==-1?(e.patternSpace=e.patternSpace.slice(s+1),e.restartCycle=!0):e.deleted=!0;break}case"zap":e.patternSpace="";break;case"append":e.appendBuffer.push(i.text);break;case"insert":e.appendBuffer.unshift(`__INSERT__${i.text}`);break;case"change":e.patternSpace=i.text,e.deleted=!0,e.appendBuffer.push(i.text);break;case"hold":e.holdSpace=e.patternSpace;break;case"holdAppend":e.holdSpace?e.holdSpace+=`
|
|
8
|
-
${e.patternSpace}`:e.holdSpace=e.patternSpace;break;case"get":e.patternSpace=e.holdSpace;break;case"getAppend":e.patternSpace+=`
|
|
9
|
-
${e.holdSpace}`;break;case"exchange":{let s=e.patternSpace;e.patternSpace=e.holdSpace,e.holdSpace=s;break}case"next":e.printed=!0;break;case"quit":e.quit=!0,i.exitCode!==void 0&&(e.exitCode=i.exitCode);break;case"quitSilent":e.quit=!0,e.quitSilent=!0,i.exitCode!==void 0&&(e.exitCode=i.exitCode);break;case"list":{let s=$(e.patternSpace);e.lineNumberOutput.push(s);break}case"printFilename":e.currentFilename&&e.lineNumberOutput.push(e.currentFilename);break;case"version":break;case"readFile":e.pendingFileReads.push({filename:i.filename,wholeFile:!0});break;case"readFileLine":e.pendingFileReads.push({filename:i.filename,wholeFile:!1});break;case"writeFile":e.pendingFileWrites.push({filename:i.filename,content:`${e.patternSpace}
|
|
10
|
-
`});break;case"writeFirstLine":{let s=e.patternSpace.indexOf(`
|
|
11
|
-
`),l=s!==-1?e.patternSpace.slice(0,s):e.patternSpace;e.pendingFileWrites.push({filename:i.filename,content:`${l}
|
|
12
|
-
`});break}case"execute":i.command?e.pendingExecute={command:i.command,replacePattern:!1}:e.pendingExecute={command:e.patternSpace,replacePattern:!0};break;case"transliterate":e.patternSpace=W(e.patternSpace,i);break;case"lineNumber":e.lineNumberOutput.push(String(e.lineNumber));break;case"branch":break;case"branchOnSubst":break;case"branchOnNoSubst":break;case"group":break}}function W(i,e){let t="";for(let n of i){let r=e.source.indexOf(n);r!==-1?t+=e.dest[r]:t+=n}return t}function R(i,e,t,n){let r=new Map;for(let d=0;d<i.length;d++){let o=i[d];o.type==="label"&&r.set(o.name,d)}let s=n?.maxIterations??M,l=0,h=0,p=0;for(;p<i.length;){if(l++,l>s)throw new O(`sed: command execution exceeded maximum iterations (${s})`,"iterations");if(e.deleted||e.quit||e.quitSilent||e.restartCycle)break;let d=i[p];if(d.type==="nextAppend"){if(g(d.address,e.lineNumber,e.totalLines,e.patternSpace))if(t&&t.currentLineIndex+h+1<t.lines.length){h++;let o=t.lines[t.currentLineIndex+h];e.patternSpace+=`
|
|
13
|
-
${o}`,e.lineNumber=t.currentLineIndex+h+1}else{e.quit=!0,e.deleted=!0;break}p++;continue}if(d.type==="branch"){let o=d;if(g(o.address,e.lineNumber,e.totalLines,e.patternSpace)){if(o.label){let f=r.get(o.label);if(f!==void 0){p=f;continue}}break}p++;continue}if(d.type==="branchOnSubst"){let o=d;if(g(o.address,e.lineNumber,e.totalLines,e.patternSpace)&&e.substitutionMade){if(e.substitutionMade=!1,o.label){let f=r.get(o.label);if(f!==void 0){p=f;continue}}break}p++;continue}if(d.type==="branchOnNoSubst"){let o=d;if(g(o.address,e.lineNumber,e.totalLines,e.patternSpace)&&!e.substitutionMade){if(o.label){let f=r.get(o.label);if(f!==void 0){p=f;continue}}break}p++;continue}if(d.type==="group"){let o=d;g(o.address,e.lineNumber,e.totalLines,e.patternSpace)&&R(o.commands,e,t,n),p++;continue}D(d,e),p++}return h}var a;(function(i){i.NUMBER="NUMBER",i.DOLLAR="DOLLAR",i.PATTERN="PATTERN",i.STEP="STEP",i.LBRACE="LBRACE",i.RBRACE="RBRACE",i.SEMICOLON="SEMICOLON",i.NEWLINE="NEWLINE",i.COMMA="COMMA",i.COMMAND="COMMAND",i.SUBSTITUTE="SUBSTITUTE",i.TRANSLITERATE="TRANSLITERATE",i.LABEL_DEF="LABEL_DEF",i.BRANCH="BRANCH",i.BRANCH_ON_SUBST="BRANCH_ON_SUBST",i.BRANCH_ON_NO_SUBST="BRANCH_ON_NO_SUBST",i.TEXT_CMD="TEXT_CMD",i.FILE_READ="FILE_READ",i.FILE_READ_LINE="FILE_READ_LINE",i.FILE_WRITE="FILE_WRITE",i.FILE_WRITE_LINE="FILE_WRITE_LINE",i.EXECUTE="EXECUTE",i.EOF="EOF",i.ERROR="ERROR"})(a||(a={}));var C=class{input;pos=0;line=1;column=1;constructor(e){this.input=e}tokenize(){let e=[];for(;this.pos<this.input.length;){let t=this.nextToken();t&&e.push(t)}return e.push(this.makeToken(a.EOF,"")),e}makeToken(e,t,n){return{type:e,value:t,line:this.line,column:this.column,...n}}peek(e=0){return this.input[this.pos+e]||""}advance(){let e=this.input[this.pos++]||"";return e===`
|
|
14
|
-
`?(this.line++,this.column=1):this.column++,e}skipWhitespace(){for(;this.pos<this.input.length;){let e=this.peek();if(e===" "||e===" "||e==="\r")this.advance();else if(e==="#")for(;this.pos<this.input.length&&this.peek()!==`
|
|
15
|
-
`;)this.advance();else break}}nextToken(){if(this.skipWhitespace(),this.pos>=this.input.length)return null;let e=this.line,t=this.column,n=this.peek();return n===`
|
|
16
|
-
`?(this.advance(),{type:a.NEWLINE,value:`
|
|
17
|
-
`,line:e,column:t}):n===";"?(this.advance(),{type:a.SEMICOLON,value:";",line:e,column:t}):n==="{"?(this.advance(),{type:a.LBRACE,value:"{",line:e,column:t}):n==="}"?(this.advance(),{type:a.RBRACE,value:"}",line:e,column:t}):n===","?(this.advance(),{type:a.COMMA,value:",",line:e,column:t}):n==="$"?(this.advance(),{type:a.DOLLAR,value:"$",line:e,column:t}):this.isDigit(n)?this.readNumber():n==="/"?this.readPattern():n===":"?this.readLabelDef():this.readCommand()}readNumber(){let e=this.line,t=this.column,n="";for(;this.isDigit(this.peek());)n+=this.advance();if(this.peek()==="~"){this.advance();let r="";for(;this.isDigit(this.peek());)r+=this.advance();let s=parseInt(n,10),l=parseInt(r,10)||0;return{type:a.STEP,value:`${s}~${l}`,first:s,step:l,line:e,column:t}}return{type:a.NUMBER,value:parseInt(n,10),line:e,column:t}}readPattern(){let e=this.line,t=this.column;this.advance();let n="";for(;this.pos<this.input.length&&this.peek()!=="/";)if(this.peek()==="\\")n+=this.advance(),this.pos<this.input.length&&(n+=this.advance());else{if(this.peek()===`
|
|
18
|
-
`)break;n+=this.advance()}return this.peek()==="/"&&this.advance(),{type:a.PATTERN,value:n,pattern:n,line:e,column:t}}readLabelDef(){let e=this.line,t=this.column;this.advance();let n="";for(;this.pos<this.input.length;){let r=this.peek();if(r===" "||r===" "||r===`
|
|
19
|
-
`||r===";"||r==="}"||r==="{")break;n+=this.advance()}return{type:a.LABEL_DEF,value:n,label:n,line:e,column:t}}readCommand(){let e=this.line,t=this.column,n=this.advance();switch(n){case"s":return this.readSubstitute(e,t);case"y":return this.readTransliterate(e,t);case"a":case"i":case"c":return this.readTextCommand(n,e,t);case"b":return this.readBranch(a.BRANCH,"b",e,t);case"t":return this.readBranch(a.BRANCH_ON_SUBST,"t",e,t);case"T":return this.readBranch(a.BRANCH_ON_NO_SUBST,"T",e,t);case"r":return this.readFileCommand(a.FILE_READ,"r",e,t);case"R":return this.readFileCommand(a.FILE_READ_LINE,"R",e,t);case"w":return this.readFileCommand(a.FILE_WRITE,"w",e,t);case"W":return this.readFileCommand(a.FILE_WRITE_LINE,"W",e,t);case"e":return this.readExecute(e,t);case"p":case"P":case"d":case"D":case"h":case"H":case"g":case"G":case"x":case"n":case"N":case"q":case"Q":case"z":case"=":case"l":case"F":case"v":return{type:a.COMMAND,value:n,line:e,column:t};default:return{type:a.ERROR,value:n,line:e,column:t}}}readSubstitute(e,t){let n=this.advance();if(!n||n===`
|
|
20
|
-
`)return{type:a.ERROR,value:"s",line:e,column:t};let r="";for(;this.pos<this.input.length&&this.peek()!==n;)if(this.peek()==="\\")r+=this.advance(),this.pos<this.input.length&&this.peek()!==`
|
|
21
|
-
`&&(r+=this.advance());else{if(this.peek()===`
|
|
22
|
-
`)break;r+=this.advance()}if(this.peek()!==n)return{type:a.ERROR,value:"unterminated substitution pattern",line:e,column:t};this.advance();let s="";for(;this.pos<this.input.length&&this.peek()!==n;)if(this.peek()==="\\")s+=this.advance(),this.pos<this.input.length&&this.peek()!==`
|
|
23
|
-
`&&(s+=this.advance());else{if(this.peek()===`
|
|
24
|
-
`)break;s+=this.advance()}this.peek()===n&&this.advance();let l="";for(;this.pos<this.input.length;){let h=this.peek();if(h==="g"||h==="i"||h==="p"||h==="I"||this.isDigit(h))l+=this.advance();else break}return{type:a.SUBSTITUTE,value:`s${n}${r}${n}${s}${n}${l}`,pattern:r,replacement:s,flags:l,line:e,column:t}}readTransliterate(e,t){let n=this.advance();if(!n||n===`
|
|
25
|
-
`)return{type:a.ERROR,value:"y",line:e,column:t};let r="";for(;this.pos<this.input.length&&this.peek()!==n;)if(this.peek()==="\\"){this.advance();let l=this.advance();l==="n"?r+=`
|
|
26
|
-
`:l==="t"?r+=" ":r+=l}else{if(this.peek()===`
|
|
27
|
-
`)break;r+=this.advance()}if(this.peek()!==n)return{type:a.ERROR,value:"unterminated transliteration source",line:e,column:t};this.advance();let s="";for(;this.pos<this.input.length&&this.peek()!==n;)if(this.peek()==="\\"){this.advance();let l=this.advance();l==="n"?s+=`
|
|
28
|
-
`:l==="t"?s+=" ":s+=l}else{if(this.peek()===`
|
|
29
|
-
`)break;s+=this.advance()}return this.peek()===n&&this.advance(),{type:a.TRANSLITERATE,value:`y${n}${r}${n}${s}${n}`,source:r,dest:s,line:e,column:t}}readTextCommand(e,t,n){this.peek()==="\\"&&this.advance(),this.peek()===" "&&this.advance();let r="";for(;this.pos<this.input.length&&this.peek()!==`
|
|
30
|
-
`;)r+=this.advance();return{type:a.TEXT_CMD,value:e,text:r.trim(),line:t,column:n}}readBranch(e,t,n,r){for(;this.peek()===" "||this.peek()===" ";)this.advance();let s="";for(;this.pos<this.input.length;){let l=this.peek();if(l===" "||l===" "||l===`
|
|
31
|
-
`||l===";"||l==="}"||l==="{")break;s+=this.advance()}return{type:e,value:t,label:s||void 0,line:n,column:r}}readFileCommand(e,t,n,r){for(;this.peek()===" "||this.peek()===" ";)this.advance();let s="";for(;this.pos<this.input.length;){let l=this.peek();if(l===`
|
|
32
|
-
`||l===";")break;s+=this.advance()}return{type:e,value:t,filename:s.trim(),line:n,column:r}}readExecute(e,t){for(;this.peek()===" "||this.peek()===" ";)this.advance();let n="";for(;this.pos<this.input.length;){let r=this.peek();if(r===`
|
|
33
|
-
`||r===";")break;n+=this.advance()}return{type:a.EXECUTE,value:"e",command:n.trim()||void 0,line:e,column:t}}isDigit(e){return e>="0"&&e<="9"}};var x=class{scripts;tokens=[];pos=0;extendedRegex=!1;constructor(e,t=!1){this.scripts=e,this.extendedRegex=t}parse(){let e=[];for(let t of this.scripts){let n=new C(t);for(this.tokens=n.tokenize(),this.pos=0;!this.isAtEnd();){if(this.check(a.NEWLINE)||this.check(a.SEMICOLON)){this.advance();continue}let r=this.parseCommand();if(r.error)return{commands:[],error:r.error};r.command&&e.push(r.command)}}return{commands:e}}parseCommand(){let e=this.parseAddressRange();for(;this.check(a.NEWLINE)||this.check(a.SEMICOLON);)this.advance();if(this.isAtEnd())return e&&(e.start!==void 0||e.end!==void 0)?{command:{type:"print",address:e}}:{command:null};let t=this.peek();switch(t.type){case a.COMMAND:return this.parseSimpleCommand(t,e);case a.SUBSTITUTE:return this.parseSubstituteFromToken(t,e);case a.TRANSLITERATE:return this.parseTransliterateFromToken(t,e);case a.LABEL_DEF:return this.advance(),{command:{type:"label",name:t.label||""}};case a.BRANCH:return this.advance(),{command:{type:"branch",address:e,label:t.label}};case a.BRANCH_ON_SUBST:return this.advance(),{command:{type:"branchOnSubst",address:e,label:t.label}};case a.BRANCH_ON_NO_SUBST:return this.advance(),{command:{type:"branchOnNoSubst",address:e,label:t.label}};case a.TEXT_CMD:return this.advance(),this.parseTextCommand(t,e);case a.FILE_READ:return this.advance(),{command:{type:"readFile",address:e,filename:t.filename||""}};case a.FILE_READ_LINE:return this.advance(),{command:{type:"readFileLine",address:e,filename:t.filename||""}};case a.FILE_WRITE:return this.advance(),{command:{type:"writeFile",address:e,filename:t.filename||""}};case a.FILE_WRITE_LINE:return this.advance(),{command:{type:"writeFirstLine",address:e,filename:t.filename||""}};case a.EXECUTE:return this.advance(),{command:{type:"execute",address:e,command:t.command}};case a.LBRACE:return this.parseGroup(e);case a.RBRACE:return{command:null};case a.ERROR:return{command:null,error:`invalid command: ${t.value}`};default:return e&&(e.start!==void 0||e.end!==void 0)?{command:{type:"print",address:e}}:{command:null}}}parseSimpleCommand(e,t){this.advance();let n=e.value;switch(n){case"p":return{command:{type:"print",address:t}};case"P":return{command:{type:"printFirstLine",address:t}};case"d":return{command:{type:"delete",address:t}};case"D":return{command:{type:"deleteFirstLine",address:t}};case"h":return{command:{type:"hold",address:t}};case"H":return{command:{type:"holdAppend",address:t}};case"g":return{command:{type:"get",address:t}};case"G":return{command:{type:"getAppend",address:t}};case"x":return{command:{type:"exchange",address:t}};case"n":return{command:{type:"next",address:t}};case"N":return{command:{type:"nextAppend",address:t}};case"q":return{command:{type:"quit",address:t}};case"Q":return{command:{type:"quitSilent",address:t}};case"z":return{command:{type:"zap",address:t}};case"=":return{command:{type:"lineNumber",address:t}};case"l":return{command:{type:"list",address:t}};case"F":return{command:{type:"printFilename",address:t}};case"v":return{command:{type:"version",address:t}};default:return{command:null,error:`unknown command: ${n}`}}}parseSubstituteFromToken(e,t){this.advance();let n=e.flags||"",r,s=n.match(/(\d+)/);return s&&(r=parseInt(s[1],10)),{command:{type:"substitute",address:t,pattern:e.pattern||"",replacement:e.replacement||"",global:n.includes("g"),ignoreCase:n.includes("i")||n.includes("I"),printOnMatch:n.includes("p"),nthOccurrence:r,extendedRegex:this.extendedRegex}}}parseTransliterateFromToken(e,t){this.advance();let n=e.source||"",r=e.dest||"";return n.length!==r.length?{command:null,error:"transliteration sets must have same length"}:{command:{type:"transliterate",address:t,source:n,dest:r}}}parseTextCommand(e,t){let n=e.value,r=e.text||"";switch(n){case"a":return{command:{type:"append",address:t,text:r}};case"i":return{command:{type:"insert",address:t,text:r}};case"c":return{command:{type:"change",address:t,text:r}};default:return{command:null,error:`unknown text command: ${n}`}}}parseGroup(e){this.advance();let t=[];for(;!this.isAtEnd()&&!this.check(a.RBRACE);){if(this.check(a.NEWLINE)||this.check(a.SEMICOLON)){this.advance();continue}let n=this.parseCommand();if(n.error)return{command:null,error:n.error};n.command&&t.push(n.command)}return this.check(a.RBRACE)?(this.advance(),{command:{type:"group",address:e,commands:t}}):{command:null,error:"unmatched brace in grouped commands"}}parseAddressRange(){let e=this.parseAddress();if(e===void 0)return;let t;return this.check(a.COMMA)&&(this.advance(),t=this.parseAddress()),{start:e,end:t}}parseAddress(){let e=this.peek();switch(e.type){case a.NUMBER:return this.advance(),e.value;case a.DOLLAR:return this.advance(),"$";case a.PATTERN:return this.advance(),{pattern:e.pattern||e.value};case a.STEP:return this.advance(),{first:e.first||0,step:e.step||0};default:return}}peek(){return this.tokens[this.pos]||{type:a.EOF,value:"",line:0,column:0}}advance(){return this.isAtEnd()||this.pos++,this.tokens[this.pos-1]}check(e){return this.peek().type===e}isAtEnd(){return this.peek().type===a.EOF}};function B(i,e=!1){return new x(i,e).parse()}var U={name:"sed",summary:"stream editor for filtering and transforming text",usage:"sed [OPTION]... {script} [input-file]...",options:["-n, --quiet, --silent suppress automatic printing of pattern space","-e script add the script to commands to be executed","-f script-file read script from file","-i, --in-place edit files in place","-E, -r, --regexp-extended use extended regular expressions"," --help display this help and exit"],description:`Commands:
|
|
34
|
-
s/regexp/replacement/[flags] substitute
|
|
35
|
-
d delete pattern space
|
|
36
|
-
p print pattern space
|
|
37
|
-
a\\ text append text after line
|
|
38
|
-
i\\ text insert text before line
|
|
39
|
-
c\\ text change (replace) line with text
|
|
40
|
-
h copy pattern space to hold space
|
|
41
|
-
H append pattern space to hold space
|
|
42
|
-
g copy hold space to pattern space
|
|
43
|
-
G append hold space to pattern space
|
|
44
|
-
x exchange pattern and hold spaces
|
|
45
|
-
n read next line into pattern space
|
|
46
|
-
N append next line to pattern space
|
|
47
|
-
y/source/dest/ transliterate characters
|
|
48
|
-
= print line number
|
|
49
|
-
l list pattern space (escape special chars)
|
|
50
|
-
b [label] branch to label
|
|
51
|
-
t [label] branch on substitution
|
|
52
|
-
T [label] branch if no substitution
|
|
53
|
-
:label define label
|
|
54
|
-
q quit
|
|
55
|
-
Q quit without printing
|
|
56
|
-
|
|
57
|
-
Addresses:
|
|
58
|
-
N line number
|
|
59
|
-
$ last line
|
|
60
|
-
/regexp/ lines matching regexp
|
|
61
|
-
N,M range from line N to M
|
|
62
|
-
first~step every step-th line starting at first`};async function S(i,e,t,n={}){let{limits:r,filename:s}=n,l=i.split(`
|
|
63
|
-
`);l.length>0&&l[l.length-1]===""&&l.pop();let h=l.length,p="",d,o="",f=r?{maxIterations:r.maxSedIterations}:void 0;for(let u=0;u<l.length;u++){let c={..._(h,s),patternSpace:l[u],holdSpace:o,lineNumber:u+1,totalLines:h,substitutionMade:!1},m={lines:l,currentLineIndex:u},E=0,v=1e4,N=0;do{if(E++,E>v)break;c.restartCycle=!1;let b=R(e,c,m,f);N+=b,m.currentLineIndex+=b}while(c.restartCycle&&!c.deleted&&!c.quit&&!c.quitSilent);u+=N,o=c.holdSpace;for(let b of c.lineNumberOutput)p+=`${b}
|
|
64
|
-
`;let L=[],I=[];for(let b of c.appendBuffer)b.startsWith("__INSERT__")?L.push(b.slice(10)):I.push(b);for(let b of L)p+=`${b}
|
|
65
|
-
`;!c.deleted&&!c.quitSilent&&(t?c.printed&&(p+=`${c.patternSpace}
|
|
66
|
-
`):p+=`${c.patternSpace}
|
|
67
|
-
`);for(let b of I)p+=`${b}
|
|
68
|
-
`;if(c.quit||c.quitSilent){c.exitCode!==void 0&&(d=c.exitCode);break}}return{output:p,exitCode:d}}var J={name:"sed",async execute(i,e){if(y(i))return A(U);let t=[],n=[],r=!1,s=!1,l=!1,h=[];for(let u=0;u<i.length;u++){let c=i[u];if(c==="-n"||c==="--quiet"||c==="--silent")r=!0;else if(c==="-i"||c==="--in-place")s=!0;else if(c.startsWith("-i"))s=!0;else if(c==="-E"||c==="-r"||c==="--regexp-extended")l=!0;else if(c==="-e")u+1<i.length&&t.push(i[++u]);else if(c==="-f")u+1<i.length&&n.push(i[++u]);else{if(c.startsWith("--"))return k("sed",c);if(c.startsWith("-")&&c.length>1){for(let m of c.slice(1))if(m!=="n"&&m!=="e"&&m!=="f"&&m!=="i"&&m!=="E"&&m!=="r")return k("sed",`-${m}`);c.includes("n")&&(r=!0),c.includes("i")&&(s=!0),(c.includes("E")||c.includes("r"))&&(l=!0),c.includes("e")&&!c.includes("n")&&!c.includes("i")&&u+1<i.length&&t.push(i[++u]),c.includes("f")&&!c.includes("e")&&u+1<i.length&&n.push(i[++u])}else!c.startsWith("-")&&t.length===0&&n.length===0?t.push(c):c.startsWith("-")||h.push(c)}}for(let u of n){let c=e.fs.resolvePath(e.cwd,u);try{let m=await e.fs.readFile(c);for(let E of m.split(`
|
|
69
|
-
`)){let v=E.trim();v&&!v.startsWith("#")&&t.push(v)}}catch{return{stdout:"",stderr:`sed: couldn't open file ${u}: No such file or directory
|
|
70
|
-
`,exitCode:1}}}if(t.length===0)return{stdout:"",stderr:`sed: no script specified
|
|
71
|
-
`,exitCode:1};let{commands:p,error:d}=B(t,l);if(d)return{stdout:"",stderr:`sed: ${d}
|
|
72
|
-
`,exitCode:1};if(p.length===0)return{stdout:"",stderr:`sed: no valid commands
|
|
73
|
-
`,exitCode:1};let o="";if(h.length===0){o=e.stdin;let u=await S(o,p,r,{limits:e.limits,fs:e.fs,cwd:e.cwd});return{stdout:u.output,stderr:"",exitCode:u.exitCode??0}}if(s){for(let u of h){let c=e.fs.resolvePath(e.cwd,u);try{let m=await e.fs.readFile(c),E=await S(m,p,r,{limits:e.limits,filename:u,fs:e.fs,cwd:e.cwd});await e.fs.writeFile(c,E.output)}catch{return{stdout:"",stderr:`sed: ${u}: No such file or directory
|
|
74
|
-
`,exitCode:1}}}return{stdout:"",stderr:"",exitCode:0}}for(let u of h){let c=e.fs.resolvePath(e.cwd,u);try{o+=await e.fs.readFile(c)}catch{return{stdout:"",stderr:`sed: ${u}: No such file or directory
|
|
75
|
-
`,exitCode:1}}}let f=await S(o,p,r,{limits:e.limits,filename:h.length===1?h[0]:void 0,fs:e.fs,cwd:e.cwd});return{stdout:f.output,stderr:"",exitCode:f.exitCode??0}}};export{J as sedCommand};
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
import"./chunk-5KNEBKYN.js";var F={name:"seq",async execute(r){let d=`
|
|
3
|
-
`,h=!1,i=[],e=0;for(;e<r.length;){let t=r[e];if(t==="-s"&&e+1<r.length){d=r[e+1],e+=2;continue}if(t==="-w"){h=!0,e++;continue}if(t==="--"){e++;break}if(t.startsWith("-")&&t!=="-"){if(t.startsWith("-s")&&t.length>2){d=t.slice(2),e++;continue}if((t==="-ws"||t==="-sw")&&(h=!0,e+1<r.length)){d=r[e+1],e+=2;continue}}i.push(t),e++}for(;e<r.length;)i.push(r[e]),e++;if(i.length===0)return{stdout:"",stderr:`seq: missing operand
|
|
4
|
-
`,exitCode:1};let l=1,o=1,a;if(i.length===1?a=parseFloat(i[0]):i.length===2?(l=parseFloat(i[0]),a=parseFloat(i[1])):(l=parseFloat(i[0]),o=parseFloat(i[1]),a=parseFloat(i[2])),Number.isNaN(l)||Number.isNaN(o)||Number.isNaN(a))return{stdout:"",stderr:`seq: invalid floating point argument: '${i.find(n=>Number.isNaN(parseFloat(n)))}'
|
|
5
|
-
`,exitCode:1};if(o===0)return{stdout:"",stderr:`seq: invalid Zero increment value: '0'
|
|
6
|
-
`,exitCode:1};let s=[],f=t=>{let n=String(t),u=n.indexOf(".");return u===-1?0:n.length-u-1},c=Math.max(f(l),f(o),f(a)),p=1e5,m=0;if(o>0)for(let t=l;t<=a+1e-10&&!(m++>p);t+=o)s.push(c>0?t.toFixed(c):String(Math.round(t)));else for(let t=l;t>=a-1e-10&&!(m++>p);t+=o)s.push(c>0?t.toFixed(c):String(Math.round(t)));if(h&&s.length>0){let t=Math.max(...s.map(n=>n.replace("-","").length));for(let n=0;n<s.length;n++){let u=s[n].startsWith("-"),x=(u?s[n].slice(1):s[n]).padStart(t,"0");s[n]=u?`-${x}`:x}}let g=s.join(d);return{stdout:g?`${g}
|
|
7
|
-
`:"",stderr:"",exitCode:0}}};export{F as seqCommand};
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
import{a,b as o}from"./chunk-GTNBSMZR.js";import"./chunk-5KNEBKYN.js";var i={name:"sleep",summary:"delay for a specified amount of time",usage:"sleep NUMBER[SUFFIX]",description:`Pause for NUMBER seconds. SUFFIX may be:
|
|
3
|
-
s - seconds (default)
|
|
4
|
-
m - minutes
|
|
5
|
-
h - hours
|
|
6
|
-
d - days
|
|
7
|
-
|
|
8
|
-
NUMBER may be a decimal number.`,options:[" --help display this help and exit"]};function l(t){let s=t.match(/^(\d+\.?\d*)(s|m|h|d)?$/);if(!s)return null;let e=parseFloat(s[1]);switch(s[2]||"s"){case"s":return e*1e3;case"m":return e*60*1e3;case"h":return e*60*60*1e3;case"d":return e*24*60*60*1e3;default:return null}}var d={name:"sleep",async execute(t,s){if(o(t))return a(i);if(t.length===0)return{stdout:"",stderr:`sleep: missing operand
|
|
9
|
-
`,exitCode:1};let e=0;for(let n of t){let r=l(n);if(r===null)return{stdout:"",stderr:`sleep: invalid time interval '${n}'
|
|
10
|
-
`,exitCode:1};e+=r}return s.sleep?await s.sleep(e):await new Promise(n=>setTimeout(n,e)),{stdout:"",stderr:"",exitCode:0}}};export{d as sleepCommand};
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
import{b as O}from"./chunk-J7MJV6WO.js";import{a as F,b as N,c as k}from"./chunk-GTNBSMZR.js";import"./chunk-SJXDWN5X.js";var P={"":1,k:1024,m:1048576,g:1073741824,t:1099511627776,p:0x4000000000000,e:1152921504606847e3},V={jan:1,feb:2,mar:3,apr:4,may:5,jun:6,jul:7,aug:8,sep:9,oct:10,nov:11,dec:12};function w(c){let t=c.trim(),e=t.match(/^([+-]?\d*\.?\d+)\s*([kmgtpeKMGTPE])?[iI]?[bB]?$/);if(!e){let n=parseFloat(t);return Number.isNaN(n)?0:n}let a=parseFloat(e[1]),s=(e[2]||"").toLowerCase(),i=P[s]||1;return a*i}function L(c){let t=c.trim().toLowerCase().slice(0,3);return V[t]||0}function D(c,t){let e=c.split(/(\d+)/),a=t.split(/(\d+)/),s=Math.max(e.length,a.length);for(let i=0;i<s;i++){let n=e[i]||"",d=a[i]||"",o=/^\d+$/.test(n)?parseInt(n,10):null,l=/^\d+$/.test(d)?parseInt(d,10):null;if(o!==null&&l!==null){if(o!==l)return o-l}else if(n!==d)return n.localeCompare(d)}return 0}function x(c){return c.replace(/[^a-zA-Z0-9\s]/g,"")}function v(c,t,e){let a=e!==null?e:/\s+/,s=c.split(a),i=t.startField-1;if(i>=s.length)return"";if(t.endField===void 0){let o=s[i]||"";return t.startChar!==void 0&&(o=o.slice(t.startChar-1)),t.ignoreLeading&&(o=o.trimStart()),o}let n=Math.min(t.endField-1,s.length-1),d="";for(let o=i;o<=n&&o<s.length;o++){let l=s[o]||"";if(o===i&&t.startChar!==void 0&&(l=l.slice(t.startChar-1)),o===n&&t.endChar!==void 0){let r=o===i&&t.startChar!==void 0?t.endChar-t.startChar+1:t.endChar;l=l.slice(0,r)}o>i&&(d+=e||" "),d+=l}return t.ignoreLeading&&(d=d.trimStart()),d}function I(c,t,e){let a=c,s=t;if(e.dictionaryOrder&&(a=x(a),s=x(s)),e.ignoreCase&&(a=a.toLowerCase(),s=s.toLowerCase()),e.monthSort){let i=L(a),n=L(s);return i-n}if(e.humanNumeric){let i=w(a),n=w(s);return i-n}if(e.versionSort)return D(a,s);if(e.numeric){let i=parseFloat(a)||0,n=parseFloat(s)||0;return i-n}return a.localeCompare(s)}function M(c){let{keys:t,fieldDelimiter:e,numeric:a,ignoreCase:s,reverse:i,humanNumeric:n,versionSort:d,dictionaryOrder:o,monthSort:l,ignoreLeadingBlanks:r,stable:u}=c;return(f,S)=>{let g=f,b=S;if(r&&(g=g.trimStart(),b=b.trimStart()),t.length===0){let h=I(g,b,{numeric:a,ignoreCase:s,humanNumeric:n,versionSort:d,dictionaryOrder:o,monthSort:l});if(h!==0)return i?-h:h;if(!u){let p=f.localeCompare(S);return i?-p:p}return 0}for(let m of t){let h=v(g,m,e),p=v(b,m,e);m.ignoreLeading&&(h=h.trimStart(),p=p.trimStart());let B={numeric:m.numeric??a,ignoreCase:m.ignoreCase??s,humanNumeric:m.humanNumeric??n,versionSort:m.versionSort??d,dictionaryOrder:m.dictionaryOrder??o,monthSort:m.monthSort??l},A=m.reverse??i,y=I(h,p,B);if(y!==0)return A?-y:y}if(!u){let m=f.localeCompare(S);return i?-m:m}return 0}}function E(c,t){if(t.keys.length===0){if(t.ignoreCase){let s=new Set;return c.filter(i=>{let n=i.toLowerCase();return s.has(n)?!1:(s.add(n),!0)})}return[...new Set(c)]}let e=t.keys[0],a=new Set;return c.filter(s=>{let i=v(s,e,t.fieldDelimiter);return(e.ignoreCase??t.ignoreCase)&&(i=i.toLowerCase()),a.has(i)?!1:(a.add(i),!0)})}function C(c){let t={startField:1},e="",a=c,s=a.match(/([bdfhMnrV]+)$/);s&&(e=s[1],a=a.slice(0,-e.length)),e.includes("n")&&(t.numeric=!0),e.includes("r")&&(t.reverse=!0),e.includes("f")&&(t.ignoreCase=!0),e.includes("b")&&(t.ignoreLeading=!0),e.includes("h")&&(t.humanNumeric=!0),e.includes("V")&&(t.versionSort=!0),e.includes("d")&&(t.dictionaryOrder=!0),e.includes("M")&&(t.monthSort=!0);let i=a.split(",");if(i.length===0||i[0]==="")return null;let n=i[0].split("."),d=parseInt(n[0],10);if(Number.isNaN(d)||d<1)return null;if(t.startField=d,n.length>1&&n[1]){let o=parseInt(n[1],10);!Number.isNaN(o)&&o>=1&&(t.startChar=o)}if(i.length>1&&i[1]){let o=i[1],l=o.match(/([bdfhMnrV]+)$/);if(l){let u=l[1];u.includes("n")&&(t.numeric=!0),u.includes("r")&&(t.reverse=!0),u.includes("f")&&(t.ignoreCase=!0),u.includes("b")&&(t.ignoreLeading=!0),u.includes("h")&&(t.humanNumeric=!0),u.includes("V")&&(t.versionSort=!0),u.includes("d")&&(t.dictionaryOrder=!0),u.includes("M")&&(t.monthSort=!0),o=o.slice(0,-u.length)}let r=o.split(".");if(r[0]){let u=parseInt(r[0],10);if(!Number.isNaN(u)&&u>=1&&(t.endField=u),r.length>1&&r[1]){let f=parseInt(r[1],10);!Number.isNaN(f)&&f>=1&&(t.endChar=f)}}}return t}var q={name:"sort",summary:"sort lines of text files",usage:"sort [OPTION]... [FILE]...",options:["-b, --ignore-leading-blanks ignore leading blanks","-d, --dictionary-order consider only blanks and alphanumeric characters","-f, --ignore-case fold lower case to upper case characters","-h, --human-numeric-sort compare human readable numbers (e.g., 2K 1G)","-M, --month-sort compare (unknown) < 'JAN' < ... < 'DEC'","-n, --numeric-sort compare according to string numerical value","-r, --reverse reverse the result of comparisons","-V, --version-sort natural sort of (version) numbers within text","-c, --check check for sorted input; do not sort","-o, --output=FILE write result to FILE instead of stdout","-s, --stable stabilize sort by disabling last-resort comparison","-u, --unique output only unique lines","-k, --key=KEYDEF sort via a key; KEYDEF gives location and type","-t, --field-separator=SEP use SEP as field separator"," --help display this help and exit"],description:`KEYDEF is F[.C][OPTS][,F[.C][OPTS]]
|
|
3
|
-
F is a field number (1-indexed)
|
|
4
|
-
C is a character position within the field (1-indexed)
|
|
5
|
-
OPTS can be: b d f h M n r V (per-key modifiers)
|
|
6
|
-
|
|
7
|
-
Examples:
|
|
8
|
-
-k1 sort by first field
|
|
9
|
-
-k2,2 sort by second field only
|
|
10
|
-
-k1.3 sort by first field starting at 3rd character
|
|
11
|
-
-k1,2n sort by fields 1-2 numerically
|
|
12
|
-
-k2 -k1 sort by field 2, then by field 1`},j={name:"sort",async execute(c,t){if(N(c))return F(q);let e={reverse:!1,numeric:!1,unique:!1,ignoreCase:!1,humanNumeric:!1,versionSort:!1,dictionaryOrder:!1,monthSort:!1,ignoreLeadingBlanks:!1,stable:!1,checkOnly:!1,outputFile:null,keys:[],fieldDelimiter:null},a=[];for(let l=0;l<c.length;l++){let r=c[l];if(r==="-r"||r==="--reverse")e.reverse=!0;else if(r==="-n"||r==="--numeric-sort")e.numeric=!0;else if(r==="-u"||r==="--unique")e.unique=!0;else if(r==="-f"||r==="--ignore-case")e.ignoreCase=!0;else if(r==="-h"||r==="--human-numeric-sort")e.humanNumeric=!0;else if(r==="-V"||r==="--version-sort")e.versionSort=!0;else if(r==="-d"||r==="--dictionary-order")e.dictionaryOrder=!0;else if(r==="-M"||r==="--month-sort")e.monthSort=!0;else if(r==="-b"||r==="--ignore-leading-blanks")e.ignoreLeadingBlanks=!0;else if(r==="-s"||r==="--stable")e.stable=!0;else if(r==="-c"||r==="--check")e.checkOnly=!0;else if(r==="-o"||r==="--output")e.outputFile=c[++l]||null;else if(r.startsWith("-o"))e.outputFile=r.slice(2)||null;else if(r.startsWith("--output="))e.outputFile=r.slice(9)||null;else if(r==="-t"||r==="--field-separator")e.fieldDelimiter=c[++l]||null;else if(r.startsWith("-t"))e.fieldDelimiter=r.slice(2)||null;else if(r.startsWith("--field-separator="))e.fieldDelimiter=r.slice(18)||null;else if(r==="-k"||r==="--key"){let u=c[++l];if(u){let f=C(u);f&&e.keys.push(f)}}else if(r.startsWith("-k")){let u=C(r.slice(2));u&&e.keys.push(u)}else if(r.startsWith("--key=")){let u=C(r.slice(6));u&&e.keys.push(u)}else{if(r.startsWith("--"))return k("sort",r);if(r.startsWith("-")&&!r.startsWith("--")){let u=!1;for(let f of r.slice(1))if(f==="r")e.reverse=!0;else if(f==="n")e.numeric=!0;else if(f==="u")e.unique=!0;else if(f==="f")e.ignoreCase=!0;else if(f==="h")e.humanNumeric=!0;else if(f==="V")e.versionSort=!0;else if(f==="d")e.dictionaryOrder=!0;else if(f==="M")e.monthSort=!0;else if(f==="b")e.ignoreLeadingBlanks=!0;else if(f==="s")e.stable=!0;else if(f==="c")e.checkOnly=!0;else{u=!0;break}if(u)return k("sort",r)}else a.push(r)}}let s=await O(t,a,{cmdName:"sort"});if(!s.ok)return s.error;let n=s.content.split(`
|
|
13
|
-
`);n.length>0&&n[n.length-1]===""&&n.pop();let d=M(e);if(e.checkOnly){for(let l=1;l<n.length;l++)if(d(n[l-1],n[l])>0)return{stdout:"",stderr:`sort: -:${l+1}: disorder: ${n[l]}
|
|
14
|
-
`,exitCode:1};return{stdout:"",stderr:"",exitCode:0}}n.sort(d),e.unique&&(n=E(n,e));let o=n.length>0?`${n.join(`
|
|
15
|
-
`)}
|
|
16
|
-
`:"";if(e.outputFile){let l=t.fs.resolvePath(t.cwd,e.outputFile);return await t.fs.writeFile(l,o),{stdout:"",stderr:"",exitCode:0}}return{stdout:o,stderr:"",exitCode:0}}};export{j as sortCommand};
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
import{b as F}from"./chunk-J7MJV6WO.js";import{a as v,b as y,c as C}from"./chunk-GTNBSMZR.js";import"./chunk-5KNEBKYN.js";function k(u,t,r){let f=r!==null?r:/\s+/,a=u.split(f),s=t.startField-1;if(s>=a.length)return"";if(t.endField===void 0){let i=a[s]||"";return t.startChar!==void 0&&(i=i.slice(t.startChar-1)),t.ignoreLeading&&(i=i.trimStart()),i}let l=Math.min(t.endField-1,a.length-1),c="";for(let i=s;i<=l&&i<a.length;i++){let o=a[i]||"";if(i===s&&t.startChar!==void 0&&(o=o.slice(t.startChar-1)),i===l&&t.endChar!==void 0){let e=i===s&&t.startChar!==void 0?t.endChar-t.startChar+1:t.endChar;o=o.slice(0,e)}i>s&&(c+=r||" "),c+=o}return t.ignoreLeading&&(c=c.trimStart()),c}function S(u,t,r,f){if(r){let l=parseFloat(u)||0,c=parseFloat(t)||0;return l-c}let a=u,s=t;return f&&(a=a.toLowerCase(),s=s.toLowerCase()),a.localeCompare(s)}function b(u){let{keys:t,fieldDelimiter:r,numeric:f,ignoreCase:a,reverse:s}=u;return(l,c)=>{if(t.length===0){let o=l,e=c;a&&(o=o.toLowerCase(),e=e.toLowerCase());let n;if(f){let d=parseFloat(o)||0,h=parseFloat(e)||0;if(n=d-h,n===0){let p=o.localeCompare(e);return s?-p:p}}else n=o.localeCompare(e);return s?-n:n}for(let o of t){let e=k(l,o,r),n=k(c,o,r),d=o.numeric??f,h=o.ignoreCase??a,p=o.reverse??s,g=S(e,n,d,h);if(g!==0)return p?-g:g}let i=l.localeCompare(c);return s?-i:i}}function w(u,t){if(t.keys.length===0){if(t.ignoreCase){let a=new Set;return u.filter(s=>{let l=s.toLowerCase();return a.has(l)?!1:(a.add(l),!0)})}return[...new Set(u)]}let r=t.keys[0],f=new Set;return u.filter(a=>{let s=k(a,r,t.fieldDelimiter);return(r.ignoreCase??t.ignoreCase)&&(s=s.toLowerCase()),f.has(s)?!1:(f.add(s),!0)})}function m(u){let t={startField:1},r="",f=u,a=f.match(/([nrfb]+)$/i);a&&(r=a[1].toLowerCase(),f=f.slice(0,-r.length)),r.includes("n")&&(t.numeric=!0),r.includes("r")&&(t.reverse=!0),r.includes("f")&&(t.ignoreCase=!0),r.includes("b")&&(t.ignoreLeading=!0);let s=f.split(",");if(s.length===0||s[0]==="")return null;let l=s[0].split("."),c=parseInt(l[0],10);if(Number.isNaN(c)||c<1)return null;if(t.startField=c,l.length>1&&l[1]){let i=parseInt(l[1],10);!Number.isNaN(i)&&i>=1&&(t.startChar=i)}if(s.length>1&&s[1]){let i=s[1],o=i.match(/([nrfb]+)$/i);if(o){let n=o[1].toLowerCase();n.includes("n")&&(t.numeric=!0),n.includes("r")&&(t.reverse=!0),n.includes("f")&&(t.ignoreCase=!0),n.includes("b")&&(t.ignoreLeading=!0),i=i.slice(0,-n.length)}let e=i.split(".");if(e[0]){let n=parseInt(e[0],10);if(!Number.isNaN(n)&&n>=1&&(t.endField=n),e.length>1&&e[1]){let d=parseInt(e[1],10);!Number.isNaN(d)&&d>=1&&(t.endChar=d)}}}return t}var N={name:"sort",summary:"sort lines of text files",usage:"sort [OPTION]... [FILE]...",options:["-f, --ignore-case fold lower case to upper case characters","-n, --numeric-sort compare according to string numerical value","-r, --reverse reverse the result of comparisons","-u, --unique output only unique lines","-k, --key=KEYDEF sort via a key; KEYDEF gives location and type","-t, --field-separator=SEP use SEP as field separator"," --help display this help and exit"],description:`KEYDEF is F[.C][OPTS][,F[.C][OPTS]]
|
|
3
|
-
F is a field number (1-indexed)
|
|
4
|
-
C is a character position within the field (1-indexed)
|
|
5
|
-
OPTS can be: n (numeric), r (reverse), f (fold case), b (ignore blanks)
|
|
6
|
-
|
|
7
|
-
Examples:
|
|
8
|
-
-k1 sort by first field
|
|
9
|
-
-k2,2 sort by second field only
|
|
10
|
-
-k1.3 sort by first field starting at 3rd character
|
|
11
|
-
-k1,2n sort by fields 1-2 numerically
|
|
12
|
-
-k2 -k1 sort by field 2, then by field 1`},D={name:"sort",async execute(u,t){if(y(u))return v(N);let r={reverse:!1,numeric:!1,unique:!1,ignoreCase:!1,keys:[],fieldDelimiter:null},f=[];for(let o=0;o<u.length;o++){let e=u[o];if(e==="-r"||e==="--reverse")r.reverse=!0;else if(e==="-n"||e==="--numeric-sort")r.numeric=!0;else if(e==="-u"||e==="--unique")r.unique=!0;else if(e==="-f"||e==="--ignore-case")r.ignoreCase=!0;else if(e==="-t"||e==="--field-separator")r.fieldDelimiter=u[++o]||null;else if(e.startsWith("-t"))r.fieldDelimiter=e.slice(2)||null;else if(e.startsWith("--field-separator="))r.fieldDelimiter=e.slice(18)||null;else if(e==="-k"||e==="--key"){let n=u[++o];if(n){let d=m(n);d&&r.keys.push(d)}}else if(e.startsWith("-k")){let n=m(e.slice(2));n&&r.keys.push(n)}else if(e.startsWith("--key=")){let n=m(e.slice(6));n&&r.keys.push(n)}else{if(e.startsWith("--"))return C("sort",e);if(e.startsWith("-")&&!e.startsWith("--")){let n=!1;for(let d of e.slice(1))if(d==="r")r.reverse=!0;else if(d==="n")r.numeric=!0;else if(d==="u")r.unique=!0;else if(d==="f")r.ignoreCase=!0;else{n=!0;break}if(n)return C("sort",e)}else f.push(e)}}let a=await F(t,f,{cmdName:"sort"});if(!a.ok)return a.error;let l=a.content.split(`
|
|
13
|
-
`);l.length>0&&l[l.length-1]===""&&l.pop();let c=b(r);return l.sort(c),r.unique&&(l=w(l,r)),{stdout:l.length>0?`${l.join(`
|
|
14
|
-
`)}
|
|
15
|
-
`:"",stderr:"",exitCode:0}}};export{D as sortCommand};
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
import{b as F}from"./chunk-J7MJV6WO.js";import{a as v,b as y,c as C}from"./chunk-GTNBSMZR.js";import"./chunk-SJXDWN5X.js";function k(u,t,r){let f=r!==null?r:/\s+/,a=u.split(f),s=t.startField-1;if(s>=a.length)return"";if(t.endField===void 0){let i=a[s]||"";return t.startChar!==void 0&&(i=i.slice(t.startChar-1)),t.ignoreLeading&&(i=i.trimStart()),i}let l=Math.min(t.endField-1,a.length-1),c="";for(let i=s;i<=l&&i<a.length;i++){let o=a[i]||"";if(i===s&&t.startChar!==void 0&&(o=o.slice(t.startChar-1)),i===l&&t.endChar!==void 0){let e=i===s&&t.startChar!==void 0?t.endChar-t.startChar+1:t.endChar;o=o.slice(0,e)}i>s&&(c+=r||" "),c+=o}return t.ignoreLeading&&(c=c.trimStart()),c}function S(u,t,r,f){if(r){let l=parseFloat(u)||0,c=parseFloat(t)||0;return l-c}let a=u,s=t;return f&&(a=a.toLowerCase(),s=s.toLowerCase()),a.localeCompare(s)}function b(u){let{keys:t,fieldDelimiter:r,numeric:f,ignoreCase:a,reverse:s}=u;return(l,c)=>{if(t.length===0){let o=l,e=c;a&&(o=o.toLowerCase(),e=e.toLowerCase());let n;if(f){let d=parseFloat(o)||0,h=parseFloat(e)||0;if(n=d-h,n===0){let p=o.localeCompare(e);return s?-p:p}}else n=o.localeCompare(e);return s?-n:n}for(let o of t){let e=k(l,o,r),n=k(c,o,r),d=o.numeric??f,h=o.ignoreCase??a,p=o.reverse??s,g=S(e,n,d,h);if(g!==0)return p?-g:g}let i=l.localeCompare(c);return s?-i:i}}function w(u,t){if(t.keys.length===0){if(t.ignoreCase){let a=new Set;return u.filter(s=>{let l=s.toLowerCase();return a.has(l)?!1:(a.add(l),!0)})}return[...new Set(u)]}let r=t.keys[0],f=new Set;return u.filter(a=>{let s=k(a,r,t.fieldDelimiter);return(r.ignoreCase??t.ignoreCase)&&(s=s.toLowerCase()),f.has(s)?!1:(f.add(s),!0)})}function m(u){let t={startField:1},r="",f=u,a=f.match(/([nrfb]+)$/i);a&&(r=a[1].toLowerCase(),f=f.slice(0,-r.length)),r.includes("n")&&(t.numeric=!0),r.includes("r")&&(t.reverse=!0),r.includes("f")&&(t.ignoreCase=!0),r.includes("b")&&(t.ignoreLeading=!0);let s=f.split(",");if(s.length===0||s[0]==="")return null;let l=s[0].split("."),c=parseInt(l[0],10);if(Number.isNaN(c)||c<1)return null;if(t.startField=c,l.length>1&&l[1]){let i=parseInt(l[1],10);!Number.isNaN(i)&&i>=1&&(t.startChar=i)}if(s.length>1&&s[1]){let i=s[1],o=i.match(/([nrfb]+)$/i);if(o){let n=o[1].toLowerCase();n.includes("n")&&(t.numeric=!0),n.includes("r")&&(t.reverse=!0),n.includes("f")&&(t.ignoreCase=!0),n.includes("b")&&(t.ignoreLeading=!0),i=i.slice(0,-n.length)}let e=i.split(".");if(e[0]){let n=parseInt(e[0],10);if(!Number.isNaN(n)&&n>=1&&(t.endField=n),e.length>1&&e[1]){let d=parseInt(e[1],10);!Number.isNaN(d)&&d>=1&&(t.endChar=d)}}}return t}var N={name:"sort",summary:"sort lines of text files",usage:"sort [OPTION]... [FILE]...",options:["-f, --ignore-case fold lower case to upper case characters","-n, --numeric-sort compare according to string numerical value","-r, --reverse reverse the result of comparisons","-u, --unique output only unique lines","-k, --key=KEYDEF sort via a key; KEYDEF gives location and type","-t, --field-separator=SEP use SEP as field separator"," --help display this help and exit"],description:`KEYDEF is F[.C][OPTS][,F[.C][OPTS]]
|
|
3
|
-
F is a field number (1-indexed)
|
|
4
|
-
C is a character position within the field (1-indexed)
|
|
5
|
-
OPTS can be: n (numeric), r (reverse), f (fold case), b (ignore blanks)
|
|
6
|
-
|
|
7
|
-
Examples:
|
|
8
|
-
-k1 sort by first field
|
|
9
|
-
-k2,2 sort by second field only
|
|
10
|
-
-k1.3 sort by first field starting at 3rd character
|
|
11
|
-
-k1,2n sort by fields 1-2 numerically
|
|
12
|
-
-k2 -k1 sort by field 2, then by field 1`},D={name:"sort",async execute(u,t){if(y(u))return v(N);let r={reverse:!1,numeric:!1,unique:!1,ignoreCase:!1,keys:[],fieldDelimiter:null},f=[];for(let o=0;o<u.length;o++){let e=u[o];if(e==="-r"||e==="--reverse")r.reverse=!0;else if(e==="-n"||e==="--numeric-sort")r.numeric=!0;else if(e==="-u"||e==="--unique")r.unique=!0;else if(e==="-f"||e==="--ignore-case")r.ignoreCase=!0;else if(e==="-t"||e==="--field-separator")r.fieldDelimiter=u[++o]||null;else if(e.startsWith("-t"))r.fieldDelimiter=e.slice(2)||null;else if(e.startsWith("--field-separator="))r.fieldDelimiter=e.slice(18)||null;else if(e==="-k"||e==="--key"){let n=u[++o];if(n){let d=m(n);d&&r.keys.push(d)}}else if(e.startsWith("-k")){let n=m(e.slice(2));n&&r.keys.push(n)}else if(e.startsWith("--key=")){let n=m(e.slice(6));n&&r.keys.push(n)}else{if(e.startsWith("--"))return C("sort",e);if(e.startsWith("-")&&!e.startsWith("--")){let n=!1;for(let d of e.slice(1))if(d==="r")r.reverse=!0;else if(d==="n")r.numeric=!0;else if(d==="u")r.unique=!0;else if(d==="f")r.ignoreCase=!0;else{n=!0;break}if(n)return C("sort",e)}else f.push(e)}}let a=await F(t,f,{cmdName:"sort"});if(!a.ok)return a.error;let l=a.content.split(`
|
|
13
|
-
`);l.length>0&&l[l.length-1]===""&&l.pop();let c=b(r);return l.sort(c),r.unique&&(l=w(l,r)),{stdout:l.length>0?`${l.join(`
|
|
14
|
-
`)}
|
|
15
|
-
`:"",stderr:"",exitCode:0}}};export{D as sortCommand};
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
import{a as d}from"./chunk-TA7RUHGQ.js";import{a as u,b as g}from"./chunk-GTNBSMZR.js";import"./chunk-5KNEBKYN.js";var S={name:"stat",summary:"display file or file system status",usage:"stat [OPTION]... FILE...",options:["-c FORMAT use the specified FORMAT instead of the default"," --help display this help and exit"]},$={format:{short:"c",type:"string"}},x={name:"stat",async execute(e,a){if(g(e))return u(S);let s=d("stat",e,$);if(!s.ok)return s.error;let n=s.result.flags.format??null,c=s.result.positional;if(c.length===0)return{stdout:"",stderr:`stat: missing operand
|
|
3
|
-
`,exitCode:1};let o="",p="",f=!1;for(let i of c){let h=a.fs.resolvePath(a.cwd,i);try{let r=await a.fs.stat(h);if(n){let t=n,l=r.mode.toString(8),y=m(r.mode,r.isDirectory);t=t.replace(/%n/g,i),t=t.replace(/%N/g,`'${i}'`),t=t.replace(/%s/g,String(r.size)),t=t.replace(/%F/g,r.isDirectory?"directory":"regular file"),t=t.replace(/%a/g,l),t=t.replace(/%A/g,y),t=t.replace(/%u/g,"1000"),t=t.replace(/%U/g,"user"),t=t.replace(/%g/g,"1000"),t=t.replace(/%G/g,"group"),o+=`${t}
|
|
4
|
-
`}else{let t=r.mode.toString(8).padStart(4,"0"),l=m(r.mode,r.isDirectory);o+=` File: ${i}
|
|
5
|
-
`,o+=` Size: ${r.size} Blocks: ${Math.ceil(r.size/512)}
|
|
6
|
-
`,o+=`Access: (${t}/${l})
|
|
7
|
-
`,o+=`Modify: ${r.mtime.toISOString()}
|
|
8
|
-
`}}catch{p+=`stat: cannot stat '${i}': No such file or directory
|
|
9
|
-
`,f=!0}}return{stdout:o,stderr:p,exitCode:f?1:0}}};function m(e,a){let s=a?"d":"-",n=[e&256?"r":"-",e&128?"w":"-",e&64?"x":"-",e&32?"r":"-",e&16?"w":"-",e&8?"x":"-",e&4?"r":"-",e&2?"w":"-",e&1?"x":"-"];return s+n.join("")}export{x as statCommand};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
import{a,b as n,d as l}from"./chunk-J7BCMQDI.js";import{a as i,b as s}from"./chunk-GTNBSMZR.js";import"./chunk-5KNEBKYN.js";var h={name:"tail",summary:"output the last part of files",usage:"tail [OPTION]... [FILE]...",options:["-c, --bytes=NUM print the last NUM bytes","-n, --lines=NUM print the last NUM lines (default 10)","-n +NUM print starting from line NUM","-q, --quiet never print headers giving file names","-v, --verbose always print headers giving file names"," --help display this help and exit"]},c={name:"tail",async execute(t,r){if(s(t))return i(h);let e=a(t,"tail");if(!e.ok)return e.error;let{lines:o,bytes:p,fromLine:m}=e.options;return n(r,e.options,"tail",f=>l(f,o,p,m??!1))}};export{c as tailCommand};
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
import{a as d}from"./chunk-TA7RUHGQ.js";import{a as p,b as l}from"./chunk-GTNBSMZR.js";import"./chunk-5KNEBKYN.js";var h={name:"tee",summary:"read from stdin and write to stdout and files",usage:"tee [OPTION]... [FILE]...",options:["-a, --append append to the given FILEs, do not overwrite"," --help display this help and exit"]},m={append:{short:"a",long:"append",type:"boolean"}},g={name:"tee",async execute(r,e){if(l(r))return p(h);let t=d("tee",r,m);if(!t.ok)return t.error;let{append:f}=t.result.flags,c=t.result.positional,o=e.stdin,n="",a=0;for(let i of c)try{let s=e.fs.resolvePath(e.cwd,i);f?await e.fs.appendFile(s,o):await e.fs.writeFile(s,o)}catch{n+=`tee: ${i}: No such file or directory
|
|
3
|
-
`,a=1}return{stdout:o,stderr:n,exitCode:a}}};export{g as teeCommand};
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
import{a as f,b as c,c as u}from"./chunk-GTNBSMZR.js";import"./chunk-5KNEBKYN.js";var x={name:"timeout",summary:"run a command with a time limit",usage:"timeout [OPTION] DURATION COMMAND [ARG]...",description:`Start COMMAND, and kill it if still running after DURATION.
|
|
3
|
-
|
|
4
|
-
DURATION is a number with optional suffix:
|
|
5
|
-
s - seconds (default)
|
|
6
|
-
m - minutes
|
|
7
|
-
h - hours
|
|
8
|
-
d - days`,options:["-k, --kill-after=DURATION send KILL signal after DURATION if still running","-s, --signal=SIGNAL specify signal to send (default: TERM)"," --preserve-status exit with same status as COMMAND, even on timeout"," --foreground run command in foreground"," --help display this help and exit"]};function O(n){let r=n.match(/^(\d+\.?\d*)(s|m|h|d)?$/);if(!r)return null;let i=parseFloat(r[1]);switch(r[2]||"s"){case"s":return i*1e3;case"m":return i*60*1e3;case"h":return i*60*60*1e3;case"d":return i*24*60*60*1e3;default:return null}}var N={name:"timeout",async execute(n,r){if(c(n))return f(x);let i=!1,s=0;for(let t=0;t<n.length;t++){let e=n[t];if(e==="--preserve-status")i=!0,s=t+1;else if(e==="--foreground")s=t+1;else if(e==="-k"||e==="--kill-after")t++,s=t+1;else if(e.startsWith("--kill-after="))s=t+1;else if(e==="-s"||e==="--signal")t++,s=t+1;else if(e.startsWith("--signal="))s=t+1;else{if(e.startsWith("--")&&e!=="--")return u("timeout",e);if(e.startsWith("-")&&e.length>1&&e!=="--")if(e.startsWith("-k"))s=t+1;else if(e.startsWith("-s"))s=t+1;else return u("timeout",e);else{s=t;break}}}let o=n.slice(s);if(o.length===0)return{stdout:"",stderr:`timeout: missing operand
|
|
9
|
-
`,exitCode:1};let a=o[0],l=O(a);if(l===null)return{stdout:"",stderr:`timeout: invalid time interval '${a}'
|
|
10
|
-
`,exitCode:1};let m=o.slice(1);if(m.length===0)return{stdout:"",stderr:`timeout: missing operand
|
|
11
|
-
`,exitCode:1};if(!r.exec)return{stdout:"",stderr:`timeout: exec not available
|
|
12
|
-
`,exitCode:1};let h=m.map(t=>t.includes(" ")||t.includes(" ")?`'${t.replace(/'/g,"'\\''")}'`:t).join(" "),p=new Promise(t=>{setTimeout(()=>t({timedOut:!0}),l)}),g=r.exec(h).then(t=>({timedOut:!1,result:t})),d=await Promise.race([p,g]);return d.timedOut?{stdout:"",stderr:"",exitCode:124}:d.result}};export{N as timeoutCommand};
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
import{a as c,b as f,c as u}from"./chunk-GTNBSMZR.js";import"./chunk-5KNEBKYN.js";var x={name:"timeout",summary:"run a command with a time limit",usage:"timeout [OPTION] DURATION COMMAND [ARG]...",description:`Start COMMAND, and kill it if still running after DURATION.
|
|
3
|
-
|
|
4
|
-
DURATION is a number with optional suffix:
|
|
5
|
-
s - seconds (default)
|
|
6
|
-
m - minutes
|
|
7
|
-
h - hours
|
|
8
|
-
d - days`,options:["-k, --kill-after=DURATION send KILL signal after DURATION if still running","-s, --signal=SIGNAL specify signal to send (default: TERM)"," --preserve-status exit with same status as COMMAND, even on timeout"," --foreground run command in foreground"," --help display this help and exit"]};function O(r){let i=r.match(/^(\d+\.?\d*)(s|m|h|d)?$/);if(!i)return null;let n=parseFloat(i[1]);switch(i[2]||"s"){case"s":return n*1e3;case"m":return n*60*1e3;case"h":return n*60*60*1e3;case"d":return n*24*60*60*1e3;default:return null}}var w={name:"timeout",async execute(r,i){if(f(r))return c(x);let n=!1,s=0;for(let t=0;t<r.length;t++){let e=r[t];if(e==="--preserve-status")n=!0,s=t+1;else if(e==="--foreground")s=t+1;else if(e==="-k"||e==="--kill-after")t++,s=t+1;else if(e.startsWith("--kill-after="))s=t+1;else if(e==="-s"||e==="--signal")t++,s=t+1;else if(e.startsWith("--signal="))s=t+1;else{if(e.startsWith("--")&&e!=="--")return u("timeout",e);if(e.startsWith("-")&&e.length>1&&e!=="--")if(e.startsWith("-k"))s=t+1;else if(e.startsWith("-s"))s=t+1;else return u("timeout",e);else{s=t;break}}}let o=r.slice(s);if(o.length===0)return{stdout:"",stderr:`timeout: missing operand
|
|
9
|
-
`,exitCode:1};let a=o[0],l=O(a);if(l===null)return{stdout:"",stderr:`timeout: invalid time interval '${a}'
|
|
10
|
-
`,exitCode:1};let m=o.slice(1);if(m.length===0)return{stdout:"",stderr:`timeout: missing operand
|
|
11
|
-
`,exitCode:1};if(!i.exec)return{stdout:"",stderr:`timeout: exec not available
|
|
12
|
-
`,exitCode:1};let h=m.map(t=>t.includes(" ")||t.includes(" ")?`'${t.replace(/'/g,"'\\''")}'`:t).join(" "),p=new Promise(t=>{setTimeout(()=>t({timedOut:!0}),l)}),g=i.exec(h,{cwd:i.cwd}).then(t=>({timedOut:!1,result:t})),d=await Promise.race([p,g]);return d.timedOut?{stdout:"",stderr:"",exitCode:124}:d.result}};export{w as timeoutCommand};
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
import{a as f}from"./chunk-4VDEBYW7.js";import{c as r}from"./chunk-GTNBSMZR.js";import"./chunk-5KNEBKYN.js";var l={name:"touch",async execute(u,e){let s=[];for(let t of u){if(t.startsWith("--"))return r("touch",t);if(t.startsWith("-")&&t.length>1)return r("touch",t);s.push(t)}if(s.length===0)return{stdout:"",stderr:`touch: missing file operand
|
|
3
|
-
`,exitCode:1};let n="",i=0;for(let t of s)try{let o=e.fs.resolvePath(e.cwd,t);await e.fs.exists(o)||await e.fs.writeFile(o,"")}catch(o){n+=`touch: cannot touch '${t}': ${f(o)}
|
|
4
|
-
`,i=1}return{stdout:"",stderr:n,exitCode:i}}};export{l as touchCommand};
|