just-bash 1.2.4 → 1.3.0
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/README.md +1 -1
- package/dist/ai/index.d.ts +5 -0
- package/dist/bin/chunks/alias-ZAQAKC5X.js +7 -0
- package/dist/bin/chunks/awk2-A73ZNFXJ.js +20 -0
- package/dist/bin/chunks/base64-JPITV4MD.js +6 -0
- package/dist/bin/chunks/base64-KNBBHA5Y.js +5 -0
- package/dist/bin/chunks/basename-IYEP3AMY.js +6 -0
- package/dist/bin/chunks/bash-WZYHIZP6.js +7 -0
- package/dist/bin/chunks/cat-XILYL7NW.js +6 -0
- package/dist/bin/chunks/chmod-EXWX4N7Y.js +9 -0
- package/dist/bin/chunks/chunk-7Q4WQLOS.js +9 -0
- package/dist/bin/chunks/chunk-GX4MPCG6.js +9 -0
- package/dist/bin/chunks/chunk-PM2DS2YW.js +3 -0
- package/dist/bin/chunks/chunk-SJXDWN5X.js +2 -0
- package/dist/bin/chunks/clear-2APRIRCF.js +2 -0
- package/dist/bin/chunks/comm-KY3COLF5.js +13 -0
- package/dist/bin/chunks/cp-HES4UN7K.js +8 -0
- package/dist/bin/chunks/curl-BN5M3BUX.js +26 -0
- package/dist/bin/chunks/cut-JSIPAKOX.js +6 -0
- package/dist/bin/chunks/date-CU4J7GHI.js +5 -0
- package/dist/bin/chunks/diff-W4JRNHXW.js +19 -0
- package/dist/bin/chunks/dirname-UTCUUILN.js +5 -0
- package/dist/bin/chunks/du-2JU3PUTM.js +8 -0
- package/dist/bin/chunks/echo-HKLPYMNC.js +4 -0
- package/dist/bin/chunks/env-2SBJNP7X.js +9 -0
- package/dist/bin/chunks/expr-M74QZQ6C.js +5 -0
- package/dist/bin/chunks/file-Q4UOC4J2.js +23 -0
- package/dist/bin/chunks/file-QPD3U2H7.js +23 -0
- package/dist/bin/chunks/find-D3ZC5DXH.js +11 -0
- package/dist/bin/chunks/find-JADNFF7V.js +11 -0
- package/dist/bin/chunks/grep-BEZRXAWL.js +15 -0
- package/dist/bin/chunks/head-YGMY3DHE.js +2 -0
- package/dist/bin/chunks/help-UEF7LW7F.js +16 -0
- package/dist/bin/chunks/history-OGBCIAR5.js +3 -0
- package/dist/bin/chunks/html-to-markdown-HTGML4TH.js +84 -0
- package/dist/bin/chunks/jq-ME57VHK6.js +14 -0
- package/dist/bin/chunks/ln-RUR4ALOJ.js +10 -0
- package/dist/bin/chunks/ls-GU5227KE.js +26 -0
- package/dist/bin/chunks/md5sum-C7WDEYN5.js +2 -0
- package/dist/bin/chunks/md5sum-KZ4MRIXM.js +2 -0
- package/dist/bin/chunks/mkdir-4OYU22AA.js +7 -0
- package/dist/bin/chunks/mv-H3S4FEWR.js +7 -0
- package/dist/bin/chunks/paste-HHCFASL4.js +8 -0
- package/dist/bin/chunks/printf-2JFCUFOA.js +14 -0
- package/dist/bin/chunks/printf-WM4X6IZ6.js +14 -0
- package/dist/bin/chunks/pwd-T5Q3JEBO.js +3 -0
- package/dist/bin/chunks/readlink-M44TLMFS.js +7 -0
- package/dist/bin/chunks/rm-R4M647EC.js +8 -0
- package/dist/bin/chunks/sed-QLLAZYHH.js +80 -0
- package/dist/bin/chunks/seq-GJMQM7SP.js +7 -0
- package/dist/bin/chunks/sha1sum-WKCGV66X.js +2 -0
- package/dist/bin/chunks/sha1sum-XLRE72T4.js +2 -0
- package/dist/bin/chunks/sha256sum-3ZDGP5WC.js +2 -0
- package/dist/bin/chunks/sha256sum-BBKWFA43.js +2 -0
- package/dist/bin/chunks/sleep-OJPODQGM.js +10 -0
- package/dist/bin/chunks/sort-JL33INQB.js +16 -0
- package/dist/bin/chunks/sort-NCQNGVCX.js +16 -0
- package/dist/bin/chunks/sort-WGKQ3WYR.js +15 -0
- package/dist/bin/chunks/stat-CR2INBC2.js +9 -0
- package/dist/bin/chunks/tail-BYPLMYMZ.js +2 -0
- package/dist/bin/chunks/tee-HOMRRC3X.js +3 -0
- package/dist/bin/chunks/timeout-MYKG34DQ.js +12 -0
- package/dist/bin/chunks/touch-3ZANYAXI.js +4 -0
- package/dist/bin/chunks/tr-E66N7IS2.js +20 -0
- package/dist/bin/chunks/tree-EE2PYIMV.js +12 -0
- package/dist/bin/chunks/true-OWPVS7U4.js +2 -0
- package/dist/bin/chunks/uniq-F5NP3LLU.js +5 -0
- package/dist/bin/chunks/wc-NBMNJDZL.js +6 -0
- package/dist/bin/chunks/which-6MRG2UCF.js +3 -0
- package/dist/bin/chunks/xargs-EMY5BOJ2.js +4 -0
- package/dist/bin/chunks/xargs-XAZFX5J3.js +4 -0
- package/dist/bin/just-bash.js +36 -36
- package/dist/bin/shell/chunks/alias-ZAQAKC5X.js +7 -0
- package/dist/bin/shell/chunks/awk2-A73ZNFXJ.js +20 -0
- package/dist/bin/shell/chunks/base64-JPITV4MD.js +6 -0
- package/dist/bin/shell/chunks/base64-KNBBHA5Y.js +5 -0
- package/dist/bin/shell/chunks/basename-IYEP3AMY.js +6 -0
- package/dist/bin/shell/chunks/bash-WZYHIZP6.js +7 -0
- package/dist/bin/shell/chunks/cat-XILYL7NW.js +6 -0
- package/dist/bin/shell/chunks/chmod-EXWX4N7Y.js +9 -0
- package/dist/bin/shell/chunks/chunk-7Q4WQLOS.js +9 -0
- package/dist/bin/shell/chunks/chunk-GX4MPCG6.js +9 -0
- package/dist/bin/shell/chunks/chunk-PM2DS2YW.js +3 -0
- package/dist/bin/shell/chunks/chunk-SJXDWN5X.js +2 -0
- package/dist/bin/shell/chunks/clear-2APRIRCF.js +2 -0
- package/dist/bin/shell/chunks/comm-KY3COLF5.js +13 -0
- package/dist/bin/shell/chunks/cp-HES4UN7K.js +8 -0
- package/dist/bin/shell/chunks/curl-BN5M3BUX.js +26 -0
- package/dist/bin/shell/chunks/cut-JSIPAKOX.js +6 -0
- package/dist/bin/shell/chunks/date-CU4J7GHI.js +5 -0
- package/dist/bin/shell/chunks/diff-W4JRNHXW.js +19 -0
- package/dist/bin/shell/chunks/dirname-UTCUUILN.js +5 -0
- package/dist/bin/shell/chunks/du-2JU3PUTM.js +8 -0
- package/dist/bin/shell/chunks/echo-HKLPYMNC.js +4 -0
- package/dist/bin/shell/chunks/env-2SBJNP7X.js +9 -0
- package/dist/bin/shell/chunks/expr-M74QZQ6C.js +5 -0
- package/dist/bin/shell/chunks/file-Q4UOC4J2.js +23 -0
- package/dist/bin/shell/chunks/file-QPD3U2H7.js +23 -0
- package/dist/bin/shell/chunks/find-D3ZC5DXH.js +11 -0
- package/dist/bin/shell/chunks/find-JADNFF7V.js +11 -0
- package/dist/bin/shell/chunks/grep-BEZRXAWL.js +15 -0
- package/dist/bin/shell/chunks/head-YGMY3DHE.js +2 -0
- package/dist/bin/shell/chunks/help-UEF7LW7F.js +16 -0
- package/dist/bin/shell/chunks/history-OGBCIAR5.js +3 -0
- package/dist/bin/shell/chunks/html-to-markdown-HTGML4TH.js +84 -0
- package/dist/bin/shell/chunks/jq-ME57VHK6.js +14 -0
- package/dist/bin/shell/chunks/ln-RUR4ALOJ.js +10 -0
- package/dist/bin/shell/chunks/ls-GU5227KE.js +26 -0
- package/dist/bin/shell/chunks/md5sum-C7WDEYN5.js +2 -0
- package/dist/bin/shell/chunks/md5sum-KZ4MRIXM.js +2 -0
- package/dist/bin/shell/chunks/mkdir-4OYU22AA.js +7 -0
- package/dist/bin/shell/chunks/mv-H3S4FEWR.js +7 -0
- package/dist/bin/shell/chunks/paste-HHCFASL4.js +8 -0
- package/dist/bin/shell/chunks/printf-2JFCUFOA.js +14 -0
- package/dist/bin/shell/chunks/printf-WM4X6IZ6.js +14 -0
- package/dist/bin/shell/chunks/pwd-T5Q3JEBO.js +3 -0
- package/dist/bin/shell/chunks/readlink-M44TLMFS.js +7 -0
- package/dist/bin/shell/chunks/rm-R4M647EC.js +8 -0
- package/dist/bin/shell/chunks/sed-QLLAZYHH.js +80 -0
- package/dist/bin/shell/chunks/seq-GJMQM7SP.js +7 -0
- package/dist/bin/shell/chunks/sha1sum-WKCGV66X.js +2 -0
- package/dist/bin/shell/chunks/sha1sum-XLRE72T4.js +2 -0
- package/dist/bin/shell/chunks/sha256sum-3ZDGP5WC.js +2 -0
- package/dist/bin/shell/chunks/sha256sum-BBKWFA43.js +2 -0
- package/dist/bin/shell/chunks/sleep-OJPODQGM.js +10 -0
- package/dist/bin/shell/chunks/sort-JL33INQB.js +16 -0
- package/dist/bin/shell/chunks/sort-NCQNGVCX.js +16 -0
- package/dist/bin/shell/chunks/sort-WGKQ3WYR.js +15 -0
- package/dist/bin/shell/chunks/stat-CR2INBC2.js +9 -0
- package/dist/bin/shell/chunks/tail-BYPLMYMZ.js +2 -0
- package/dist/bin/shell/chunks/tee-HOMRRC3X.js +3 -0
- package/dist/bin/shell/chunks/timeout-MYKG34DQ.js +12 -0
- package/dist/bin/shell/chunks/touch-3ZANYAXI.js +4 -0
- package/dist/bin/shell/chunks/tr-E66N7IS2.js +20 -0
- package/dist/bin/shell/chunks/tree-EE2PYIMV.js +12 -0
- package/dist/bin/shell/chunks/true-OWPVS7U4.js +2 -0
- package/dist/bin/shell/chunks/uniq-F5NP3LLU.js +5 -0
- package/dist/bin/shell/chunks/wc-NBMNJDZL.js +6 -0
- package/dist/bin/shell/chunks/which-6MRG2UCF.js +3 -0
- package/dist/bin/shell/chunks/xargs-EMY5BOJ2.js +4 -0
- package/dist/bin/shell/chunks/xargs-XAZFX5J3.js +4 -0
- package/dist/bin/shell/shell.js +1 -1
- package/dist/bundle/ai/index.js +384 -343
- package/dist/bundle/chunks/alias-JFIUWFGE.js +6 -0
- package/dist/bundle/chunks/awk2-QWBT4IFJ.js +19 -0
- package/dist/bundle/chunks/base64-JN6XXTIG.js +4 -0
- package/dist/bundle/chunks/base64-TUA2XORD.js +5 -0
- package/dist/bundle/chunks/basename-5UVU5RXR.js +5 -0
- package/dist/bundle/chunks/bash-BASUPKHJ.js +6 -0
- package/dist/bundle/chunks/cat-47EP4IAV.js +5 -0
- package/dist/bundle/chunks/chmod-XJXFAD4M.js +8 -0
- package/dist/bundle/chunks/chunk-2RUN43TJ.js +1 -0
- package/dist/bundle/chunks/chunk-46TSKXFW.js +8 -0
- package/dist/bundle/chunks/chunk-4HEWHW5W.js +8 -0
- package/dist/bundle/chunks/chunk-NWEGHOXL.js +2 -0
- package/dist/bundle/chunks/clear-XD3TJRVQ.js +1 -0
- package/dist/bundle/chunks/comm-KSJ4BBRQ.js +12 -0
- package/dist/bundle/chunks/cp-37OVLNLD.js +7 -0
- package/dist/bundle/chunks/curl-C43O5WQS.js +25 -0
- package/dist/bundle/chunks/cut-FIZRELKC.js +5 -0
- package/dist/bundle/chunks/date-NN5C354M.js +4 -0
- package/dist/bundle/chunks/diff-GLRVCAKJ.js +6 -0
- package/dist/bundle/chunks/dirname-U2KVUSQY.js +4 -0
- package/dist/bundle/chunks/du-KRAFOIQK.js +7 -0
- package/dist/bundle/chunks/echo-WUKBESC7.js +3 -0
- package/dist/bundle/chunks/env-MSPSPGCD.js +8 -0
- package/dist/bundle/chunks/expr-HYOCSWK6.js +4 -0
- package/dist/bundle/chunks/file-JMDIXLHY.js +22 -0
- package/dist/bundle/chunks/file-LQXX6P4Y.js +22 -0
- package/dist/bundle/chunks/find-5UN24ZV7.js +10 -0
- package/dist/bundle/chunks/find-R6LJIRBI.js +10 -0
- package/dist/bundle/chunks/grep-ZJVDG3FA.js +14 -0
- package/dist/bundle/chunks/head-6PAUYCDP.js +1 -0
- package/dist/bundle/chunks/help-5E6PYJWQ.js +15 -0
- package/dist/bundle/chunks/history-SG6VRATI.js +2 -0
- package/dist/bundle/chunks/html-to-markdown-ZSZ34PAN.js +4 -0
- package/dist/bundle/chunks/jq-ABWUP4LV.js +13 -0
- package/dist/bundle/chunks/ln-XFYHBIFL.js +9 -0
- package/dist/bundle/chunks/ls-JGYJQA2Y.js +23 -0
- package/dist/bundle/chunks/md5sum-3BXZVFKC.js +1 -0
- package/dist/bundle/chunks/md5sum-PIH6F3O3.js +1 -0
- package/dist/bundle/chunks/mkdir-HA2FJX4O.js +6 -0
- package/dist/bundle/chunks/mv-7I62SB3I.js +6 -0
- package/dist/bundle/chunks/paste-QBGVCQFT.js +7 -0
- package/dist/bundle/chunks/printf-HBP44PXI.js +13 -0
- package/dist/bundle/chunks/printf-O2UW73XK.js +13 -0
- package/dist/bundle/chunks/pwd-CEF235GL.js +2 -0
- package/dist/bundle/chunks/readlink-MQIMKDSA.js +6 -0
- package/dist/bundle/chunks/rm-NF3FNLAY.js +7 -0
- package/dist/bundle/chunks/sed-H2RWPMTM.js +79 -0
- package/dist/bundle/chunks/seq-VKYIUOPJ.js +6 -0
- package/dist/bundle/chunks/sha1sum-HVHNZSEC.js +1 -0
- package/dist/bundle/chunks/sha1sum-MSBXCB4N.js +1 -0
- package/dist/bundle/chunks/sha256sum-REOOJORK.js +1 -0
- package/dist/bundle/chunks/sha256sum-YMKJMSTW.js +1 -0
- package/dist/bundle/chunks/sleep-AFN3PHJW.js +9 -0
- package/dist/bundle/chunks/sort-R3YWDMTV.js +14 -0
- package/dist/bundle/chunks/sort-TEXV7CUR.js +15 -0
- package/dist/bundle/chunks/sort-XODGFZC4.js +15 -0
- package/dist/bundle/chunks/stat-FVFLDQGP.js +8 -0
- package/dist/bundle/chunks/tail-QXKYHAML.js +1 -0
- package/dist/bundle/chunks/tee-W5HCCBPO.js +2 -0
- package/dist/bundle/chunks/timeout-XAA3N7CF.js +11 -0
- package/dist/bundle/chunks/touch-FOE745V2.js +3 -0
- package/dist/bundle/chunks/tr-LMLGE4IE.js +19 -0
- package/dist/bundle/chunks/tree-WBUGLVP5.js +11 -0
- package/dist/bundle/chunks/true-6LGCG4EY.js +1 -0
- package/dist/bundle/chunks/uniq-7PFWPNWK.js +4 -0
- package/dist/bundle/chunks/wc-GV5WUREX.js +5 -0
- package/dist/bundle/chunks/which-KHFYPBWW.js +2 -0
- package/dist/bundle/chunks/xargs-7KV5F66T.js +3 -0
- package/dist/bundle/chunks/xargs-NQBNFMCT.js +3 -0
- package/dist/bundle/index.js +1 -1
- package/dist/commands/comm/comm.d.ts +10 -0
- package/dist/commands/file/file.d.ts +7 -0
- package/dist/commands/md5sum/checksum.d.ts +7 -0
- package/dist/commands/md5sum/md5sum.d.ts +2 -0
- package/dist/commands/md5sum/sha1sum.d.ts +2 -0
- package/dist/commands/md5sum/sha256sum.d.ts +2 -0
- package/dist/commands/printf/escapes.d.ts +2 -1
- package/dist/commands/registry.d.ts +1 -1
- package/dist/commands/sort/types.d.ts +12 -0
- package/package.json +2 -1
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import{a as d,b as N,c as g}from"./chunk-74CEPOFO.js";import"./chunk-2RUN43TJ.js";var O={name:"jq",summary:"command-line JSON processor",usage:"jq [OPTIONS] FILTER [FILE]",options:["-r, --raw-output output strings without quotes","-c, --compact compact output (no pretty printing)","-e, --exit-status set exit status based on output","-s, --slurp read entire input into array","-n, --null-input don't read any input"," --help display this help and exit"]};function b(r,o,e,t=0){if(r===null||r===void 0)return"null";if(typeof r=="boolean"||typeof r=="number")return String(r);if(typeof r=="string")return e?r:JSON.stringify(r);if(Array.isArray(r))return r.length===0?"[]":o?`[${r.map(n=>b(n,!0,!1)).join(",")}]`:`[
|
|
2
|
+
${r.map(n=>" ".repeat(t+1)+b(n,!1,!1,t+1)).join(`,
|
|
3
|
+
`)}
|
|
4
|
+
${" ".repeat(t)}]`;if(typeof r=="object"){let u=Object.keys(r);return u.length===0?"{}":o?`{${u.map(s=>`${JSON.stringify(s)}:${b(r[s],!0,!1)}`).join(",")}}`:`{
|
|
5
|
+
${u.map(s=>{let i=b(r[s],!1,!1,t+1);return`${" ".repeat(t+1)}${JSON.stringify(s)}: ${i}`}).join(`,
|
|
6
|
+
`)}
|
|
7
|
+
${" ".repeat(t)}}`}return String(r)}function h(r,o){if(o===""||o===".")return[r];let e=o.startsWith(".")?o.slice(1):o;if(e==="")return[r];if(e.startsWith("[]")){let s=e.slice(2);return Array.isArray(r)?r.flatMap(i=>h(i,`.${s}`)):r&&typeof r=="object"?Object.values(r).flatMap(i=>h(i,`.${s}`)):[]}let t=e.match(/^\[(-?\d+)\](.*)/);if(t){let s=Number.parseInt(t[1],10),i=t[2];if(Array.isArray(r)){let c=s<0?r.length+s:s;if(c>=0&&c<r.length)return h(r[c],`.${i}`)}return[null]}let u=e.match(/^([a-zA-Z_][a-zA-Z0-9_]*)(.*)/);if(u){let s=u[1],i=u[2];if(r&&typeof r=="object"&&!Array.isArray(r)){let a=r[s];if(i.startsWith("[]"))return i=i.slice(2),Array.isArray(a)?a.flatMap(p=>h(p,`.${i}`)):a&&typeof a=="object"?Object.values(a).flatMap(p=>h(p,`.${i}`)):[];if(i.startsWith(".")||i.startsWith("[")||i==="")return h(a,i||".")}return[null]}let n=e.match(/^\["([^"]+)"\](.*)/);if(n){let s=n[1],i=n[2];return r&&typeof r=="object"&&!Array.isArray(r)?h(r[s],`.${i}`):[null]}return[null]}function j(r,o){let e=o.trim();if(e.includes("|")){let t=e.split("|").map(n=>n.trim()),u=[r];for(let n of t)u=u.flatMap(s=>j(s,n));return u}if(e==="keys")return Array.isArray(r)?[r.map((t,u)=>u)]:r&&typeof r=="object"?[Object.keys(r)]:[null];if(e==="values")return Array.isArray(r)?[r]:r&&typeof r=="object"?[Object.values(r)]:[null];if(e==="length")return typeof r=="string"?[r.length]:Array.isArray(r)?[r.length]:r&&typeof r=="object"?[Object.keys(r).length]:r===null?[0]:[null];if(e==="type")return r===null?["null"]:Array.isArray(r)?["array"]:[typeof r];if(e==="first")return Array.isArray(r)&&r.length>0?[r[0]]:[null];if(e==="last")return Array.isArray(r)&&r.length>0?[r[r.length-1]]:[null];if(e==="reverse")return Array.isArray(r)?[[...r].reverse()]:typeof r=="string"?[r.split("").reverse().join("")]:[null];if(e==="sort")return Array.isArray(r)?[[...r].sort()]:[null];if(e==="unique")return Array.isArray(r)?[[...new Set(r.map(t=>JSON.stringify(t)))].map(t=>JSON.parse(t))]:[null];if(e==="flatten")return Array.isArray(r)?[r.flat()]:[null];if(e==="add")return Array.isArray(r)?r.length===0?[null]:r.every(t=>typeof t=="number")?[r.reduce((t,u)=>t+u,0)]:r.every(t=>typeof t=="string")?[r.join("")]:r.every(t=>Array.isArray(t))?[r.flat()]:[null]:[null];if(e==="min")return Array.isArray(r)&&r.length>0?[Math.min(...r)]:[null];if(e==="max")return Array.isArray(r)&&r.length>0?[Math.max(...r)]:[null];if(e==="empty")return[];if(e==="not")return[!r];if(e==="to_entries")return r&&typeof r=="object"&&!Array.isArray(r)?[Object.entries(r).map(([t,u])=>({key:t,value:u}))]:[null];if(e==="from_entries"){if(Array.isArray(r)){let t={};for(let u of r)if(u&&typeof u=="object"){let n=u,s=n.key??n.name??n.k,i=n.value??n.v;s!==void 0&&(t[String(s)]=i)}return[t]}return[null]}if(e==="with_entries")return r&&typeof r=="object"&&!Array.isArray(r)?[Object.entries(r).map(([t,u])=>({key:t,value:u}))]:[null];if(e==="has")return[r!=null];if(e==="in")return[!1];if(e==="getpath")return[r];if(e==="paths"){let t=[],u=(n,s)=>{if(n&&typeof n=="object")if(Array.isArray(n))for(let i=0;i<n.length;i++)t.push([...s,i]),u(n[i],[...s,i]);else for(let i of Object.keys(n))t.push([...s,i]),u(n[i],[...s,i])};return u(r,[]),[t]}if(e==="leaf_paths"){let t=[],u=(n,s)=>{if(n&&typeof n=="object")if(Array.isArray(n))if(n.length===0)t.push(s);else for(let i=0;i<n.length;i++)u(n[i],[...s,i]);else{let i=Object.keys(n);if(i.length===0)t.push(s);else for(let c of i)u(n[c],[...s,c])}else t.push(s)};return u(r,[]),[t]}if(e==="any")return Array.isArray(r)?[r.some(Boolean)]:[!1];if(e==="all")return Array.isArray(r)?[r.every(Boolean)]:[!0];if(e==="group_by")return Array.isArray(r)?[[r]]:[null];if(e==="unique_by")return Array.isArray(r)?[r]:[null];if(e==="join")return Array.isArray(r)?[r.join("")]:[null];if(e==="splits"||e==="split")return typeof r=="string"?[[r]]:[null];if(e==="ascii_downcase"||e==="ascii_upcase")return typeof r=="string"?[e==="ascii_downcase"?r.toLowerCase():r.toUpperCase()]:[null];if(e==="ltrimstr"||e==="rtrimstr")return[r];if(e==="startswith"||e==="endswith")return[!1];if(e==="contains")return[!1];if(e==="inside")return[!1];if(e==="indices")return[[]];if(e==="index"||e==="rindex")return[null];if(e==="test"||e==="match"||e==="capture")return[null];if(e==="floor")return typeof r=="number"?[Math.floor(r)]:[null];if(e==="ceil")return typeof r=="number"?[Math.ceil(r)]:[null];if(e==="round")return typeof r=="number"?[Math.round(r)]:[null];if(e==="sqrt")return typeof r=="number"?[Math.sqrt(r)]:[null];if(e==="fabs"||e==="abs")return typeof r=="number"?[Math.abs(r)]:[null];if(e==="tostring")return typeof r=="string"?[r]:[JSON.stringify(r)];if(e==="tonumber"){if(typeof r=="number")return[r];if(typeof r=="string"){let t=Number(r);return[Number.isNaN(t)?null:t]}return[null]}if(e==="infinite")return[!Number.isFinite(r)];if(e==="nan")return[Number.isNaN(r)];if(e==="isinfinite")return[typeof r=="number"&&!Number.isFinite(r)];if(e==="isnan")return[typeof r=="number"&&Number.isNaN(r)];if(e==="isnormal")return[typeof r=="number"&&Number.isFinite(r)&&r!==0];if(e==="env")return[{}];if(e==="now")return[Date.now()/1e3];if(e===".."){let t=[],u=n=>{if(t.push(n),Array.isArray(n))for(let s of n)u(s);else if(n&&typeof n=="object")for(let s of Object.keys(n))u(n[s])};return u(r),t}return h(r,e)}var $={name:"jq",async execute(r,o){if(N(r))return d(O);let e=!1,t=!1,u=!1,n=!1,s=!1,i=".",c=!1,a=[];for(let l=0;l<r.length;l++){let f=r[l];if(f==="-r"||f==="--raw-output")e=!0;else if(f==="-c"||f==="--compact-output")t=!0;else if(f==="-e"||f==="--exit-status")u=!0;else if(f==="-s"||f==="--slurp")n=!0;else if(f==="-n"||f==="--null-input")s=!0;else if(f==="-")a.push("-");else{if(f.startsWith("--"))return g("jq",f);if(f.startsWith("-"))for(let m of f.slice(1))if(m==="r")e=!0;else if(m==="c")t=!0;else if(m==="e")u=!0;else if(m==="s")n=!0;else if(m==="n")s=!0;else return g("jq",`-${m}`);else c?a.push(f):(i=f,c=!0)}}let p;if(s)p="";else if(a.length===0||a.length===1&&a[0]==="-")p=o.stdin;else try{let l=o.fs.resolvePath(o.cwd,a[0]);p=await o.fs.readFile(l)}catch{return{stdout:"",stderr:`jq: ${a[0]}: No such file or directory
|
|
8
|
+
`,exitCode:2}}try{let l;if(s)l=j(null,i);else if(n){let y=[];for(let A of p.trim().split(`
|
|
9
|
+
`))A.trim()&&y.push(JSON.parse(A));l=j(y,i)}else{let y=p.trim();if(y.startsWith("{")||y.startsWith("["))l=j(JSON.parse(y),i);else{l=[];for(let A of y.split(`
|
|
10
|
+
`))A.trim()&&l.push(...j(JSON.parse(A),i))}}let f=l.map(y=>b(y,t,e)).join(`
|
|
11
|
+
`),m=u&&(l.length===0||l.every(y=>y==null||y===!1))?1:0;return{stdout:f?`${f}
|
|
12
|
+
`:"",stderr:"",exitCode:m}}catch(l){return{stdout:"",stderr:`jq: parse error: ${l.message}
|
|
13
|
+
`,exitCode:5}}}};export{$ as jqCommand};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import{a as m,b as h}from"./chunk-74CEPOFO.js";import"./chunk-2RUN43TJ.js";var y={name:"ln",summary:"make links between files",usage:"ln [OPTIONS] TARGET LINK_NAME",options:["-s create a symbolic link instead of a hard link","-f remove existing destination files","-n treat LINK_NAME as a normal file if it is a symbolic link to a directory","-v print name of each linked file"," --help display this help and exit"]},p={name:"ln",async execute(i,s){if(h(i))return m(y);let r=!1,a=!1,d=!1,t=0;for(;t<i.length&&i[t].startsWith("-");){let e=i[t];if(e==="-s"||e==="--symbolic")r=!0,t++;else if(e==="-f"||e==="--force")a=!0,t++;else if(e==="-v"||e==="--verbose")d=!0,t++;else if(e==="-n"||e==="--no-dereference")t++;else if(/^-[sfvn]+$/.test(e))e.includes("s")&&(r=!0),e.includes("f")&&(a=!0),e.includes("v")&&(d=!0),t++;else if(e==="--"){t++;break}else return{stdout:"",stderr:`ln: invalid option -- '${e.slice(1)}'
|
|
2
|
+
`,exitCode:1}}let f=i.slice(t);if(f.length<2)return{stdout:"",stderr:`ln: missing file operand
|
|
3
|
+
`,exitCode:1};let n=f[0],l=f[1],o=s.fs.resolvePath(s.cwd,l);if(await s.fs.exists(o))if(a)try{await s.fs.rm(o,{force:!0})}catch{return{stdout:"",stderr:`ln: cannot remove '${l}': Permission denied
|
|
4
|
+
`,exitCode:1}}else return{stdout:"",stderr:`ln: failed to create ${r?"symbolic ":""}link '${l}': File exists
|
|
5
|
+
`,exitCode:1};try{if(r)await s.fs.symlink(n,o);else{let e=s.fs.resolvePath(s.cwd,n);if(!await s.fs.exists(e))return{stdout:"",stderr:`ln: failed to access '${n}': No such file or directory
|
|
6
|
+
`,exitCode:1};await s.fs.link(e,o)}}catch(e){let u=e;return u.message.includes("EPERM")?{stdout:"",stderr:`ln: '${n}': hard link not allowed for directory
|
|
7
|
+
`,exitCode:1}:{stdout:"",stderr:`ln: ${u.message}
|
|
8
|
+
`,exitCode:1}}let c="";return d&&(c=`'${l}' -> '${n}'
|
|
9
|
+
`),{stdout:c,stderr:"",exitCode:0}}};export{p as lnCommand};
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import{a as M}from"./chunk-ZVV5VXYZ.js";import{a as C,b as A}from"./chunk-74CEPOFO.js";import"./chunk-2RUN43TJ.js";import{minimatch as F}from"minimatch";function v(r){if(r<1024)return String(r);if(r<1024*1024){let e=r/1024;return e<10?`${e.toFixed(1)}K`:`${Math.round(e)}K`}if(r<1024*1024*1024){let e=r/1048576;return e<10?`${e.toFixed(1)}M`:`${Math.round(e)}M`}let o=r/(1024*1024*1024);return o<10?`${o.toFixed(1)}G`:`${Math.round(o)}G`}function D(r){let e=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"][r.getMonth()],h=String(r.getDate()).padStart(2," "),m=new Date,d=new Date(m.getTime()-4320*60*60*1e3);if(r>d){let p=String(r.getHours()).padStart(2,"0"),y=String(r.getMinutes()).padStart(2,"0");return`${e} ${h} ${p}:${y}`}let $=r.getFullYear();return`${e} ${h} ${$}`}var O={name:"ls",summary:"list directory contents",usage:"ls [OPTION]... [FILE]...",options:["-a, --all do not ignore entries starting with .","-A, --almost-all do not list . and ..","-d, --directory list directories themselves, not their contents","-h, --human-readable with -l, print sizes like 1K 234M 2G etc.","-l use a long listing format","-r, --reverse reverse order while sorting","-R, --recursive list subdirectories recursively","-S sort by file size, largest first","-t sort by time, newest first","-1 list one file per line"," --help display this help and exit"]},W={showAll:{short:"a",long:"all",type:"boolean"},showAlmostAll:{short:"A",long:"almost-all",type:"boolean"},longFormat:{short:"l",type:"boolean"},humanReadable:{short:"h",long:"human-readable",type:"boolean"},recursive:{short:"R",long:"recursive",type:"boolean"},reverse:{short:"r",long:"reverse",type:"boolean"},sortBySize:{short:"S",type:"boolean"},directoryOnly:{short:"d",long:"directory",type:"boolean"},sortByTime:{short:"t",type:"boolean"},onePerLine:{short:"1",type:"boolean"}},j={name:"ls",async execute(r,o){if(A(r))return C(O);let e=M("ls",r,W);if(!e.ok)return e.error;let h=e.result.flags.showAll,m=e.result.flags.showAlmostAll,d=e.result.flags.longFormat,$=e.result.flags.humanReadable,p=e.result.flags.recursive,y=e.result.flags.reverse,g=e.result.flags.sortBySize,z=e.result.flags.directoryOnly,f=e.result.flags.sortByTime;e.result.flags.onePerLine;let s=e.result.positional;s.length===0&&s.push(".");let n="",i="",c=0;for(let t=0;t<s.length;t++){let a=s[t];if(t>0&&n&&!n.endsWith(`
|
|
2
|
+
|
|
3
|
+
`)&&(n+=`
|
|
4
|
+
`),z){let l=o.fs.resolvePath(o.cwd,a);try{let u=await o.fs.stat(l);if(d){let w=u.isDirectory?"drwxr-xr-x":"-rw-r--r--",S=u.isDirectory?"/":"",P=u.size??0,b=$?v(P).padStart(5):String(P).padStart(5),x=u.mtime??new Date(0),J=D(x);n+=`${w} 1 user user ${b} ${J} ${a}${S}
|
|
5
|
+
`}else n+=`${a}
|
|
6
|
+
`}catch{i+=`ls: cannot access '${a}': No such file or directory
|
|
7
|
+
`,c=2}continue}if(a.includes("*")||a.includes("?")||a.includes("[")){let l=await B(a,o,h,m,d,y,$,g);n+=l.stdout,i+=l.stderr,l.exitCode!==0&&(c=l.exitCode)}else{let l=await H(a,o,h,m,d,p,s.length>1,y,$,g);n+=l.stdout,i+=l.stderr,l.exitCode!==0&&(c=l.exitCode)}}return{stdout:n,stderr:i,exitCode:c}}};async function B(r,o,e,h,m,d=!1,$=!1,p=!1){let y=e||h,g=o.fs.getAllPaths(),z=o.fs.resolvePath(o.cwd,"."),f=[];for(let s of g){let n=s.startsWith(z)&&s.slice(z.length+1)||s;if(F(n,r)||F(s,r)){let i=n.split("/").pop()||n;if(!y&&i.startsWith("."))continue;f.push(n||s)}}if(f.length===0)return{stdout:"",stderr:`ls: ${r}: No such file or directory
|
|
8
|
+
`,exitCode:2};if(p){let s=[];for(let n of f){let i=o.fs.resolvePath(o.cwd,n);try{let c=await o.fs.stat(i);s.push({path:n,size:c.size??0})}catch{s.push({path:n,size:0})}}s.sort((n,i)=>i.size-n.size),f.length=0,f.push(...s.map(n=>n.path))}else f.sort();if(d&&f.reverse(),m){let s=[];for(let n of f){let i=o.fs.resolvePath(o.cwd,n);try{let c=await o.fs.stat(i),t=c.isDirectory?"drwxr-xr-x":"-rw-r--r--",a=c.isDirectory?"/":"",l=c.size??0,u=$?v(l).padStart(5):String(l).padStart(5),w=c.mtime??new Date(0),S=D(w);s.push(`${t} 1 user user ${u} ${S} ${n}${a}`)}catch{s.push(`-rw-r--r-- 1 user user 0 Jan 1 00:00 ${n}`)}}return{stdout:`${s.join(`
|
|
9
|
+
`)}
|
|
10
|
+
`,stderr:"",exitCode:0}}return{stdout:`${f.join(`
|
|
11
|
+
`)}
|
|
12
|
+
`,stderr:"",exitCode:0}}async function H(r,o,e,h,m,d,$,p=!1,y=!1,g=!1,z=!1){let f=e||h,s=o.fs.resolvePath(o.cwd,r);try{let n=await o.fs.stat(s);if(!n.isDirectory){if(m){let t=n.size??0,a=y?v(t).padStart(5):String(t).padStart(5),l=n.mtime??new Date(0),u=D(l);return{stdout:`-rw-r--r-- 1 user user ${a} ${u} ${r}
|
|
13
|
+
`,stderr:"",exitCode:0}}return{stdout:`${r}
|
|
14
|
+
`,stderr:"",exitCode:0}}let i=await o.fs.readdir(s);if(f||(i=i.filter(t=>!t.startsWith("."))),g){let t=[];for(let a of i){let l=s==="/"?`/${a}`:`${s}/${a}`;try{let u=await o.fs.stat(l);t.push({name:a,size:u.size??0})}catch{t.push({name:a,size:0})}}t.sort((a,l)=>l.size-a.size),i=t.map(a=>a.name)}else i.sort();e&&(i=[".","..",...i]),p&&i.reverse();let c="";if((d||$)&&(c+=`${r}:
|
|
15
|
+
`),m){c+=`total ${i.length}
|
|
16
|
+
`;for(let t of i){if(t==="."||t===".."){c+=`drwxr-xr-x 1 user user 0 Jan 1 00:00 ${t}
|
|
17
|
+
`;continue}let a=s==="/"?`/${t}`:`${s}/${t}`;try{let l=await o.fs.stat(a),u=l.isDirectory?"drwxr-xr-x":"-rw-r--r--",w=l.isDirectory?"/":"",S=l.size??0,P=y?v(S).padStart(5):String(S).padStart(5),b=l.mtime??new Date(0),x=D(b);c+=`${u} 1 user user ${P} ${x} ${t}${w}
|
|
18
|
+
`}catch{c+=`-rw-r--r-- 1 user user 0 Jan 1 00:00 ${t}
|
|
19
|
+
`}}}else c+=i.join(`
|
|
20
|
+
`)+(i.length?`
|
|
21
|
+
`:"");if(d)for(let t of i){if(t==="."||t==="..")continue;let a=s==="/"?`/${t}`:`${s}/${t}`;try{if((await o.fs.stat(a)).isDirectory){c+=`
|
|
22
|
+
`;let u=r==="."?`./${t}`:`${r}/${t}`,w=await H(u,o,e,h,m,d,!1,p,y,g,!0);c+=w.stdout}}catch{}}return{stdout:c,stderr:"",exitCode:0}}catch{return{stdout:"",stderr:`ls: ${r}: No such file or directory
|
|
23
|
+
`,exitCode:2}}}export{j as lsCommand};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as m}from"./chunk-4HEWHW5W.js";import"./chunk-74CEPOFO.js";import"./chunk-2RUN43TJ.js";var o=m("md5sum","md5","compute MD5 message digest");export{o as md5sumCommand};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as m}from"./chunk-46TSKXFW.js";import"./chunk-74CEPOFO.js";import"./chunk-2RUN43TJ.js";var o=m("md5sum","md5","compute MD5 message digest");export{o as md5sumCommand};
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import{a}from"./chunk-ZVV5VXYZ.js";import{a as l}from"./chunk-44UOCSGV.js";import"./chunk-74CEPOFO.js";import"./chunk-2RUN43TJ.js";var g={recursive:{short:"p",long:"parents",type:"boolean"},verbose:{short:"v",long:"verbose",type:"boolean"}},y={name:"mkdir",async execute(u,o){let e=a("mkdir",u,g);if(!e.ok)return e.error;let m=e.result.flags.recursive,f=e.result.flags.verbose,n=e.result.positional;if(n.length===0)return{stdout:"",stderr:`mkdir: missing operand
|
|
2
|
+
`,exitCode:1};let c="",t="",d=0;for(let r of n)try{let i=o.fs.resolvePath(o.cwd,r);await o.fs.mkdir(i,{recursive:m}),f&&(c+=`mkdir: created directory '${r}'
|
|
3
|
+
`)}catch(i){let s=l(i);s.includes("ENOENT")||s.includes("no such file")?t+=`mkdir: cannot create directory '${r}': No such file or directory
|
|
4
|
+
`:s.includes("EEXIST")||s.includes("already exists")?t+=`mkdir: cannot create directory '${r}': File exists
|
|
5
|
+
`:t+=`mkdir: cannot create directory '${r}': ${s}
|
|
6
|
+
`,d=1}return{stdout:c,stderr:t,exitCode:d}}};export{y as mkdirCommand};
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import{a as y}from"./chunk-ZVV5VXYZ.js";import{a as $}from"./chunk-44UOCSGV.js";import{a as g,b as u}from"./chunk-74CEPOFO.js";import"./chunk-2RUN43TJ.js";var C={name:"mv",summary:"move (rename) files",usage:"mv [OPTION]... SOURCE... DEST",options:["-f, --force do not prompt before overwriting","-n, --no-clobber do not overwrite an existing file","-v, --verbose explain what is being done"," --help display this help and exit"]},P={force:{short:"f",long:"force",type:"boolean"},noClobber:{short:"n",long:"no-clobber",type:"boolean"},verbose:{short:"v",long:"verbose",type:"boolean"}},O={name:"mv",async execute(m,t){if(u(m))return g(C);let s=y("mv",m,P);if(!s.ok)return s.error;let p=s.result.flags.force,d=s.result.flags.noClobber,w=s.result.flags.verbose,l=s.result.positional;if(d&&(p=!1),l.length<2)return{stdout:"",stderr:`mv: missing destination file operand
|
|
2
|
+
`,exitCode:1};let r=l.pop()??"",v=l,n=t.fs.resolvePath(t.cwd,r),h="",c="",b=0,a=!1;try{a=(await t.fs.stat(n)).isDirectory}catch{}if(v.length>1&&!a)return{stdout:"",stderr:`mv: target '${r}' is not a directory
|
|
3
|
+
`,exitCode:1};for(let e of v)try{let f=t.fs.resolvePath(t.cwd,e),o=n;if(a){let i=e.split("/").pop()||e;o=n==="/"?`/${i}`:`${n}/${i}`}if(d)try{await t.fs.stat(o);continue}catch{}if(await t.fs.mv(f,o),w){let i=a?`${r}/${e.split("/").pop()||e}`:r;h+=`renamed '${e}' -> '${i}'
|
|
4
|
+
`}}catch(f){let o=$(f);o.includes("ENOENT")||o.includes("no such file")?c+=`mv: cannot stat '${e}': No such file or directory
|
|
5
|
+
`:c+=`mv: cannot move '${e}': ${o}
|
|
6
|
+
`,b=1}return{stdout:h,stderr:c,exitCode:b}}};export{O as mvCommand};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import{a as g}from"./chunk-ZVV5VXYZ.js";import{a as c,b as m}from"./chunk-74CEPOFO.js";import"./chunk-2RUN43TJ.js";var L={name:"paste",summary:"merge lines of files",usage:"paste [OPTION]... [FILE]...",description:["Write lines consisting of the sequentially corresponding lines from","each FILE, separated by TABs, to standard output.","","With no FILE, or when FILE is -, read standard input."],options:["-d, --delimiters=LIST reuse characters from LIST instead of TABs","-s, --serial paste one file at a time instead of in parallel"," --help display this help and exit"],examples:["paste file1 file2 Merge file1 and file2 side by side","paste -d, file1 file2 Use comma as delimiter","paste -s file1 Paste all lines of file1 on one line","paste - - < file Paste pairs of lines from file"]},x={delimiter:{short:"d",long:"delimiters",type:"string",default:" "},serial:{short:"s",long:"serial",type:"boolean"}},P={name:"paste",async execute(s,i){if(m(s))return c(L);let n=g("paste",s,x);if(!n.ok)return n.error;let l=n.result.flags.delimiter,d=n.result.flags.serial,p=n.result.positional;if(p.length===0)return{stdout:"",stderr:`usage: paste [-s] [-d delimiters] file ...
|
|
2
|
+
`,exitCode:1};let a=i.stdin?i.stdin.split(`
|
|
3
|
+
`):[""];a.length>0&&a[a.length-1]===""&&a.pop();let I=p.filter(e=>e==="-").length,f=[],u=0;for(let e of p)if(e==="-"){let t=[];for(let o=u;o<a.length;o+=I)t.push(a[o]);f.push(t),u++}else{let t=i.fs.resolvePath(i.cwd,e);try{let r=(await i.fs.readFile(t)).split(`
|
|
4
|
+
`);r.length>0&&r[r.length-1]===""&&r.pop(),f.push(r)}catch{return{stdout:"",stderr:`paste: ${e}: No such file or directory
|
|
5
|
+
`,exitCode:1}}}let h="";if(d)for(let e of f)e&&(h+=`${y(e,l)}
|
|
6
|
+
`);else{let e=Math.max(...f.map(t=>t?.length??0));for(let t=0;t<e;t++){let o=[];for(let r of f)o.push(r?.[t]??"");h+=`${y(o,l)}
|
|
7
|
+
`}}return{stdout:h,stderr:"",exitCode:0}}};function y(s,i){if(s.length===0)return"";if(s.length===1)return s[0];let n=s[0];for(let l=1;l<s.length;l++){let d=(l-1)%i.length;n+=i[d]+s[l]}return n}export{P as pasteCommand};
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import{a as C,c as I}from"./chunk-NWEGHOXL.js";import{a as w}from"./chunk-44UOCSGV.js";import{a as S,b as $}from"./chunk-74CEPOFO.js";import"./chunk-2RUN43TJ.js";import{sprintf as p}from"sprintf-js";var F={name:"printf",summary:"format and print data",usage:"printf [-v var] FORMAT [ARGUMENT...]",options:[" -v var assign the output to shell variable VAR rather than display it"," --help display this help and exit"],notes:["FORMAT controls the output like in C printf.","Escape sequences: \\n (newline), \\t (tab), \\\\ (backslash)","Format specifiers: %s (string), %d (integer), %f (float), %x (hex), %o (octal), %% (literal %)","Width and precision: %10s (width 10), %.2f (2 decimal places), %010d (zero-padded)","Flags: %- (left-justify), %+ (show sign), %0 (zero-pad)"]},Q={name:"printf",async execute(e,l){if($(e))return S(F);if(e.length===0)return{stdout:"",stderr:`printf: usage: printf format [arguments]
|
|
2
|
+
`,exitCode:2};let t=null,s=0;for(;s<e.length;){let a=e[s];if(a==="--"){s++;break}if(a==="-v"){if(s+1>=e.length)return{stdout:"",stderr:`printf: -v: option requires an argument
|
|
3
|
+
`,exitCode:1};if(t=e[s+1],!/^[a-zA-Z_][a-zA-Z0-9_]*(\[[^\]]+\])?$/.test(t))return{stdout:"",stderr:`printf: \`${t}': not a valid identifier
|
|
4
|
+
`,exitCode:2};s+=2}else{if(a.startsWith("-")&&a!=="-")break;break}}if(s>=e.length)return{stdout:"",stderr:`printf: usage: printf format [arguments]
|
|
5
|
+
`,exitCode:1};let r=e[s],n=e.slice(s+1);try{let a=I(r),i="",c=0,o=!1,f="";do{let{result:g,argsConsumed:x,error:d,errMsg:h,stopped:E}=W(a,n,c);if(i+=g,c+=x,d&&(o=!0,h&&(f=h)),E)break}while(c<n.length&&c>0);return c===0&&n.length>0,t?(l.env[t]=i,{stdout:"",stderr:f,exitCode:o?1:0}):{stdout:i,stderr:f,exitCode:o?1:0}}catch(a){return{stdout:"",stderr:`printf: ${w(a)}
|
|
6
|
+
`,exitCode:1}}}};function W(e,l,t){let s="",r=0,n=0,a=!1,i="";for(;r<e.length;)if(e[r]==="%"&&r+1<e.length){let c=r;if(r++,e[r]==="%"){s+="%",r++;continue}for(;r<e.length&&"+-0 #'".includes(e[r]);)r++;let o=!1;if(e[r]==="*")o=!0,r++;else for(;r<e.length&&/\d/.test(e[r]);)r++;let f=!1;if(e[r]===".")if(r++,e[r]==="*")f=!0,r++;else for(;r<e.length&&/\d/.test(e[r]);)r++;r<e.length&&"hlL".includes(e[r])&&r++;let g=e[r]||"";r++;let d=e.slice(c,r);if(o){let b=parseInt(l[t+n]||"0",10);n++,d=d.replace("*",String(b))}if(f){let b=parseInt(l[t+n]||"0",10);n++,d=d.replace(".*",`.${b}`)}let h=l[t+n]||"";n++;let{value:E,parseError:M,parseErrMsg:v,stopped:k}=y(d,g,h);if(s+=E,M&&(a=!0,v&&(i=v)),k)return{result:s,argsConsumed:n,error:a,errMsg:i,stopped:!0}}else s+=e[r],r++;return{result:s,argsConsumed:n,error:a,errMsg:i,stopped:!1}}function y(e,l,t){let s=!1,r="";switch(l){case"d":case"i":{let n=m(t);return s=u,s&&(r=`printf: ${t}: invalid number
|
|
7
|
+
`),{value:A(e,n),parseError:s,parseErrMsg:r}}case"o":{let n=m(t);return s=u,s&&(r=`printf: ${t}: invalid number
|
|
8
|
+
`),{value:N(e,n),parseError:s,parseErrMsg:r}}case"u":{let n=m(t);s=u,s&&(r=`printf: ${t}: invalid number
|
|
9
|
+
`);let a=n<0?n>>>0:n;return{value:A(e.replace("u","d"),a),parseError:s,parseErrMsg:r}}case"x":case"X":{let n=m(t);return s=u,s&&(r=`printf: ${t}: invalid number
|
|
10
|
+
`),{value:j(e,n),parseError:s,parseErrMsg:r}}case"e":case"E":case"f":case"F":case"g":case"G":{let n=parseFloat(t)||0;return{value:U(e,l,n),parseError:!1,parseErrMsg:""}}case"c":return{value:t.charAt(0)||"",parseError:!1,parseErrMsg:""};case"s":return{value:z(e,t),parseError:!1,parseErrMsg:""};case"q":return{value:R(e,t),parseError:!1,parseErrMsg:""};case"b":{let n=X(t);return{value:n.value,parseError:!1,parseErrMsg:"",stopped:n.stopped}}default:try{return{value:p(e,t),parseError:!1,parseErrMsg:""}}catch{return{value:"",parseError:!0,parseErrMsg:`printf: [sprintf] unexpected placeholder
|
|
11
|
+
`}}}}var u=!1;function m(e){u=!1;let l=e.trimStart(),t=l!==l.trimEnd();if(e=l.trimEnd(),e.startsWith("'")&&e.length>=2||e.startsWith('"')&&e.length>=2)return e.charCodeAt(1);if(e.startsWith("\\'")&&e.length>=3||e.startsWith('\\"')&&e.length>=3)return e.charCodeAt(2);if(e.startsWith("+")&&(e=e.slice(1)),e.startsWith("0x")||e.startsWith("0X")){let s=parseInt(e,16);return Number.isNaN(s)?(u=!0,0):(t&&(u=!0),s)}if(e.startsWith("0")&&e.length>1&&/^-?0[0-7]+$/.test(e))return t&&(u=!0),parseInt(e,8)||0;if(/^\d+#/.test(e)){u=!0;let s=e.match(/^(\d+)#/);return s?parseInt(s[1],10):0}if(e!==""&&!/^-?\d+$/.test(e)){u=!0;let s=parseInt(e,10);return Number.isNaN(s)?0:s}return t&&(u=!0),parseInt(e,10)||0}function A(e,l){let t=e.match(/^%([- +#0']*)(\d*)(\.(\d*))?[diu]$/);if(!t)return p(e.replace(/\.\d*/,""),l);let s=t[1]||"",r=t[2]?parseInt(t[2],10):0,n=t[3]!==void 0?t[4]?parseInt(t[4],10):0:-1,a=l<0,i=Math.abs(l),c=String(i);n>=0&&(c=c.padStart(n,"0"));let o="";a?o="-":s.includes("+")?o="+":s.includes(" ")&&(o=" ");let f=o+c;return r>f.length&&(s.includes("-")?f=f.padEnd(r," "):s.includes("0")&&n<0?f=o+c.padStart(r-o.length,"0"):f=f.padStart(r," ")),f}function N(e,l){let t=e.match(/^%([- +#0']*)(\d*)(\.(\d*))?o$/);if(!t)return p(e,l);let s=t[1]||"",r=t[2]?parseInt(t[2],10):0,n=t[3]!==void 0?t[4]?parseInt(t[4],10):0:-1,a=Math.abs(l).toString(8);n>=0&&(a=a.padStart(n,"0")),s.includes("#")&&!a.startsWith("0")&&(a=`0${a}`);let i=a;return r>i.length&&(s.includes("-")?i=i.padEnd(r," "):s.includes("0")&&n<0?i=i.padStart(r,"0"):i=i.padStart(r," ")),i}function j(e,l){let t=e.includes("X"),s=e.match(/^%([- +#0']*)(\d*)(\.(\d*))?[xX]$/);if(!s)return p(e,l);let r=s[1]||"",n=s[2]?parseInt(s[2],10):0,a=s[3]!==void 0?s[4]?parseInt(s[4],10):0:-1,i=Math.abs(l).toString(16);t&&(i=i.toUpperCase()),a>=0&&(i=i.padStart(a,"0"));let c="";r.includes("#")&&l!==0&&(c=t?"0X":"0x");let o=c+i;return n>o.length&&(r.includes("-")?o=o.padEnd(n," "):r.includes("0")&&a<0?o=c+i.padStart(n-c.length,"0"):o=o.padStart(n," ")),o}function q(e){if(e==="")return"''";if(/^[a-zA-Z0-9_./-]+$/.test(e))return e;if(/[\x00-\x1f\x7f]/.test(e)){let s="$'";for(let r of e){let n=r.charCodeAt(0);r==="'"?s+="\\'":r==="\\"?s+="\\\\":r===`
|
|
12
|
+
`?s+="\\n":r===" "?s+="\\t":r==="\r"?s+="\\r":r==="\x07"?s+="\\a":r==="\b"?s+="\\b":r==="\f"?s+="\\f":r==="\v"?s+="\\v":r==="\x1B"?s+="\\E":n<32||n>126?s+=`\\x${n.toString(16).padStart(2,"0")}`:r==='"'?s+='\\"':s+=r}return s+="'",s}let t="";for(let s of e)" |&;<>()$`\\\"'*?[#~=%!{}".includes(s)?t+=`\\${s}`:t+=s;return t}function z(e,l){let t=e.match(/^%(-?)(\d*)(\.(\d*))?s$/);if(!t)return p(e.replace(/0+(?=\d)/,""),l);let s=t[1]==="-",r=t[2]?parseInt(t[2],10):0,n=t[3]!==void 0?t[4]?parseInt(t[4],10):0:-1,a=s?-r:r;return C(l,a,n)}function R(e,l){let t=q(l),s=e.match(/^%(-?)(\d*)q$/);if(!s)return t;let r=s[1]==="-",n=s[2]?parseInt(s[2],10):0,a=t;return n>a.length&&(r?a=a.padEnd(n," "):a=a.padStart(n," ")),a}function U(e,l,t){let s=e.match(/^%([- +#0']*)(\d*)(\.(\d*))?[eEfFgG]$/);if(!s)return p(e,t);let r=s[1]||"",n=s[2]?parseInt(s[2],10):0,a=s[3]!==void 0?s[4]?parseInt(s[4],10):0:6,i,c=l.toLowerCase();if(c==="e"?(i=t.toExponential(a),i=i.replace(/e([+-])(\d)$/,"e$10$2"),l==="E"&&(i=i.toUpperCase())):c==="f"?(i=t.toFixed(a),r.includes("#")&&a===0&&!i.includes(".")&&(i+=".")):c==="g"?(i=t.toPrecision(a||1),r.includes("#")||(i=i.replace(/\.?0+$/,""),i=i.replace(/\.?0+e/,"e")),i=i.replace(/e([+-])(\d)$/,"e$10$2"),l==="G"&&(i=i.toUpperCase())):i=t.toString(),t>=0&&(r.includes("+")?i=`+${i}`:r.includes(" ")&&(i=` ${i}`)),n>i.length)if(r.includes("-"))i=i.padEnd(n," ");else if(r.includes("0")){let o=i.match(/^[+ -]/)?.[0]||"",f=o?i.slice(1):i;i=o+f.padStart(n-o.length,"0")}else i=i.padStart(n," ");return i}function X(e){let l="",t=0;for(;t<e.length;)if(e[t]==="\\"&&t+1<e.length)switch(e[t+1]){case"n":l+=`
|
|
13
|
+
`,t+=2;break;case"t":l+=" ",t+=2;break;case"r":l+="\r",t+=2;break;case"\\":l+="\\",t+=2;break;case"a":l+="\x07",t+=2;break;case"b":l+="\b",t+=2;break;case"f":l+="\f",t+=2;break;case"v":l+="\v",t+=2;break;case"c":return{value:l,stopped:!0};case"x":{let r="",n=t+2;for(;n<e.length&&n<t+4&&/[0-9a-fA-F]/.test(e[n]);)r+=e[n],n++;r?(l+=String.fromCharCode(parseInt(r,16)),t=n):(l+="\\x",t+=2);break}case"u":{let r="",n=t+2;for(;n<e.length&&n<t+6&&/[0-9a-fA-F]/.test(e[n]);)r+=e[n],n++;r?(l+=String.fromCodePoint(parseInt(r,16)),t=n):(l+="\\u",t+=2);break}case"0":{let r="",n=t+2;for(;n<e.length&&n<t+5&&/[0-7]/.test(e[n]);)r+=e[n],n++;r?l+=String.fromCharCode(parseInt(r,8)):l+="\0",t=n;break}case"1":case"2":case"3":case"4":case"5":case"6":case"7":{let r="",n=t+1;for(;n<e.length&&n<t+4&&/[0-7]/.test(e[n]);)r+=e[n],n++;l+=String.fromCharCode(parseInt(r,8)),t=n;break}default:l+=e[t],t++}else l+=e[t],t++;return{value:l,stopped:!1}}export{Q as printfCommand};
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import{a as C,c as I}from"./chunk-NWEGHOXL.js";import{a as w}from"./chunk-44UOCSGV.js";import{a as S,b as $}from"./chunk-74CEPOFO.js";import{sprintf as p}from"sprintf-js";var F={name:"printf",summary:"format and print data",usage:"printf [-v var] FORMAT [ARGUMENT...]",options:[" -v var assign the output to shell variable VAR rather than display it"," --help display this help and exit"],notes:["FORMAT controls the output like in C printf.","Escape sequences: \\n (newline), \\t (tab), \\\\ (backslash)","Format specifiers: %s (string), %d (integer), %f (float), %x (hex), %o (octal), %% (literal %)","Width and precision: %10s (width 10), %.2f (2 decimal places), %010d (zero-padded)","Flags: %- (left-justify), %+ (show sign), %0 (zero-pad)"]},Q={name:"printf",async execute(e,l){if($(e))return S(F);if(e.length===0)return{stdout:"",stderr:`printf: usage: printf format [arguments]
|
|
2
|
+
`,exitCode:2};let t=null,s=0;for(;s<e.length;){let a=e[s];if(a==="--"){s++;break}if(a==="-v"){if(s+1>=e.length)return{stdout:"",stderr:`printf: -v: option requires an argument
|
|
3
|
+
`,exitCode:1};if(t=e[s+1],!/^[a-zA-Z_][a-zA-Z0-9_]*(\[[^\]]+\])?$/.test(t))return{stdout:"",stderr:`printf: \`${t}': not a valid identifier
|
|
4
|
+
`,exitCode:2};s+=2}else{if(a.startsWith("-")&&a!=="-")break;break}}if(s>=e.length)return{stdout:"",stderr:`printf: usage: printf format [arguments]
|
|
5
|
+
`,exitCode:1};let r=e[s],n=e.slice(s+1);try{let a=I(r),i="",c=0,o=!1,f="";do{let{result:g,argsConsumed:x,error:d,errMsg:h,stopped:E}=W(a,n,c);if(i+=g,c+=x,d&&(o=!0,h&&(f=h)),E)break}while(c<n.length&&c>0);return c===0&&n.length>0,t?(l.env[t]=i,{stdout:"",stderr:f,exitCode:o?1:0}):{stdout:i,stderr:f,exitCode:o?1:0}}catch(a){return{stdout:"",stderr:`printf: ${w(a)}
|
|
6
|
+
`,exitCode:1}}}};function W(e,l,t){let s="",r=0,n=0,a=!1,i="";for(;r<e.length;)if(e[r]==="%"&&r+1<e.length){let c=r;if(r++,e[r]==="%"){s+="%",r++;continue}for(;r<e.length&&"+-0 #'".includes(e[r]);)r++;let o=!1;if(e[r]==="*")o=!0,r++;else for(;r<e.length&&/\d/.test(e[r]);)r++;let f=!1;if(e[r]===".")if(r++,e[r]==="*")f=!0,r++;else for(;r<e.length&&/\d/.test(e[r]);)r++;r<e.length&&"hlL".includes(e[r])&&r++;let g=e[r]||"";r++;let d=e.slice(c,r);if(o){let b=parseInt(l[t+n]||"0",10);n++,d=d.replace("*",String(b))}if(f){let b=parseInt(l[t+n]||"0",10);n++,d=d.replace(".*",`.${b}`)}let h=l[t+n]||"";n++;let{value:E,parseError:M,parseErrMsg:v,stopped:k}=y(d,g,h);if(s+=E,M&&(a=!0,v&&(i=v)),k)return{result:s,argsConsumed:n,error:a,errMsg:i,stopped:!0}}else s+=e[r],r++;return{result:s,argsConsumed:n,error:a,errMsg:i,stopped:!1}}function y(e,l,t){let s=!1,r="";switch(l){case"d":case"i":{let n=m(t);return s=u,s&&(r=`printf: ${t}: invalid number
|
|
7
|
+
`),{value:A(e,n),parseError:s,parseErrMsg:r}}case"o":{let n=m(t);return s=u,s&&(r=`printf: ${t}: invalid number
|
|
8
|
+
`),{value:N(e,n),parseError:s,parseErrMsg:r}}case"u":{let n=m(t);s=u,s&&(r=`printf: ${t}: invalid number
|
|
9
|
+
`);let a=n<0?n>>>0:n;return{value:A(e.replace("u","d"),a),parseError:s,parseErrMsg:r}}case"x":case"X":{let n=m(t);return s=u,s&&(r=`printf: ${t}: invalid number
|
|
10
|
+
`),{value:j(e,n),parseError:s,parseErrMsg:r}}case"e":case"E":case"f":case"F":case"g":case"G":{let n=parseFloat(t)||0;return{value:U(e,l,n),parseError:!1,parseErrMsg:""}}case"c":return{value:t.charAt(0)||"",parseError:!1,parseErrMsg:""};case"s":return{value:z(e,t),parseError:!1,parseErrMsg:""};case"q":return{value:R(e,t),parseError:!1,parseErrMsg:""};case"b":{let n=X(t);return{value:n.value,parseError:!1,parseErrMsg:"",stopped:n.stopped}}default:try{return{value:p(e,t),parseError:!1,parseErrMsg:""}}catch{return{value:"",parseError:!0,parseErrMsg:`printf: [sprintf] unexpected placeholder
|
|
11
|
+
`}}}}var u=!1;function m(e){u=!1;let l=e.trimStart(),t=l!==l.trimEnd();if(e=l.trimEnd(),e.startsWith("'")&&e.length>=2||e.startsWith('"')&&e.length>=2)return e.charCodeAt(1);if(e.startsWith("\\'")&&e.length>=3||e.startsWith('\\"')&&e.length>=3)return e.charCodeAt(2);if(e.startsWith("+")&&(e=e.slice(1)),e.startsWith("0x")||e.startsWith("0X")){let s=parseInt(e,16);return Number.isNaN(s)?(u=!0,0):(t&&(u=!0),s)}if(e.startsWith("0")&&e.length>1&&/^-?0[0-7]+$/.test(e))return t&&(u=!0),parseInt(e,8)||0;if(/^\d+#/.test(e)){u=!0;let s=e.match(/^(\d+)#/);return s?parseInt(s[1],10):0}if(e!==""&&!/^-?\d+$/.test(e)){u=!0;let s=parseInt(e,10);return Number.isNaN(s)?0:s}return t&&(u=!0),parseInt(e,10)||0}function A(e,l){let t=e.match(/^%([- +#0']*)(\d*)(\.(\d*))?[diu]$/);if(!t)return p(e.replace(/\.\d*/,""),l);let s=t[1]||"",r=t[2]?parseInt(t[2],10):0,n=t[3]!==void 0?t[4]?parseInt(t[4],10):0:-1,a=l<0,i=Math.abs(l),c=String(i);n>=0&&(c=c.padStart(n,"0"));let o="";a?o="-":s.includes("+")?o="+":s.includes(" ")&&(o=" ");let f=o+c;return r>f.length&&(s.includes("-")?f=f.padEnd(r," "):s.includes("0")&&n<0?f=o+c.padStart(r-o.length,"0"):f=f.padStart(r," ")),f}function N(e,l){let t=e.match(/^%([- +#0']*)(\d*)(\.(\d*))?o$/);if(!t)return p(e,l);let s=t[1]||"",r=t[2]?parseInt(t[2],10):0,n=t[3]!==void 0?t[4]?parseInt(t[4],10):0:-1,a=Math.abs(l).toString(8);n>=0&&(a=a.padStart(n,"0")),s.includes("#")&&!a.startsWith("0")&&(a=`0${a}`);let i=a;return r>i.length&&(s.includes("-")?i=i.padEnd(r," "):s.includes("0")&&n<0?i=i.padStart(r,"0"):i=i.padStart(r," ")),i}function j(e,l){let t=e.includes("X"),s=e.match(/^%([- +#0']*)(\d*)(\.(\d*))?[xX]$/);if(!s)return p(e,l);let r=s[1]||"",n=s[2]?parseInt(s[2],10):0,a=s[3]!==void 0?s[4]?parseInt(s[4],10):0:-1,i=Math.abs(l).toString(16);t&&(i=i.toUpperCase()),a>=0&&(i=i.padStart(a,"0"));let c="";r.includes("#")&&l!==0&&(c=t?"0X":"0x");let o=c+i;return n>o.length&&(r.includes("-")?o=o.padEnd(n," "):r.includes("0")&&a<0?o=c+i.padStart(n-c.length,"0"):o=o.padStart(n," ")),o}function q(e){if(e==="")return"''";if(/^[a-zA-Z0-9_./-]+$/.test(e))return e;if(/[\x00-\x1f\x7f]/.test(e)){let s="$'";for(let r of e){let n=r.charCodeAt(0);r==="'"?s+="\\'":r==="\\"?s+="\\\\":r===`
|
|
12
|
+
`?s+="\\n":r===" "?s+="\\t":r==="\r"?s+="\\r":r==="\x07"?s+="\\a":r==="\b"?s+="\\b":r==="\f"?s+="\\f":r==="\v"?s+="\\v":r==="\x1B"?s+="\\E":n<32||n>126?s+=`\\x${n.toString(16).padStart(2,"0")}`:r==='"'?s+='\\"':s+=r}return s+="'",s}let t="";for(let s of e)" |&;<>()$`\\\"'*?[#~=%!{}".includes(s)?t+=`\\${s}`:t+=s;return t}function z(e,l){let t=e.match(/^%(-?)(\d*)(\.(\d*))?s$/);if(!t)return p(e.replace(/0+(?=\d)/,""),l);let s=t[1]==="-",r=t[2]?parseInt(t[2],10):0,n=t[3]!==void 0?t[4]?parseInt(t[4],10):0:-1,a=s?-r:r;return C(l,a,n)}function R(e,l){let t=q(l),s=e.match(/^%(-?)(\d*)q$/);if(!s)return t;let r=s[1]==="-",n=s[2]?parseInt(s[2],10):0,a=t;return n>a.length&&(r?a=a.padEnd(n," "):a=a.padStart(n," ")),a}function U(e,l,t){let s=e.match(/^%([- +#0']*)(\d*)(\.(\d*))?[eEfFgG]$/);if(!s)return p(e,t);let r=s[1]||"",n=s[2]?parseInt(s[2],10):0,a=s[3]!==void 0?s[4]?parseInt(s[4],10):0:6,i,c=l.toLowerCase();if(c==="e"?(i=t.toExponential(a),i=i.replace(/e([+-])(\d)$/,"e$10$2"),l==="E"&&(i=i.toUpperCase())):c==="f"?(i=t.toFixed(a),r.includes("#")&&a===0&&!i.includes(".")&&(i+=".")):c==="g"?(i=t.toPrecision(a||1),r.includes("#")||(i=i.replace(/\.?0+$/,""),i=i.replace(/\.?0+e/,"e")),i=i.replace(/e([+-])(\d)$/,"e$10$2"),l==="G"&&(i=i.toUpperCase())):i=t.toString(),t>=0&&(r.includes("+")?i=`+${i}`:r.includes(" ")&&(i=` ${i}`)),n>i.length)if(r.includes("-"))i=i.padEnd(n," ");else if(r.includes("0")){let o=i.match(/^[+ -]/)?.[0]||"",f=o?i.slice(1):i;i=o+f.padStart(n-o.length,"0")}else i=i.padStart(n," ");return i}function X(e){let l="",t=0;for(;t<e.length;)if(e[t]==="\\"&&t+1<e.length)switch(e[t+1]){case"n":l+=`
|
|
13
|
+
`,t+=2;break;case"t":l+=" ",t+=2;break;case"r":l+="\r",t+=2;break;case"\\":l+="\\",t+=2;break;case"a":l+="\x07",t+=2;break;case"b":l+="\b",t+=2;break;case"f":l+="\f",t+=2;break;case"v":l+="\v",t+=2;break;case"c":return{value:l,stopped:!0};case"x":{let r="",n=t+2;for(;n<e.length&&n<t+4&&/[0-9a-fA-F]/.test(e[n]);)r+=e[n],n++;r?(l+=String.fromCharCode(parseInt(r,16)),t=n):(l+="\\x",t+=2);break}case"u":{let r="",n=t+2;for(;n<e.length&&n<t+6&&/[0-9a-fA-F]/.test(e[n]);)r+=e[n],n++;r?(l+=String.fromCodePoint(parseInt(r,16)),t=n):(l+="\\u",t+=2);break}case"0":{let r="",n=t+2;for(;n<e.length&&n<t+5&&/[0-7]/.test(e[n]);)r+=e[n],n++;r?l+=String.fromCharCode(parseInt(r,8)):l+="\0",t=n;break}case"1":case"2":case"3":case"4":case"5":case"6":case"7":{let r="",n=t+1;for(;n<e.length&&n<t+4&&/[0-7]/.test(e[n]);)r+=e[n],n++;l+=String.fromCharCode(parseInt(r,8)),t=n;break}default:l+=e[t],t++}else l+=e[t],t++;return{value:l,stopped:!1}}export{Q as printfCommand};
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import{a as h,b as u}from"./chunk-74CEPOFO.js";import"./chunk-2RUN43TJ.js";var m={name:"readlink",summary:"print resolved symbolic links or canonical file names",usage:"readlink [OPTIONS] FILE...",options:["-f canonicalize by following every symlink in every component of the given name recursively"," --help display this help and exit"]},y={name:"readlink",async execute(i,r){if(u(i))return h(m);let s=!1,t=0;for(;t<i.length&&i[t].startsWith("-");){let n=i[t];if(n==="-f"||n==="--canonicalize")s=!0,t++;else if(n==="--"){t++;break}else return{stdout:"",stderr:`readlink: invalid option -- '${n.slice(1)}'
|
|
2
|
+
`,exitCode:1}}let d=i.slice(t);if(d.length===0)return{stdout:"",stderr:`readlink: missing operand
|
|
3
|
+
`,exitCode:1};let l="",c=!1;for(let n of d){let a=r.fs.resolvePath(r.cwd,n);try{if(s){let e=a,f=new Set;for(;!f.has(e);){f.add(e);try{let o=await r.fs.readlink(e);if(o.startsWith("/"))e=o;else{let k=e.substring(0,e.lastIndexOf("/"))||"/";e=r.fs.resolvePath(k,o)}}catch{break}}l+=`${e}
|
|
4
|
+
`}else{let e=await r.fs.readlink(a);l+=`${e}
|
|
5
|
+
`}}catch{s?l+=`${a}
|
|
6
|
+
`:c=!0}}return{stdout:l,stderr:"",exitCode:c?1:0}}};export{y as readlinkCommand};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import{a as u}from"./chunk-ZVV5VXYZ.js";import{a as m}from"./chunk-44UOCSGV.js";import"./chunk-74CEPOFO.js";import"./chunk-2RUN43TJ.js";var v={recursive:{short:"r",long:"recursive",type:"boolean"},recursiveUpper:{short:"R",type:"boolean"},force:{short:"f",long:"force",type:"boolean"},verbose:{short:"v",long:"verbose",type:"boolean"}},y={name:"rm",async execute(d,s){let e=u("rm",d,v);if(!e.ok)return e.error;let a=e.result.flags.recursive||e.result.flags.recursiveUpper,c=e.result.flags.force,p=e.result.flags.verbose,l=e.result.positional;if(l.length===0)return c?{stdout:"",stderr:"",exitCode:0}:{stdout:"",stderr:`rm: missing operand
|
|
2
|
+
`,exitCode:1};let f="",t="",i=0;for(let r of l)try{let n=s.fs.resolvePath(s.cwd,r);if((await s.fs.stat(n)).isDirectory&&!a){t+=`rm: cannot remove '${r}': Is a directory
|
|
3
|
+
`,i=1;continue}await s.fs.rm(n,{recursive:a,force:c}),p&&(f+=`removed '${r}'
|
|
4
|
+
`)}catch(n){if(!c){let o=m(n);o.includes("ENOENT")||o.includes("no such file")?t+=`rm: cannot remove '${r}': No such file or directory
|
|
5
|
+
`:o.includes("ENOTEMPTY")||o.includes("not empty")?t+=`rm: cannot remove '${r}': Directory not empty
|
|
6
|
+
`:t+=`rm: cannot remove '${r}': ${o}
|
|
7
|
+
`,i=1}}return{stdout:f,stderr:t,exitCode:i}}};export{y as rmCommand};
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
import{i as g}from"./chunk-CG2HXOFG.js";import{a as D,b as W,c as y}from"./chunk-74CEPOFO.js";import"./chunk-2RUN43TJ.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===`
|
|
2
|
+
`?e+=`$
|
|
3
|
+
`: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+=`
|
|
4
|
+
`,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(`
|
|
5
|
+
`);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(`
|
|
6
|
+
`);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+=`
|
|
7
|
+
${e.patternSpace}`:e.holdSpace=e.patternSpace;break;case"get":e.patternSpace=e.holdSpace;break;case"getAppend":e.patternSpace+=`
|
|
8
|
+
${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}
|
|
9
|
+
`});break;case"writeFirstLine":{let s=e.patternSpace.indexOf(`
|
|
10
|
+
`),l=s!==-1?e.patternSpace.slice(0,s):e.patternSpace;e.pendingFileWrites.push({filename:i.filename,content:`${l}
|
|
11
|
+
`});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+=`
|
|
12
|
+
${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===`
|
|
13
|
+
`?(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()!==`
|
|
14
|
+
`;)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===`
|
|
15
|
+
`?(this.advance(),{type:c.NEWLINE,value:`
|
|
16
|
+
`,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()===`
|
|
17
|
+
`)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===`
|
|
18
|
+
`||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===`
|
|
19
|
+
`)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()!==`
|
|
20
|
+
`&&(r+=this.advance());else{if(this.peek()===`
|
|
21
|
+
`)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()!==`
|
|
22
|
+
`&&(s+=this.advance());else{if(this.peek()===`
|
|
23
|
+
`)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===`
|
|
24
|
+
`)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+=`
|
|
25
|
+
`:l==="t"?r+=" ":r+=l}else{if(this.peek()===`
|
|
26
|
+
`)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+=`
|
|
27
|
+
`:l==="t"?s+=" ":s+=l}else{if(this.peek()===`
|
|
28
|
+
`)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()!==`
|
|
29
|
+
`;)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===`
|
|
30
|
+
`||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===`
|
|
31
|
+
`||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===`
|
|
32
|
+
`||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:
|
|
33
|
+
s/regexp/replacement/[flags] substitute
|
|
34
|
+
d delete pattern space
|
|
35
|
+
p print pattern space
|
|
36
|
+
a\\ text append text after line
|
|
37
|
+
i\\ text insert text before line
|
|
38
|
+
c\\ text change (replace) line with text
|
|
39
|
+
h copy pattern space to hold space
|
|
40
|
+
H append pattern space to hold space
|
|
41
|
+
g copy hold space to pattern space
|
|
42
|
+
G append hold space to pattern space
|
|
43
|
+
x exchange pattern and hold spaces
|
|
44
|
+
n read next line into pattern space
|
|
45
|
+
N append next line to pattern space
|
|
46
|
+
y/source/dest/ transliterate characters
|
|
47
|
+
= print line number
|
|
48
|
+
l list pattern space (escape special chars)
|
|
49
|
+
b [label] branch to label
|
|
50
|
+
t [label] branch on substitution
|
|
51
|
+
T [label] branch if no substitution
|
|
52
|
+
:label define label
|
|
53
|
+
q quit
|
|
54
|
+
Q quit without printing
|
|
55
|
+
|
|
56
|
+
Addresses:
|
|
57
|
+
N line number
|
|
58
|
+
$ last line
|
|
59
|
+
/regexp/ lines matching regexp
|
|
60
|
+
N,M range from line N to M
|
|
61
|
+
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(`
|
|
62
|
+
`);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(`
|
|
63
|
+
`)),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}
|
|
64
|
+
`;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}
|
|
65
|
+
`;!d.deleted&&!d.quitSilent&&(t?d.printed&&(o+=`${d.patternSpace}
|
|
66
|
+
`):o+=`${d.patternSpace}
|
|
67
|
+
`);for(let E of T)o+=`${E}
|
|
68
|
+
`;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(`
|
|
69
|
+
`)){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
|
|
70
|
+
`,exitCode:1}}}if(t.length===0)return{stdout:"",stderr:`sed: no script specified
|
|
71
|
+
`,exitCode:1};let{commands:p,error:f}=q(t,l);if(f)return{stdout:"",stderr:`sed: ${f}
|
|
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;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}
|
|
74
|
+
`,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}
|
|
75
|
+
`,exitCode:g.EXIT_CODE}:{stdout:"",stderr:`sed: ${a}: No such file or directory
|
|
76
|
+
`,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}
|
|
77
|
+
`,exitCode:g.EXIT_CODE}:{stdout:"",stderr:`sed: ${a}: No such file or directory
|
|
78
|
+
`,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}
|
|
79
|
+
`,exitCode:g.EXIT_CODE};throw a}}};export{oe as sedCommand};
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import"./chunk-2RUN43TJ.js";var F={name:"seq",async execute(r){let d=`
|
|
2
|
+
`,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
|
|
3
|
+
`,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)))}'
|
|
4
|
+
`,exitCode:1};if(o===0)return{stdout:"",stderr:`seq: invalid Zero increment value: '0'
|
|
5
|
+
`,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}
|
|
6
|
+
`:"",stderr:"",exitCode:0}}};export{F as seqCommand};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as m}from"./chunk-46TSKXFW.js";import"./chunk-74CEPOFO.js";import"./chunk-2RUN43TJ.js";var e=m("sha1sum","sha1","compute SHA1 message digest");export{e as sha1sumCommand};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as m}from"./chunk-4HEWHW5W.js";import"./chunk-74CEPOFO.js";import"./chunk-2RUN43TJ.js";var e=m("sha1sum","sha1","compute SHA1 message digest");export{e as sha1sumCommand};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as m}from"./chunk-46TSKXFW.js";import"./chunk-74CEPOFO.js";import"./chunk-2RUN43TJ.js";var e=m("sha256sum","sha256","compute SHA256 message digest");export{e as sha256sumCommand};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as m}from"./chunk-4HEWHW5W.js";import"./chunk-74CEPOFO.js";import"./chunk-2RUN43TJ.js";var e=m("sha256sum","sha256","compute SHA256 message digest");export{e as sha256sumCommand};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import{a,b as o}from"./chunk-74CEPOFO.js";import"./chunk-2RUN43TJ.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:
|
|
2
|
+
s - seconds (default)
|
|
3
|
+
m - minutes
|
|
4
|
+
h - hours
|
|
5
|
+
d - days
|
|
6
|
+
|
|
7
|
+
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
|
|
8
|
+
`,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}'
|
|
9
|
+
`,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};
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import{b as F}from"./chunk-3YNHMZ5M.js";import{a as v,b as y,c as C}from"./chunk-74CEPOFO.js";import"./chunk-2RUN43TJ.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]]
|
|
2
|
+
F is a field number (1-indexed)
|
|
3
|
+
C is a character position within the field (1-indexed)
|
|
4
|
+
OPTS can be: n (numeric), r (reverse), f (fold case), b (ignore blanks)
|
|
5
|
+
|
|
6
|
+
Examples:
|
|
7
|
+
-k1 sort by first field
|
|
8
|
+
-k2,2 sort by second field only
|
|
9
|
+
-k1.3 sort by first field starting at 3rd character
|
|
10
|
+
-k1,2n sort by fields 1-2 numerically
|
|
11
|
+
-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(`
|
|
12
|
+
`);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(`
|
|
13
|
+
`)}
|
|
14
|
+
`:"",stderr:"",exitCode:0}}};export{D as sortCommand};
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import{b as O}from"./chunk-3YNHMZ5M.js";import{a as F,b as N,c as k}from"./chunk-74CEPOFO.js";import"./chunk-2RUN43TJ.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]]
|
|
2
|
+
F is a field number (1-indexed)
|
|
3
|
+
C is a character position within the field (1-indexed)
|
|
4
|
+
OPTS can be: b d f h M n r V (per-key modifiers)
|
|
5
|
+
|
|
6
|
+
Examples:
|
|
7
|
+
-k1 sort by first field
|
|
8
|
+
-k2,2 sort by second field only
|
|
9
|
+
-k1.3 sort by first field starting at 3rd character
|
|
10
|
+
-k1,2n sort by fields 1-2 numerically
|
|
11
|
+
-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(`
|
|
12
|
+
`);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]}
|
|
13
|
+
`,exitCode:1};return{stdout:"",stderr:"",exitCode:0}}n.sort(d),e.unique&&(n=E(n,e));let o=n.length>0?`${n.join(`
|
|
14
|
+
`)}
|
|
15
|
+
`:"";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};
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import{b as O}from"./chunk-3YNHMZ5M.js";import{a as F,b as N,c as k}from"./chunk-74CEPOFO.js";import"./chunk-2RUN43TJ.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(u){let r=u.trim(),e=r.match(/^([+-]?\d*\.?\d+)\s*([kmgtpeKMGTPE])?[iI]?[bB]?$/);if(!e){let n=parseFloat(r);return Number.isNaN(n)?0:n}let l=parseFloat(e[1]),s=(e[2]||"").toLowerCase(),i=P[s]||1;return l*i}function L(u){let r=u.trim().toLowerCase().slice(0,3);return V[r]||0}function D(u,r){let e=u.split(/(\d+)/),l=r.split(/(\d+)/),s=Math.max(e.length,l.length);for(let i=0;i<s;i++){let n=e[i]||"",d=l[i]||"",o=/^\d+$/.test(n)?parseInt(n,10):null,c=/^\d+$/.test(d)?parseInt(d,10):null;if(o!==null&&c!==null){if(o!==c)return o-c}else if(n!==d)return n.localeCompare(d)}return 0}function x(u){return u.replace(/[^a-zA-Z0-9\s]/g,"")}function v(u,r,e){let l=e!==null?e:/\s+/,s=u.split(l),i=r.startField-1;if(i>=s.length)return"";if(r.endField===void 0){let o=s[i]||"";return r.startChar!==void 0&&(o=o.slice(r.startChar-1)),r.ignoreLeading&&(o=o.trimStart()),o}let n=Math.min(r.endField-1,s.length-1),d="";for(let o=i;o<=n&&o<s.length;o++){let c=s[o]||"";if(o===i&&r.startChar!==void 0&&(c=c.slice(r.startChar-1)),o===n&&r.endChar!==void 0){let t=o===i&&r.startChar!==void 0?r.endChar-r.startChar+1:r.endChar;c=c.slice(0,t)}o>i&&(d+=e||" "),d+=c}return r.ignoreLeading&&(d=d.trimStart()),d}function I(u,r,e){let l=u,s=r;if(e.dictionaryOrder&&(l=x(l),s=x(s)),e.ignoreCase&&(l=l.toLowerCase(),s=s.toLowerCase()),e.monthSort){let i=L(l),n=L(s);return i-n}if(e.humanNumeric){let i=w(l),n=w(s);return i-n}if(e.versionSort)return D(l,s);if(e.numeric){let i=parseFloat(l)||0,n=parseFloat(s)||0;return i-n}return l.localeCompare(s)}function M(u){let{keys:r,fieldDelimiter:e,numeric:l,ignoreCase:s,reverse:i,humanNumeric:n,versionSort:d,dictionaryOrder:o,monthSort:c,ignoreLeadingBlanks:t,stable:a}=u;return(f,S)=>{let g=f,b=S;if(t&&(g=g.trimStart(),b=b.trimStart()),r.length===0){let h=I(g,b,{numeric:l,ignoreCase:s,humanNumeric:n,versionSort:d,dictionaryOrder:o,monthSort:c});if(h!==0)return i?-h:h;if(!a){let p=f.localeCompare(S);return i?-p:p}return 0}for(let m of r){let h=v(g,m,e),p=v(b,m,e);m.ignoreLeading&&(h=h.trimStart(),p=p.trimStart());let B={numeric:m.numeric??l,ignoreCase:m.ignoreCase??s,humanNumeric:m.humanNumeric??n,versionSort:m.versionSort??d,dictionaryOrder:m.dictionaryOrder??o,monthSort:m.monthSort??c},A=m.reverse??i,y=I(h,p,B);if(y!==0)return A?-y:y}if(!a){let m=f.localeCompare(S);return i?-m:m}return 0}}function E(u,r){if(r.keys.length===0){if(r.ignoreCase){let s=new Set;return u.filter(i=>{let n=i.toLowerCase();return s.has(n)?!1:(s.add(n),!0)})}return[...new Set(u)]}let e=r.keys[0],l=new Set;return u.filter(s=>{let i=v(s,e,r.fieldDelimiter);return(e.ignoreCase??r.ignoreCase)&&(i=i.toLowerCase()),l.has(i)?!1:(l.add(i),!0)})}function C(u){let r={startField:1},e="",l=u,s=l.match(/([bdfhMnrV]+)$/);s&&(e=s[1],l=l.slice(0,-e.length)),e.includes("n")&&(r.numeric=!0),e.includes("r")&&(r.reverse=!0),e.includes("f")&&(r.ignoreCase=!0),e.includes("b")&&(r.ignoreLeading=!0),e.includes("h")&&(r.humanNumeric=!0),e.includes("V")&&(r.versionSort=!0),e.includes("d")&&(r.dictionaryOrder=!0),e.includes("M")&&(r.monthSort=!0);let i=l.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(r.startField=d,n.length>1&&n[1]){let o=parseInt(n[1],10);!Number.isNaN(o)&&o>=1&&(r.startChar=o)}if(i.length>1&&i[1]){let o=i[1],c=o.match(/([bdfhMnrV]+)$/);if(c){let a=c[1];a.includes("n")&&(r.numeric=!0),a.includes("r")&&(r.reverse=!0),a.includes("f")&&(r.ignoreCase=!0),a.includes("b")&&(r.ignoreLeading=!0),a.includes("h")&&(r.humanNumeric=!0),a.includes("V")&&(r.versionSort=!0),a.includes("d")&&(r.dictionaryOrder=!0),a.includes("M")&&(r.monthSort=!0),o=o.slice(0,-a.length)}let t=o.split(".");if(t[0]){let a=parseInt(t[0],10);if(!Number.isNaN(a)&&a>=1&&(r.endField=a),t.length>1&&t[1]){let f=parseInt(t[1],10);!Number.isNaN(f)&&f>=1&&(r.endChar=f)}}}return r}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]]
|
|
2
|
+
F is a field number (1-indexed)
|
|
3
|
+
C is a character position within the field (1-indexed)
|
|
4
|
+
OPTS can be: b d f h M n r V (per-key modifiers)
|
|
5
|
+
|
|
6
|
+
Examples:
|
|
7
|
+
-k1 sort by first field
|
|
8
|
+
-k2,2 sort by second field only
|
|
9
|
+
-k1.3 sort by first field starting at 3rd character
|
|
10
|
+
-k1,2n sort by fields 1-2 numerically
|
|
11
|
+
-k2 -k1 sort by field 2, then by field 1`},j={name:"sort",async execute(u,r){if(N(u))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},l=[];for(let c=0;c<u.length;c++){let t=u[c];if(t==="-r"||t==="--reverse")e.reverse=!0;else if(t==="-n"||t==="--numeric-sort")e.numeric=!0;else if(t==="-u"||t==="--unique")e.unique=!0;else if(t==="-f"||t==="--ignore-case")e.ignoreCase=!0;else if(t==="-h"||t==="--human-numeric-sort")e.humanNumeric=!0;else if(t==="-V"||t==="--version-sort")e.versionSort=!0;else if(t==="-d"||t==="--dictionary-order")e.dictionaryOrder=!0;else if(t==="-M"||t==="--month-sort")e.monthSort=!0;else if(t==="-b"||t==="--ignore-leading-blanks")e.ignoreLeadingBlanks=!0;else if(t==="-s"||t==="--stable")e.stable=!0;else if(t==="-c"||t==="--check")e.checkOnly=!0;else if(t==="-o"||t==="--output")e.outputFile=u[++c]||null;else if(t.startsWith("-o"))e.outputFile=t.slice(2)||null;else if(t.startsWith("--output="))e.outputFile=t.slice(9)||null;else if(t==="-t"||t==="--field-separator")e.fieldDelimiter=u[++c]||null;else if(t.startsWith("-t"))e.fieldDelimiter=t.slice(2)||null;else if(t.startsWith("--field-separator="))e.fieldDelimiter=t.slice(18)||null;else if(t==="-k"||t==="--key"){let a=u[++c];if(a){let f=C(a);f&&e.keys.push(f)}}else if(t.startsWith("-k")){let a=C(t.slice(2));a&&e.keys.push(a)}else if(t.startsWith("--key=")){let a=C(t.slice(6));a&&e.keys.push(a)}else{if(t.startsWith("--"))return k("sort",t);if(t.startsWith("-")&&!t.startsWith("--")){let a=!1;for(let f of t.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{a=!0;break}if(a)return k("sort",t)}else l.push(t)}}let s=await O(r,l,{cmdName:"sort"});if(!s.ok)return s.error;let n=s.content.split(`
|
|
12
|
+
`);n.length>0&&n[n.length-1]===""&&n.pop();let d=M(e);if(e.checkOnly){let c=l.length>0?l[0]:"-";for(let t=1;t<n.length;t++)if(d(n[t-1],n[t])>0)return{stdout:"",stderr:`sort: ${c}:${t+1}: disorder: ${n[t]}
|
|
13
|
+
`,exitCode:1};return{stdout:"",stderr:"",exitCode:0}}n.sort(d),e.unique&&(n=E(n,e));let o=n.length>0?`${n.join(`
|
|
14
|
+
`)}
|
|
15
|
+
`:"";if(e.outputFile){let c=r.fs.resolvePath(r.cwd,e.outputFile);return await r.fs.writeFile(c,o),{stdout:"",stderr:"",exitCode:0}}return{stdout:o,stderr:"",exitCode:0}}};export{j as sortCommand};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import{a as d}from"./chunk-ZVV5VXYZ.js";import{a as u,b as g}from"./chunk-74CEPOFO.js";import"./chunk-2RUN43TJ.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
|
|
2
|
+
`,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}
|
|
3
|
+
`}else{let t=r.mode.toString(8).padStart(4,"0"),l=m(r.mode,r.isDirectory);o+=` File: ${i}
|
|
4
|
+
`,o+=` Size: ${r.size} Blocks: ${Math.ceil(r.size/512)}
|
|
5
|
+
`,o+=`Access: (${t}/${l})
|
|
6
|
+
`,o+=`Modify: ${r.mtime.toISOString()}
|
|
7
|
+
`}}catch{p+=`stat: cannot stat '${i}': No such file or directory
|
|
8
|
+
`,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};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a,b as n,d as l}from"./chunk-W2EKKAIL.js";import{a as i,b as s}from"./chunk-74CEPOFO.js";import"./chunk-2RUN43TJ.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};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{a as d}from"./chunk-ZVV5VXYZ.js";import{a as p,b as l}from"./chunk-74CEPOFO.js";import"./chunk-2RUN43TJ.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
|
|
2
|
+
`,a=1}return{stdout:o,stderr:n,exitCode:a}}};export{g as teeCommand};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import{a as c,b as f,c as u}from"./chunk-74CEPOFO.js";import"./chunk-2RUN43TJ.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.
|
|
2
|
+
|
|
3
|
+
DURATION is a number with optional suffix:
|
|
4
|
+
s - seconds (default)
|
|
5
|
+
m - minutes
|
|
6
|
+
h - hours
|
|
7
|
+
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
|
|
8
|
+
`,exitCode:1};let a=o[0],l=O(a);if(l===null)return{stdout:"",stderr:`timeout: invalid time interval '${a}'
|
|
9
|
+
`,exitCode:1};let m=o.slice(1);if(m.length===0)return{stdout:"",stderr:`timeout: missing operand
|
|
10
|
+
`,exitCode:1};if(!i.exec)return{stdout:"",stderr:`timeout: exec not available
|
|
11
|
+
`,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};
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import{a as f}from"./chunk-44UOCSGV.js";import{c as r}from"./chunk-74CEPOFO.js";import"./chunk-2RUN43TJ.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
|
|
2
|
+
`,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)}
|
|
3
|
+
`,i=1}return{stdout:"",stderr:n,exitCode:i}}};export{l as touchCommand};
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import{a as C}from"./chunk-ZVV5VXYZ.js";import{a as g,b as m}from"./chunk-74CEPOFO.js";import"./chunk-2RUN43TJ.js";var x={name:"tr",summary:"translate or delete characters",usage:"tr [OPTION]... SET1 [SET2]",options:["-c, -C, --complement use the complement of SET1","-d, --delete delete characters in SET1","-s, --squeeze-repeats squeeze repeated characters"," --help display this help and exit"],description:`SET syntax:
|
|
2
|
+
a-z character range
|
|
3
|
+
[:alnum:] all letters and digits
|
|
4
|
+
[:alpha:] all letters
|
|
5
|
+
[:digit:] all digits
|
|
6
|
+
[:lower:] all lowercase letters
|
|
7
|
+
[:upper:] all uppercase letters
|
|
8
|
+
[:space:] all whitespace
|
|
9
|
+
[:blank:] horizontal whitespace
|
|
10
|
+
[:punct:] all punctuation
|
|
11
|
+
[:print:] all printable characters
|
|
12
|
+
[:graph:] all printable characters except space
|
|
13
|
+
[:cntrl:] all control characters
|
|
14
|
+
[:xdigit:] all hexadecimal digits
|
|
15
|
+
\\n, \\t, \\r escape sequences`},b={"[:alnum:]":"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789","[:alpha:]":"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz","[:blank:]":" ","[:cntrl:]":Array.from({length:32},(r,n)=>String.fromCharCode(n)).join("").concat("\x7F"),"[:digit:]":"0123456789","[:graph:]":Array.from({length:94},(r,n)=>String.fromCharCode(33+n)).join(""),"[:lower:]":"abcdefghijklmnopqrstuvwxyz","[:print:]":Array.from({length:95},(r,n)=>String.fromCharCode(32+n)).join(""),"[:punct:]":"!\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~","[:space:]":`
|
|
16
|
+
\r\f\v`,"[:upper:]":"ABCDEFGHIJKLMNOPQRSTUVWXYZ","[:xdigit:]":"0123456789ABCDEFabcdef"};function S(r){let n="",e=0;for(;e<r.length;){if(r[e]==="["&&r[e+1]===":"){let l=!1;for(let[i,a]of Object.entries(b))if(r.slice(e).startsWith(i)){n+=a,e+=i.length,l=!0;break}if(l)continue}if(r[e]==="\\"&&e+1<r.length){let l=r[e+1];l==="n"?n+=`
|
|
17
|
+
`:l==="t"?n+=" ":l==="r"?n+="\r":n+=l,e+=2;continue}if(e+2<r.length&&r[e+1]==="-"){let l=r.charCodeAt(e),i=r.charCodeAt(e+2);for(let a=l;a<=i;a++)n+=String.fromCharCode(a);e+=3;continue}n+=r[e],e++}return n}var y={complement:{short:"c",long:"complement",type:"boolean"},complementUpper:{short:"C",type:"boolean"},delete:{short:"d",long:"delete",type:"boolean"},squeeze:{short:"s",long:"squeeze-repeats",type:"boolean"}},q={name:"tr",async execute(r,n){if(m(r))return g(x);let e=C("tr",r,y);if(!e.ok)return e.error;let l=e.result.flags.complement||e.result.flags.complementUpper,i=e.result.flags.delete,a=e.result.flags.squeeze,p=e.result.positional;if(p.length<1)return{stdout:"",stderr:`tr: missing operand
|
|
18
|
+
`,exitCode:1};if(!i&&!a&&p.length<2)return{stdout:"",stderr:`tr: missing operand after SET1
|
|
19
|
+
`,exitCode:1};let f=S(p[0]),s=p.length>1?S(p[1]):"",d=n.stdin,u=o=>{let t=f.includes(o);return l?!t:t},c="";if(i)for(let o of d)u(o)||(c+=o);else if(a&&p.length===1){let o="";for(let t of d)u(t)&&t===o||(c+=t,o=t)}else{if(l){let o=s.length>0?s[s.length-1]:"";for(let t of d)f.includes(t)?c+=t:c+=o}else{let o=new Map;for(let t=0;t<f.length;t++){let h=t<s.length?s[t]:s[s.length-1];o.set(f[t],h)}for(let t of d)c+=o.get(t)??t}if(a){let o="",t="";for(let h of c)s.includes(h)&&h===t||(o+=h,t=h);c=o}}return{stdout:c,stderr:"",exitCode:0}}};export{q as trCommand};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import{a as P}from"./chunk-ZVV5VXYZ.js";import{a as $,b as w}from"./chunk-74CEPOFO.js";import"./chunk-2RUN43TJ.js";var g={name:"tree",summary:"list contents of directories in a tree-like format",usage:"tree [OPTION]... [DIRECTORY]...",options:["-a include hidden files","-d list directories only","-L LEVEL limit depth of directory tree","-f print full path prefix for each file"," --help display this help and exit"]},O={showHidden:{short:"a",type:"boolean"},directoriesOnly:{short:"d",type:"boolean"},fullPath:{short:"f",type:"boolean"},maxDepth:{short:"L",type:"number"}},N={name:"tree",async execute(s,o){if(w(s))return $(g);let e=P("tree",s,O);if(!e.ok)return e.error;let u={showHidden:e.result.flags.showHidden,directoriesOnly:e.result.flags.directoriesOnly,maxDepth:e.result.flags.maxDepth??null,fullPath:e.result.flags.fullPath},a=e.result.positional;a.length===0&&a.push(".");let t="",c="",l=0,r=0;for(let i of a){let n=await b(o,i,u,"",0);t+=n.output,c+=n.stderr,l+=n.dirCount,r+=n.fileCount}return t+=`
|
|
2
|
+
${l} director${l===1?"y":"ies"}`,u.directoriesOnly||(t+=`, ${r} file${r===1?"":"s"}`),t+=`
|
|
3
|
+
`,{stdout:t,stderr:c,exitCode:c?1:0}}};async function b(s,o,e,u,a){let t={output:"",stderr:"",dirCount:0,fileCount:0},c=s.fs.resolvePath(s.cwd,o);try{if(!(await s.fs.stat(c)).isDirectory)return t.output=`${o}
|
|
4
|
+
`,t.fileCount=1,t}catch{return t.stderr=`tree: ${o}: No such file or directory
|
|
5
|
+
`,t}if(t.output=`${o}
|
|
6
|
+
`,e.maxDepth!==null&&a>=e.maxDepth)return t;try{let r=(await s.fs.readdir(c)).filter(i=>!(!e.showHidden&&i.startsWith(".")));r.sort();for(let i=0;i<r.length;i++){let n=r[i],f=c==="/"?`/${n}`:`${c}/${n}`,h=i===r.length-1,y=h?"`-- ":"|-- ",p=u+(h?" ":"| ");try{if((await s.fs.stat(f)).isDirectory){t.dirCount++;let d=e.fullPath?f:n;if(t.output+=`${u+y+d}
|
|
7
|
+
`,e.maxDepth===null||a+1<e.maxDepth){let C=await D(s,f,e,p,a+1);t.output+=C.output,t.dirCount+=C.dirCount,t.fileCount+=C.fileCount}}else if(!e.directoriesOnly){t.fileCount++;let d=e.fullPath?f:n;t.output+=`${u+y+d}
|
|
8
|
+
`}}catch{}}}catch{t.stderr=`tree: ${o}: Permission denied
|
|
9
|
+
`}return t}async function D(s,o,e,u,a){let t={output:"",stderr:"",dirCount:0,fileCount:0};if(e.maxDepth!==null&&a>=e.maxDepth)return t;try{let l=(await s.fs.readdir(o)).filter(r=>!(!e.showHidden&&r.startsWith(".")));l.sort();for(let r=0;r<l.length;r++){let i=l[r],n=o==="/"?`/${i}`:`${o}/${i}`,f=r===l.length-1,h=f?"`-- ":"|-- ",y=u+(f?" ":"| ");try{if((await s.fs.stat(n)).isDirectory){t.dirCount++;let m=e.fullPath?n:i;t.output+=`${u+h+m}
|
|
10
|
+
`;let d=await D(s,n,e,y,a+1);t.output+=d.output,t.dirCount+=d.dirCount,t.fileCount+=d.fileCount}else if(!e.directoriesOnly){t.fileCount++;let m=e.fullPath?n:i;t.output+=`${u+h+m}
|
|
11
|
+
`}}catch{}}}catch{}return t}export{N as treeCommand};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import"./chunk-2RUN43TJ.js";var e={name:"true",async execute(){return{stdout:"",stderr:"",exitCode:0}}},t={name:"false",async execute(){return{stdout:"",stderr:"",exitCode:1}}};export{t as falseCommand,e as trueCommand};
|