| 1618 | `)break;if(J==="$")$=!0;if(J==="[")A=!0;J8(q.L)}if(q.L.b===_)return[];let w=q.src.slice(z,q.L.i),j=/[*?+@!]\(/.test(w);if(O&&!j)return r5(q.L,K),Q3z(q);if(!j&&($||A)){r5(q.L,K);let J=dv(q,"arg");return J?[J]:[]}let H=j||/[*?]/.test(w)||/^[-+?*@!][a-zA-Z]/.test(w)?"extglob_pattern":"word";return[h8(q,H,_,q.L.b,[])]}function Q3z(q){let K=[],_=q.L.b,z=q.L.i,Y=()=>{if(q.L.i>z){let $=q.src.slice(z,q.L.i),A=/[*?]/.test($)?"extglob_pattern":"word";K.push(h8(q,A,_,q.L.b,[]))}};while(q.L.i<q.L.len){let $=u8(q.L);if($==="\\"&&q.L.i+1<q.L.len){J8(q.L),J8(q.L);continue}if($==='"'){Y(),K.push(hr(q)),_=q.L.b,z=q.L.i;continue}if($==="'"){Y();let A=u9(q.L,"arg");K.push(i5(q,"raw_string",A)),_=q.L.b,z=q.L.i;continue}if($===")"||$==="|"||$===" "||$==="\t"||$===` |
| 1619 | `)break;J8(q.L)}return Y(),K}function d3z(q,K){let _=i5(q,"function",K);mq(q.L);let z=u9(q.L,"arg"),Y=h8(q,"word",z.start,z.end,[]),$=[_,Y];if(mq(q.L),u8(q.L)==="("&&u8(q.L,1)===")"){let w=u9(q.L,"cmd"),j=u9(q.L,"cmd");$.push(i5(q,"(",w)),$.push(i5(q,")",j))}mq(q.L),Rr(q);let A=Hq6(q);if(A)if(A.type==="redirected_statement"&&A.children.length>=2&&A.children[0].type==="compound_statement")$.push(...A.children);else $.push(A);let O=$[$.length-1];return h8(q,"function_definition",_.startIndex,O.endIndex,$)}function c3z(q,K){let _=i5(q,K.value,K),z=[_];while(!0){mq(q.L);let $=u8(q.L);if($===""||$===` |
| 1621 | `||$===";"||$==="&"||$==="|"||$===")"||$==="<"||$===">")break;let A=dv(q,"arg");if(!A)break;if(A.type==="word")if(A.text.startsWith("-"))z.push(A);else z.push(h8(q,"variable_name",A.startIndex,A.endIndex,[]));else z.push(A)}let Y=z[z.length-1];return h8(q,"unset_command",_.startIndex,Y.endIndex,z)}function zo6(q,K,_){Rr(q);let z=BY(q.L),Y=u9(q.L,"cmd");if(Y.type==="WORD"&&Y.value===K)_.push(i5(q,K,Y));else r5(q.L,z)}function IV4(q,K){return dV4(q,K)}function dV4(q,K){let _=uV4(q,K);if(!_)return null;while(!0){mq(q.L);let z=BY(q.L);if(u8(q.L)==="|"&&u8(q.L,1)==="|"){let Y=q.L.b;J8(q.L),J8(q.L);let $=h8(q,"||",Y,q.L.b,[]),A=uV4(q,K);if(!A){r5(q.L,z);break}_=h8(q,"binary_expression",_.startIndex,A.endIndex,[_,$,A])}else break}return _}function uV4(q,K){let _=mV4(q,K);if(!_)return null;while(!0)if(mq(q.L),u8(q.L)==="&"&&u8(q.L,1)==="&"){let z=q.L.b;J8(q.L),J8(q.L);let Y=h8(q,"&&",z,q.L.b,[]),$=mV4(q,K);if(!$)break;_=h8(q,"binary_expression",_.startIndex,$.endIndex,[_,Y,$])}else break;return _}function mV4(q,K){if(mq(q.L),u8(q.L)==="("){let z=q.L.b;J8(q.L);let Y=h8(q,"(",z,q.L.b,[]),$=dV4(q,K);mq(q.L);let A;if(u8(q.L)===")"){let w=q.L.b;J8(q.L),A=h8(q,")",w,q.L.b,[])}else A=h8(q,")",q.L.b,q.L.b,[]);let O=$?[Y,$,A]:[Y,A];return h8(q,"parenthesized_expression",Y.startIndex,A.endIndex,O)}return n3z(q,K)}function cV4(q,K){mq(q.L);let _=u8(q.L);if(_==="!"){let z=q.L.b;J8(q.L);let Y=h8(q,"!",z,q.L.b,[]),$=cV4(q,K);if(!$)return Y;return h8(q,"unary_expression",Y.startIndex,$.endIndex,[Y,$])}if(_==="-"&&cv(u8(q.L,1))){let z=q.L.b;J8(q.L);while(MU(u8(q.L)))J8(q.L);let Y=h8(q,"test_operator",z,q.L.b,[]);mq(q.L);let $=Hm1(q,K);if(!$)return Y;return h8(q,"unary_expression",Y.startIndex,$.endIndex,[Y,$])}return Hm1(q,K)}function n3z(q,K){mq(q.L);let _=cV4(q,K);if(!_)return null;mq(q.L);let z=u8(q.L),Y=u8(q.L,1),$=null,A=q.L.b;if(z==="="&&Y==="=")J8(q.L),J8(q.L),$=h8(q,"==",A,q.L.b,[]);else if(z==="!"&&Y==="=")J8(q.L),J8(q.L),$=h8(q,"!=",A,q.L.b,[]);else if(z==="="&&Y==="~")J8(q.L),J8(q.L),$=h8(q,"=~",A,q.L.b,[]);else if(z==="="&&Y!=="=")J8(q.L),$=h8(q,"=",A,q.L.b,[]);else if(z==="<"&&Y!=="<")J8(q.L),$=h8(q,"<",A,q.L.b,[]);else if(z===">"&&Y!==">")J8(q.L),$=h8(q,">",A,q.L.b,[]);else if(z==="-"&&cv(Y)){J8(q.L);while(MU(u8(q.L)))J8(q.L);$=h8(q,"test_operator",A,q.L.b,[])}if(!$)return _;if(mq(q.L),K==="]]"){let w=$.type;if(w==="=~"){mq(q.L);let j=u8(q.L),H=null;if(j==='"'||j==="'"){let J=BY(q.L),M=j==='"'?hr(q):i5(q,"raw_string",u9(q.L,"arg")),X=q.L.i;while(X<q.L.len&&(q.src[X]===" "||q.src[X]==="\t"))X++;let P=q.src[X]??"",W=q.src[X+1]??"";if(P==="]"&&W==="]"||P==="&"&&W==="&"||P==="|"&&W==="|"||P===` |
| 1622 | `||P==="")H=M;else r5(q.L,J)}if(!H)H=pV4(q);if(!H)return _;return h8(q,"binary_expression",_.startIndex,H.endIndex,[_,$,H])}if(w==="="){let j=pV4(q);if(!j)return _;return h8(q,"binary_expression",_.startIndex,j.endIndex,[_,$,j])}if(w==="=="||w==="!="){let j=i3z(q);if(j.length===0)return _;let H=j[j.length-1];return h8(q,"binary_expression",_.startIndex,H.endIndex,[_,$,...j])}}let O=Hm1(q,K);if(!O)return _;return h8(q,"binary_expression",_.startIndex,O.endIndex,[_,$,O])}function pV4(q){mq(q.L);let K=q.L.b,_=0,z=0;while(q.L.i<q.L.len){let Y=u8(q.L);if(Y==="\\"&&q.L.i+1<q.L.len){J8(q.L),J8(q.L);continue}if(Y===` |