/** * 由 Fantastic-admin 提供技术支持 * Powered by Fantastic-admin * https://fantastic-admin.github.io */ import{o as W,p as u,L as T,s as b,t,i as y,j as v,f as k,a as _,b as R,g as Y,q as w,r as U,E as d}from"./notice-DMe6HJCf.js";import"./index.vue_vue_type_script_setup_true_lang-CiyjFa2H.js";import"./index-DEc4xym2.js";import"./config-BQ9gBCXa.js";const G=1,X=2,S=3,z=180,j=4,h=181,Z=5,E=182;function x(O){return O>=65&&O<=90||O>=97&&O<=122}const V=new d(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(G,2);return}else if(r==37){if(O.pos>a)break;let $=2,i=2;for(;;){let n=O.peek($);if(n==32||n==10)++$;else if(n==35)for(++$;;){let Q=O.peek($);if(Q<0||Q==10)break;$++}else if(n==45&&i==2)i=++$;else{let Q=n==101&&O.peek($+1)==110&&O.peek($+2)==100;O.acceptToken(Q?S:X,i);return}}}}if(O.advance(),e==10)break}O.pos>a&&O.acceptToken(z)});function f(O,a,e){return new d(r=>{let $=r.pos;for(;;){let{next:i}=r;if(i==123&&r.peek(1)==37){let n=2;for(;;n++){let l=r.peek(n);if(l!=32&&l!=10)break}let Q="";for(;;n++){let l=r.peek(n);if(!x(l))break;Q+=String.fromCharCode(l)}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 F=f("endcomment",E,Z),D=f("endraw",h,j),N={__proto__:null,contains:32,or:36,and:36,true:50,false:50,empty:52,forloop:54,tablerowloop:56,continue:58,in:128,with:194,for:196,as:198,if:234,endif:238,unless:244,endunless:248,elsif:252,else:256,case:262,endcase:266,when:270,endfor:278,tablerow:284,endtablerow:288,break:292,cycle:298,echo:302,render:306,include:312,assign:316,capture:322,endcapture:326,increment:330,decrement:334},C={__proto__:null,if:82,endif:86,elsif:90,else:94,unless:100,endunless:104,case:110,endcase:114,when:118,for:126,endfor:136,tablerow:142,endtablerow:146,break:150,continue:154,cycle:158,comment:164,endcomment:170,raw:176,endraw:182,echo:186,render:190,include:202,assign:206,capture:212,endcapture:216,increment:220,decrement:224,liquid:228},I=R.deserialize({version:14,states:"GYQYOPOOOOOP'#F{'#F{OeOXO'#CdOsQWO'#CfO!bQ`O'#DQO#{OPO'#DTO$ZOPO'#D^O$iOPO'#DcO$wOPO'#DkO%VOPO'#DsO%eOSO'#EOO%jOQO'#EUO%oOPO'#EhOOOP'#G`'#G`OOOP'#G]'#G]OOOP'#Fz'#FzQYOPOOOOOP-E9y-E9yOOQO'#Cg'#CgO&`QpO,59QO&gQpO'#G^OsQWO'#CsOOQO'#G^'#G^OOOP,59l,59lO)PQWO,59lOsQWO,59pOsQWO,59tO)WQWO,59vOsQWO,59yOsQWO,5:OOsQWO,5:SO!]QWO,5:WO!]QWO,5:`O)]QWO,5:dO)bQWO,5:fO)gQWO,5:hO)lQWO,5:kO)qQWO,5:qOsQWO,5:vOsQWO,5:xOsQWO,5;OOsQWO,5;QOsQWO,5;TOsQWO,5;XOsQWO,5;ZO+QQWO,5;]O+XOPO'#CdOOOP,59o,59oO#{OPO,59oO+gQ`O'#DWOOOP,59x,59xO$ZOPO,59xO+lQ`O'#DaOOOP,59},59}O$iOPO,59}O+qQ`O'#DfOOOP,5:V,5:VO$wOPO,5:VO+vQ`O'#DqOOOP,5:_,5:_O%VOPO,5:_O+{Q`O'#DvOOOS'#GQ'#GQO,QOSO'#ERO,YOSO,5:jOOOQ'#GR'#GRO,_OQO'#EXO,gOQO,5:pOOOP,5;S,5;SO%oOPO,5;SO,lQ`O'#EkOOOP-E9x-E9xO,qQ!bO,59SOsQWO,59VOsQWO,59VO,vQWO'#C|OOQO'#F|'#F|O,{QWO1G.lOOOP1G.l1G.lOsQWO,59VOsQWO,59ZO-TQpO,59_O-fQpO1G/WOOOP1G/W1G/WO-wQpO1G/[O.YQpO1G/`OOOP1G/b1G/bO.kQpO1G/eO.|QpO1G/jO/pQpO1G/nO/wQWO1G/rO/|QWO1G/zOOOP1G0O1G0OOOOP1G0Q1G0QO0RQWO1G0SOOOS1G0V1G0VOOOQ1G0]1G0]O0^QpO1G0bO0eQpO1G0dO1PQpO1G0jO1bQpO1G0lO1sQpO1G0oO2UQpO1G0sO2gQpO1G0uO2xQWO'#EsO3PQWO'#ExO3WQWO'#FRO3_QWO'#FYO3fQWO'#F^O3mQWO'#FqOOQO'#Ga'#GaOOQO'#GT'#GTO3tQWO1G0wOsQWO'#EtOsQWO'#EyOsQWO'#E}OOQO'#FP'#FPOsQWO'#FSOsQWO'#FWO!]QWO'#FZO!]QWO'#F_OOQO'#Fc'#FcOOQO'#Fe'#FeO3{QWO'#FfOsQWO'#FhOsQWO'#FjOsQWO'#FmOsQWO'#FoOsQWO'#FrOsQWO'#FvOsQWO'#FxOOOP1G0w1G0wOOOP1G/Z1G/ZO4QQWO,59rOOOP1G/d1G/dO4VQWO,59{OOOP1G/i1G/iO4[QWO,5:QOOOP1G/q1G/qO4aQWO,5:]OOOP1G/y1G/yO4fQWO,5:bOOOS-E:O-E:OOOOP1G0U1G0UO4kQ`O'#ESOOOQ-E:P-E:POOOP1G0[1G0[O4pQ`O'#EYOOOP1G0n1G0nO4uQWO,5;VOOQO1G.n1G.nOOQO1G.q1G.qO7ZQpO1G.qOOQO'#DO'#DOO7eQWO,59hOOQO-E9z-E9zOOOP7+$W7+$WO9_QpO1G.qO9iQpO1G.uOsQWO1G.yOOOP7+$r7+$rOOOP7+$v7+$vOOOP7+$z7+$zOOOP7+%P7+%POOOP7+%U7+%UOsQWO'#F}OkQpO,5;eO@UQpO,5;iOBRQpO,5;nOClQpO,5;rOE_QWO,5;uOEdQWO,5;yOEiQWO,5dOOOPAN>dAN>dO!5aQWOAN>lOOOPAN>lAN>lO!5iQWOAN>tOOOPAN>tAN>tOsQWO1G0fO!]QWO1G0fO!5qQpO7+&{O!7QQpO7+'PO!8aQWO7+'WO!:TQWO,5N[O]||-1},{term:37,get:O=>C[O]||-1}],tokenPrec:0});function o(O,a){return O.split(" ").map(e=>({label:e,type:a}))}const m=o("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"),P=o("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"),q=o("empty forloop tablerowloop in with as contains","keyword"),L=o("first index index0 last length rindex","property"),A=o("col col0 col_first col_last first index index0 last length rindex rindex0 row","property");function B(O){var a;let{state:e,pos:r}=O,$=Y(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 n=O.matchBefore(/[\w\u00c0-\uffff]+$/);return n?{type:"expression",from:n.from}:O.explicit&&$.name!="CommentText"&&$.name!="StringLiteral"&&$.name!="NumberLiteral"&&$.name!="InlineComment"?{type:"expression"}:null}function M(O,a,e,r){let $=[];for(;;){let i=a.getChild("Expression");if(!i)return[];if(i.name=="forloop")return $.length?[]:L;if(i.name=="tablerowloop")return $.length?[]:A;if(i.name=="VariableName"){$.unshift(O.sliceDoc(i.from,i.to));break}else if(i.name=="MemberExpression"){let n=i.getChild("PropertyName");n&&$.unshift(O.sliceDoc(n.from,n.to)),a=i}else return[]}return r?r($,O,e):[]}function H(O={}){let a=O.filters?O.filters.concat(m):m,e=O.tags?O.tags.concat(P):P,r=O.variables?O.variables.concat(q):q,{properties:$}=O;return i=>{var n;let Q=B(i);if(!Q)return null;let l=(n=Q.from)!==null&&n!==void 0?n: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=M(i.state,Q.target,i,$),s.length?{options:s,from:l,validFor:/^[\w\u00c0-\uffff]*$/}:null}}const K=W.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:u.cursor($.from+1)})),{scrollIntoView:!0,userEvent:"input.type"}),!0));function c(O){return a=>{let e=O.test(a.textAfter);return a.lineIndent(a.node.from)+(e?0:a.unit)}}const J=T.define({name:"liquid",parser:I.configure({props:[b({"cycle comment endcomment raw endraw echo increment decrement liquid in with as":t.keyword,"empty forloop tablerowloop":t.atom,"if elsif else endif unless endunless case endcase for endfor tablerow endtablerow break continue":t.controlKeyword,"assign capture endcapture":t.definitionKeyword,contains:t.operatorKeyword,"render include":t.moduleKeyword,VariableName:t.variableName,TagName:t.tagName,FilterName:t.function(t.variableName),PropertyName:t.propertyName,CompareOp:t.compareOperator,AssignOp:t.definitionOperator,LogicOp:t.logicOperator,NumberLiteral:t.number,StringLiteral:t.string,BooleanLiteral:t.bool,InlineComment:t.lineComment,CommentText:t.blockComment,"{% %} {{ }}":t.brace,"( )":t.paren,".":t.derefOperator,", .. : |":t.punctuation}),y.add({Tag:v({closing:"%}"}),"UnlessDirective ForDirective TablerowDirective CaptureDirective":c(/^\s*(\{%-?\s*)?end\w/),IfDirective:c(/^\s*(\{%-?\s*)?(endif|else|elsif)\b/),CaseDirective:c(/^\s*(\{%-?\s*)?(endcase|when)\b/)}),k.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=w();function g(O){return J.configure({wrap:U(a=>a.type.isTop?{parser:O.parser,overlay:e=>e.name=="Text"||e.name=="RawText"}:null)},"liquid")}const OO=g(p.language);function rO(O={}){let a=O.base||p,e=a.language==p.language?OO:g(a.language);return new _(e,[a.support,e.data.of({autocomplete:H(O)}),a.language.data.of({closeBrackets:{brackets:["{"]}}),K])}export{K as closePercentBrace,rO as liquid,H as liquidCompletionSource,OO as liquidLanguage};