import{c as u,L as p,s as x,d as h,f as y,h as X}from"./cm-language-CDsY7zq0.js";import{html as b}from"./cm-lang-html-BwlfE-a6.js";import{s as Z,t as n}from"./vendor-lezer-highlight-DuEf3ZFH.js";import{p as j}from"./vendor-lezer-common-tVQBIsvN.js";import{L as G,E as c}from"./vendor-lezer-lr-eZ5kYecM.js";import{E as W}from"./cm-state-X9WpHEQO.js";import{E as V}from"./cm-view-CiSFjroV.js";import"./vendor-style-mod-Bs6eFhZE.js";import"./vendor-lezer-html-D-6QB8dd.js";import"./cm-lang-css-NVaY7c0M.js";import"./vendor-lezer-css-BMlSRxbI.js";import"./vendor-marijn-find-cluster-break-DXwl3gUT.js";import"./vendor-w3c-keyname-Vcq4gwWv.js";import"./vendor-crelt-C8TCjufn.js";import"./cm-lang-javascript-E0JyLAes.js";import"./vendor-lezer-javascript-BsA5KTFy.js";import"./cm-autocomplete-t9rzw_D0.js";const S=1,w=2,k=3,_=180,R=4,z=181,v=5,E=182,U=6;function D(O){return O>=65&&O<=90||O>=97&&O<=122}const F=new c(O=>{let a=O.pos;for(;;){let{next:e}=O;if(e<0)break;if(e==123){let r=O.peek(1);if(r==123){if(O.pos>a)break;O.acceptToken(S,2);return}else if(r==37){if(O.pos>a)break;let $=2,i=2;for(;;){let t=O.peek($);if(t==32||t==10)++$;else if(t==35)for(++$;;){let Q=O.peek($);if(Q<0||Q==10)break;$++}else if(t==45&&i==2)i=++$;else{let Q=t==101&&O.peek($+1)==110&&O.peek($+2)==100;O.acceptToken(Q?k:w,i);return}}}}if(O.advance(),e==10)break}O.pos>a&&O.acceptToken(_)});function f(O,a,e){return new c(r=>{let $=r.pos;for(;;){let{next:i}=r;if(i==123&&r.peek(1)==37){let t=2;for(;;t++){let o=r.peek(t);if(o!=32&&o!=10)break}let Q="";for(;;t++){let o=r.peek(t);if(!D(o))break;Q+=String.fromCharCode(o)}if(Q==O){if(r.pos>$)break;r.acceptToken(e,2);break}}else if(i<0)break;if(r.advance(),i==10)break}r.pos>$&&r.acceptToken(a)})}const C=f("endcomment",E,v),N=f("endraw",z,R),Y=new c(O=>{if(O.next==35){for(O.advance();!(O.next==10||O.next<0||(O.next==37||O.next==125)&&O.peek(1)==125);)O.advance();O.acceptToken(U)}}),I={__proto__:null,contains:34,or:38,and:38,true:52,false:52,empty:54,forloop:56,tablerowloop:58,continue:60,in:130,with:196,for:198,as:200,if:236,endif:240,unless:246,endunless:250,elsif:254,else:258,case:264,endcase:268,when:272,endfor:280,tablerow:286,endtablerow:290,break:294,cycle:300,echo:304,render:308,include:312,assign:316,capture:322,endcapture:326,increment:330,decrement:334},L={__proto__:null,if:86,endif:90,elsif:94,else:98,unless:104,endunless:108,case:114,endcase:118,when:122,for:128,endfor:138,tablerow:144,endtablerow:148,break:152,continue:156,cycle:160,comment:166,endcomment:172,raw:178,endraw:184,echo:188,render:192,include:204,assign:208,capture:214,endcapture:218,increment:222,decrement:226,liquid:230},A=G.deserialize({version:14,states:"HOQYOPOOOOOP'#F{'#F{OeOaO'#CdOsQhO'#CfO!bQxO'#DSO#{OPO'#DVO$ZOPO'#D`O$iOPO'#DeO$wOPO'#DlO%VOPO'#DtO%eOSO'#EPO%jOQO'#EVO%oOPO'#EiOOOP'#Gb'#GbOOOP'#G]'#G]OOOP'#Fz'#FzQYOPOOOOOP-E9y-E9yOOQW'#Cg'#CgO&cQ!jO,59QO&jQ!jO'#G^OsQhO'#CtOOQW'#G^'#G^OOOP,59n,59nO)YQhO,59nOsQhO,59rOsQhO,59vO)dQhO,59xOsQhO,59{OsQhO,5:QOsQhO,5:UO!]QhO,5:XO!]QhO,5:aO)iQhO,5:eO)nQhO,5:gO)sQhO,5:iO)xQhO,5:lO)}QhO,5:rOsQhO,5:wOsQhO,5:yOsQhO,5;POsQhO,5;ROsQhO,5;UOsQhO,5;YOsQhO,5;[O+^QhO,5;^O+eOPO'#CdOOOP,59q,59qO#{OPO,59qO+sQxO'#DYOOOP,59z,59zO$ZOPO,59zO+xQxO'#DcOOOP,5:P,5:PO$iOPO,5:PO+}QxO'#DhOOOP,5:W,5:WO$wOPO,5:WO,SQxO'#DrOOOP,5:`,5:`O%VOPO,5:`O,XQxO'#DwOOOS'#GQ'#GQO,^OSO'#ESO,fOSO,5:kOOOQ'#GR'#GRO,kOQO'#EYO,sOQO,5:qOOOP,5;T,5;TO%oOPO,5;TO,xQxO'#ElOOOP-E9x-E9xO,}Q#|O,59SOsQhO,59VOsQhO,59WOsQhO,59WO-SQhO'#C}OOQW'#F|'#F|O-XQhO1G.lOOOP1G.l1G.lOsQhO,59WOsQhO,59[O-rQ!jO,59`O-yQ!jO1G/YO.QQhO1G/YOOOP1G/Y1G/YO.YQ!jO1G/^O.aQ!jO1G/bOOOP1G/d1G/dO.hQ!jO1G/gO.oQ!jO1G/lO.vQ!jO1G/pO/QQhO1G/sO/VQhO1G/{OOOP1G0P1G0POOOP1G0R1G0RO/[QhO1G0TOOOS1G0W1G0WOOOQ1G0^1G0^O/gQ!jO1G0cO/nQ!jO1G0eO0OQ!jO1G0kO0VQ!jO1G0mO0^Q!jO1G0pO0eQ!jO1G0tO0lQ!jO1G0vO0sQhO'#EtO0zQhO'#EyO1RQhO'#FSO1YQhO'#FZO1aQhO'#F_O1hQhO'#FqOOQW'#Gc'#GcOOQW'#GT'#GTO1oQhO1G0xOsQhO'#EuOsQhO'#EzOsQhO'#FOOOQW'#FQ'#FQOsQhO'#FTOsQhO'#FXO!]QhO'#F[O!]QhO'#F`OOQW'#Fd'#FdOOQW'#Ff'#FfO1vQhO'#FgOsQhO'#FiOsQhO'#FkOsQhO'#FmOsQhO'#FoOsQhO'#FrOsQhO'#FvOsQhO'#FxOOOP1G0x1G0xOOOP1G/]1G/]O1{QhO,59tOOOP1G/f1G/fO2QQhO,59}OOOP1G/k1G/kO2VQhO,5:SOOOP1G/r1G/rO2[QhO,5:^OOOP1G/z1G/zO2aQhO,5:cOOOS-E:O-E:OOOOP1G0V1G0VO2fQxO'#ETOOOQ-E:P-E:POOOP1G0]1G0]O2kQxO'#EZOOOP1G0o1G0oO2pQhO,5;WOOQW1G.n1G.nO2uQ!jO1G.qO5fQ!jO1G.rO5mQ!jO1G.rOOQW'#DP'#DPO7{QhO,59iOOQW-E9z-E9zOOOP7+$W7+$WO9uQ!jO1G.rO9|Q!jO1G.vOsQhO1G.zO<[QhO7+$tOOOP7+$t7+$tOOOP7+$x7+$xOOOP7+$|7+$|OOOP7+%R7+%ROOOP7+%W7+%WOsQhO'#F}O}Q!jO,5;fO@^Q!jO,5;jOBPQ!jO,5;oOC`Q!jO,5;sOEUQhO,5;vOEZQhO,5;zOE`QhO,5eOOOPAN>eAN>eO!6_QhOAN>mOOOPAN>mAN>mO!6gQhOAN>uOOOPAN>uAN>uOsQhO1G0gO!]QhO1G0gO!6oQ!jO7+&|O!8RQ!jO7+'QO!9eQhO7+'XOOQW-E:S-E:SO!;XQhO<zQhO<I[O]||-1},{term:39,get:O=>L[O]||-1}],tokenPrec:0});function l(O,a){return O.split(" ").map(e=>({label:e,type:a}))}const q=l("abs append at_least at_most capitalize ceil compact concat date default divided_by downcase escape escape_once first floor join last lstrip map minus modulo newline_to_br plus prepend remove remove_first replace replace_first reverse round rstrip size slice sort sort_natural split strip strip_html strip_newlines sum times truncate truncatewords uniq upcase url_decode url_encode where","function"),m=l("cycle comment endcomment raw endraw echo increment decrement liquid if elsif else endif unless endunless case endcase for endfor tablerow endtablerow break continue assign capture endcapture render include","keyword"),T=l("empty forloop tablerowloop in with as","keyword"),B=l("first index index0 last length rindex","property"),H=l("col col0 col_first col_last first index index0 last length rindex rindex0 row","property");function M(O){var a;let{state:e,pos:r}=O,$=x(e).resolveInner(r,-1).enterUnfinishedNodesBefore(r),i=((a=$.childBefore(r))===null||a===void 0?void 0:a.name)||$.name;if($.name=="FilterName")return{type:"filter",node:$};if(O.explicit&&i=="|")return{type:"filter"};if($.name=="TagName")return{type:"tag",node:$};if(O.explicit&&i=="{%")return{type:"tag"};if($.name=="PropertyName"&&$.parent.name=="MemberExpression")return{type:"property",node:$,target:$.parent};if($.name=="."&&$.parent.name=="MemberExpression")return{type:"property",target:$.parent};if($.name=="MemberExpression"&&i==".")return{type:"property",target:$};if($.name=="VariableName")return{type:"expression",from:$.from};let t=O.matchBefore(/[\w\u00c0-\uffff]+$/);return t?{type:"expression",from:t.from}:O.explicit&&$.name!="CommentText"&&$.name!="StringLiteral"&&$.name!="NumberLiteral"&&$.name!="InlineComment"?{type:"expression"}:null}function J(O,a,e,r){let $=[];for(;;){let i=a.getChild("Expression");if(!i)return[];if(i.name=="forloop")return $.length?[]:B;if(i.name=="tablerowloop")return $.length?[]:H;if(i.name=="VariableName"){$.unshift(O.sliceDoc(i.from,i.to));break}else if(i.name=="MemberExpression"){let t=i.getChild("PropertyName");t&&$.unshift(O.sliceDoc(t.from,t.to)),a=i}else return[]}return r?r($,O,e):[]}function K(O={}){let a=O.filters?O.filters.concat(q):q,e=O.tags?O.tags.concat(m):m,r=O.variables?O.variables.concat(T):T,{properties:$}=O;return i=>{var t;let Q=M(i);if(!Q)return null;let o=(t=Q.from)!==null&&t!==void 0?t:Q.node?Q.node.from:i.pos,s;return Q.type=="filter"?s=a:Q.type=="tag"?s=e:Q.type=="expression"?s=r:s=J(i.state,Q.target,i,$),s.length?{options:s,from:o,validFor:/^[\w\u00c0-\uffff]*$/}:null}}const OO=V.inputHandler.of((O,a,e,r)=>r!="%"||a!=e||O.state.doc.sliceString(a-1,e+1)!="{}"?!1:(O.dispatch(O.state.changeByRange($=>({changes:{from:$.from,to:$.to,insert:"%%"},range:W.cursor($.from+1)})),{scrollIntoView:!0,userEvent:"input.type"}),!0));function d(O){return a=>{let e=O.test(a.textAfter);return a.lineIndent(a.node.from)+(e?0:a.unit)}}const $O=p.define({name:"liquid",parser:A.configure({props:[Z({"cycle comment endcomment raw endraw echo increment decrement liquid in with as":n.keyword,"empty forloop tablerowloop":n.atom,"if elsif else endif unless endunless case endcase for endfor tablerow endtablerow break continue":n.controlKeyword,"assign capture endcapture":n.definitionKeyword,contains:n.operatorKeyword,"render include":n.moduleKeyword,VariableName:n.variableName,TagName:n.tagName,FilterName:n.function(n.variableName),PropertyName:n.propertyName,CompareOp:n.compareOperator,AssignOp:n.definitionOperator,LogicOp:n.logicOperator,NumberLiteral:n.number,StringLiteral:n.string,BooleanLiteral:n.bool,InlineComment:n.lineComment,CommentText:n.blockComment,"{% %} {{ }}":n.brace,"[ ]":n.bracket,"( )":n.paren,".":n.derefOperator,", .. : |":n.punctuation}),h.add({Tag:X({closing:"%}"}),"UnlessDirective ForDirective TablerowDirective CaptureDirective":d(/^\s*(\{%-?\s*)?end\w/),IfDirective:d(/^\s*(\{%-?\s*)?(endif|else|elsif)\b/),CaseDirective:d(/^\s*(\{%-?\s*)?(endcase|when)\b/)}),y.add({"UnlessDirective ForDirective TablerowDirective CaptureDirective IfDirective CaseDirective RawDirective Comment"(O){let a=O.firstChild,e=O.lastChild;return!a||a.name!="Tag"?null:{from:a.to,to:e.name=="EndTag"?e.from:O.to}}})]}),languageData:{commentTokens:{line:"#"},indentOnInput:/^\s*{%-?\s*(?:end|elsif|else|when|)$/}}),P=b();function g(O){return $O.configure({wrap:j(a=>a.type.isTop?{parser:O.parser,overlay:e=>e.name=="Text"||e.name=="RawText"}:null)},"liquid")}const aO=g(P.language);function uO(O={}){let a=O.base||P,e=a.language==P.language?aO:g(a.language);return new u(e,[a.support,e.data.of({autocomplete:K(O)}),a.language.data.of({closeBrackets:{brackets:["{"]}}),OO])}export{OO as closePercentBrace,uO as liquid,K as liquidCompletionSource,aO as liquidLanguage};