import{n as e}from"./libesm-Ob3yvbRV.mjs";import{r as t,t as n}from"./chunk-74CEPOFO-V0JXh91S.mjs";import{t as r}from"./chunk-HWKDQ44K-BJxdK4fT.mjs";var i={name:`diff`,summary:`compare files line by line`,usage:`diff [OPTION]... FILE1 FILE2`,options:[`-u, --unified     output unified diff format (default)`,`-q, --brief       report only whether files differ`,`-s, --report-identical-files  report when files are the same`,`-i, --ignore-case  ignore case differences`,`    --help        display this help and exit`]},a={unified:{short:`u`,long:`unified`,type:`boolean`},brief:{short:`q`,long:`brief`,type:`boolean`},reportSame:{short:`s`,long:`report-identical-files`,type:`boolean`},ignoreCase:{short:`i`,long:`ignore-case`,type:`boolean`}},o={name:`diff`,async execute(o,s){if(n(o))return t(i);let c=r(`diff`,o,a);if(!c.ok)return c.error;let l=c.result.flags.brief,u=c.result.flags.reportSame,d=c.result.flags.ignoreCase,f=c.result.positional;if(c.result.flags.unified,f.length<2)return{stdout:``,stderr:`diff: missing operand
`,exitCode:2};let p,m,[h,g]=f;try{p=h===`-`?s.stdin:await s.fs.readFile(s.fs.resolvePath(s.cwd,h))}catch{return{stdout:``,stderr:`diff: ${h}: No such file or directory
`,exitCode:2}}try{m=g===`-`?s.stdin:await s.fs.readFile(s.fs.resolvePath(s.cwd,g))}catch{return{stdout:``,stderr:`diff: ${g}: No such file or directory
`,exitCode:2}}let _=p,v=m;return d&&(_=_.toLowerCase(),v=v.toLowerCase()),_===v?u?{stdout:`Files ${h} and ${g} are identical
`,stderr:``,exitCode:0}:{stdout:``,stderr:``,exitCode:0}:l?{stdout:`Files ${h} and ${g} differ
`,stderr:``,exitCode:1}:{stdout:e(h,g,p,m,``,``,{context:3}),stderr:``,exitCode:1}}},s={name:`diff`,flags:[{flag:`-u`,type:`boolean`},{flag:`-q`,type:`boolean`},{flag:`-s`,type:`boolean`},{flag:`-i`,type:`boolean`}],needsArgs:!0,minArgs:2};export{s as n,o as t};
//# sourceMappingURL=chunk-TLSUDHID-CSDR438C.mjs.map