koishi-plugin-codemirror 0.1.2 → 0.1.3
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/dist/index.js +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -21,4 +21,4 @@ import{openBlock as mt,createElementBlock as Zt,createElementVNode as Rt,defineC
|
|
|
21
21
|
\${}
|
|
22
22
|
}
|
|
23
23
|
}`,{label:"class",detail:"definition",type:"keyword"}),be('import {${names}} from "${module}"\n${}',{label:"import",detail:"named",type:"keyword"}),be('import ${name} from "${module}"\n${}',{label:"import",detail:"default",type:"keyword"})],qb=$u.concat([be("interface ${name} {\n ${}\n}",{label:"interface",detail:"definition",type:"keyword"}),be("type ${name} = ${type}",{label:"type",detail:"definition",type:"keyword"}),be("enum ${name} {\n ${}\n}",{label:"enum",detail:"definition",type:"keyword"})]),bh=new Hm,Tu=new Set(["Script","Block","FunctionExpression","FunctionDeclaration","ArrowFunction","MethodDeclaration","ForStatement"]);function zi(n){return(e,t)=>{let i=e.node.getChild("VariableDefinition");return i&&t(i,n),true}}const zb=["FunctionDeclaration"],Eb={FunctionDeclaration:zi("function"),ClassDeclaration:zi("class"),ClassExpression:()=>true,EnumDeclaration:zi("constant"),TypeAliasDeclaration:zi("type"),NamespaceDeclaration:zi("namespace"),VariableDefinition(n,e){n.matchContext(zb)||e(n,"variable")},TypeDefinition(n,e){e(n,"type")},__proto__:null};function Cu(n,e){let t=bh.get(e);if(t)return t;let i=[],s=true;function r(o,l){let a=n.sliceString(o.from,o.to);i.push({label:a,type:l})}return e.cursor(H.IncludeAnonymous).iterate(o=>{if(s)s=false;else if(o.name){let l=Eb[o.name];if(l&&l(o,r)||Tu.has(o.name))return false}else if(o.to-o.from>8192){for(let l of Cu(n,o.node))i.push(l);return false}}),bh.set(e,i),i}const Qh=/^[\w$\xa1-\uffff][\w$\d\xa1-\uffff]*$/,Zu=["TemplateString","String","RegExp","LineComment","BlockComment","VariableDefinition","TypeDefinition","Label","PropertyDefinition","PropertyName","PrivatePropertyDefinition","PrivatePropertyName","JSXText","JSXAttributeValue","JSXOpenTag","JSXCloseTag","JSXSelfClosingTag",".","?."];function Yb(n){let e=se(n.state).resolveInner(n.pos,-1);if(Zu.indexOf(e.name)>-1)return null;let t=e.name=="VariableName"||e.to-e.from<20&&Qh.test(n.state.sliceDoc(e.from,e.to));if(!t&&!n.explicit)return null;let i=[];for(let s=e;s;s=s.parent)Tu.has(s.name)&&(i=i.concat(Cu(n.state.doc,s)));return{options:i,from:t?e.from:n.pos,validFor:Qh}}const Ht=ki.define({name:"javascript",parser:Y1.configure({props:[js.add({IfStatement:Ki({except:/^\s*({|else\b)/}),TryStatement:Ki({except:/^\s*({|catch\b|finally\b)/}),LabeledStatement:pg,SwitchBody:n=>{let e=n.textAfter,t=/^\s*\}/.test(e),i=/^\s*(case|default)\b/.test(e);return n.baseIndent+(t?0:i?1:2)*n.unit},Block:xo({closing:"}"}),ArrowFunction:n=>n.baseIndent+n.unit,"TemplateString BlockComment":()=>null,"Statement Property":Ki({except:/^\s*{/}),JSXElement(n){let e=/^\s*<\//.test(n.textAfter);return n.lineIndent(n.node.from)+(e?0:n.unit)},JSXEscape(n){let e=/\s*\}/.test(n.textAfter);return n.lineIndent(n.node.from)+(e?0:n.unit)},"JSXOpenTag JSXSelfClosingTag"(n){return n.column(n.node.from)+n.unit}}),Gs.add({"Block ClassBody SwitchBody EnumBody ObjectExpression ArrayExpression ObjectType":al,BlockComment(n){return{from:n.from+2,to:n.to-2}},JSXElement(n){let e=n.firstChild;if(!e||e.name=="JSXSelfClosingTag")return null;let t=n.lastChild;return{from:e.to,to:t.type.isError?n.to:t.from}},"JSXSelfClosingTag JSXOpenTag"(n){var e;let t=(e=n.firstChild)===null||e===void 0?void 0:e.nextSibling,i=n.lastChild;return!t||t.type.isError?null:{from:t.to,to:i.type.isError?n.to:i.from}}})]}),languageData:{closeBrackets:{brackets:["(","[","{","'",'"',"`"]},commentTokens:{line:"//",block:{open:"/*",close:"*/"}},indentOnInput:/^\s*(?:case |default:|\{|\}|<\/)$/,wordChars:"$"}}),Ru={test:n=>/^JSX/.test(n.name),facet:gf({commentTokens:{block:{open:"{/*",close:"*/}"}}})},Bb=Ht.configure({dialect:"ts"},"typescript"),Vb=Ht.configure({dialect:"jsx",props:[sl.add(n=>n.isTop?[Ru]:void 0)]}),Ib=Ht.configure({dialect:"jsx ts",props:[sl.add(n=>n.isTop?[Ru]:void 0)]},"typescript");let Au=n=>({label:n,type:"keyword"});const Mu="break case const continue default delete export extends false finally in instanceof let new return static super switch this throw true typeof var yield".split(" ").map(Au),jb=Mu.concat(["declare","implements","private","protected","public"].map(Au));function Gb(n={}){let e=n.jsx?n.typescript?Ib:Vb:n.typescript?Bb:Ht,t=n.typescript?qb.concat(jb):$u.concat(Mu);return new rl(e,[Ht.data.of({autocomplete:V1(Zu,gu(t))}),Ht.data.of({autocomplete:Yb}),n.jsx?Hb:[]])}function Nb(n){for(;;){if(n.name=="JSXOpenTag"||n.name=="JSXSelfClosingTag"||n.name=="JSXFragmentTag")return n;if(n.name=="JSXEscape"||!n.parent)return null;n=n.parent}}function xh(n,e,t=n.length){for(let i=e==null?void 0:e.firstChild;i;i=i.nextSibling)if(i.name=="JSXIdentifier"||i.name=="JSXBuiltin"||i.name=="JSXNamespacedName"||i.name=="JSXMemberExpression")return n.sliceString(i.from,Math.min(i.to,t));return""}const Ub=typeof navigator=="object"&&/Android\b/.test(navigator.userAgent),Hb=v.inputHandler.of((n,e,t,i,s)=>{if((Ub?n.composing:n.compositionStarted)||n.state.readOnly||e!=t||i!=">"&&i!="/"||!Ht.isActiveAt(n.state,e,-1))return false;let r=s(),{state:o}=r,l=o.changeByRange(a=>{var h;let{head:c}=a,f=se(o).resolveInner(c-1,-1),u;if(f.name=="JSXStartTag"&&(f=f.parent),!(o.doc.sliceString(c-1,c)!=i||f.name=="JSXAttributeValue"&&f.to>c)){if(i==">"&&f.name=="JSXFragmentTag")return{range:a,changes:{from:c,insert:"</>"}};if(i=="/"&&f.name=="JSXStartCloseTag"){let d=f.parent,O=d.parent;if(O&&d.from==c-2&&((u=xh(o.doc,O.firstChild,c))||((h=O.firstChild)===null||h===void 0?void 0:h.name)=="JSXFragmentTag")){let p=`${u}>`;return{range:Q.cursor(c+p.length,-1),changes:{from:c,insert:p}}}}else if(i==">"){let d=Nb(f);if(d&&d.name=="JSXOpenTag"&&!/^\/?>|^<\//.test(o.doc.sliceString(c,c+2))&&(u=xh(o.doc,d,c)))return{range:a,changes:{from:c,insert:`</${u}>`}}}}return{range:a}});return l.changes.empty?false:(n.dispatch([r,o.update(l,{userEvent:"input.complete",scrollIntoView:true})]),true)}),Fb=Bs({String:m.string,Number:m.number,"True False":m.bool,PropertyName:m.propertyName,Null:m.null,", :":m.separator,"[ ]":m.squareBracket,"{ }":m.brace}),Kb=Pi.deserialize({version:14,states:"$bOVQPOOOOQO'#Cb'#CbOnQPO'#CeOvQPO'#ClOOQO'#Cr'#CrQOQPOOOOQO'#Cg'#CgO}QPO'#CfO!SQPO'#CtOOQO,59P,59PO![QPO,59PO!aQPO'#CuOOQO,59W,59WO!iQPO,59WOVQPO,59QOqQPO'#CmO!nQPO,59`OOQO1G.k1G.kOVQPO'#CnO!vQPO,59aOOQO1G.r1G.rOOQO1G.l1G.lOOQO,59X,59XOOQO-E6k-E6kOOQO,59Y,59YOOQO-E6l-E6l",stateData:"#O~OeOS~OQSORSOSSOTSOWQO_ROgPO~OVXOgUO~O^[O~PVO[^O~O]_OVhX~OVaO~O]bO^iX~O^dO~O]_OVha~O]bO^ia~O",goto:"!kjPPPPPPkPPkqwPPPPk{!RPPP!XP!e!hXSOR^bQWQRf_TVQ_Q`WRg`QcZRicQTOQZRQe^RhbRYQR]R",nodeNames:"⚠ JsonText True False Null Number String } { Object Property PropertyName : , ] [ Array",maxTerm:25,nodeProps:[["isolate",-2,6,11,""],["openedBy",7,"{",14,"["],["closedBy",8,"}",15,"]"]],propSources:[Fb],skippedNodes:[0],repeatNodeCount:2,tokenData:"(|~RaXY!WYZ!W]^!Wpq!Wrs!]|}$u}!O$z!Q!R%T!R![&c![!]&t!}#O&y#P#Q'O#Y#Z'T#b#c'r#h#i(Z#o#p(r#q#r(w~!]Oe~~!`Wpq!]qr!]rs!xs#O!]#O#P!}#P;'S!];'S;=`$o<%lO!]~!}Og~~#QXrs!]!P!Q!]#O#P!]#U#V!]#Y#Z!]#b#c!]#f#g!]#h#i!]#i#j#m~#pR!Q![#y!c!i#y#T#Z#y~#|R!Q![$V!c!i$V#T#Z$V~$YR!Q![$c!c!i$c#T#Z$c~$fR!Q![!]!c!i!]#T#Z!]~$rP;=`<%l!]~$zO]~~$}Q!Q!R%T!R![&c~%YRT~!O!P%c!g!h%w#X#Y%w~%fP!Q![%i~%nRT~!Q![%i!g!h%w#X#Y%w~%zR{|&T}!O&T!Q![&Z~&WP!Q![&Z~&`PT~!Q![&Z~&hST~!O!P%c!Q![&c!g!h%w#X#Y%w~&yO[~~'OO_~~'TO^~~'WP#T#U'Z~'^P#`#a'a~'dP#g#h'g~'jP#X#Y'm~'rOR~~'uP#i#j'x~'{P#`#a(O~(RP#`#a(U~(ZOS~~(^P#f#g(a~(dP#i#j(g~(jP#X#Y(m~(rOQ~~(wOW~~(|OV~",tokenizers:[0],topRules:{JsonText:[0,1]},tokenPrec:0}),Jb=ki.define({name:"json",parser:Kb.configure({props:[js.add({Object:Ki({except:/^\s*\}/}),Array:Ki({except:/^\s*\]/})}),Gs.add({"Object Array":al})]}),languageData:{closeBrackets:{brackets:["[","{",'"']},indentOnInput:/^\s*[\}\]]$/}});function eQ(){return new rl(Jb)}const si=63,yh=64,tQ=1,iQ=2,Xu=3,nQ=4,Du=5,sQ=6,rQ=7,Lu=65,oQ=66,lQ=8,aQ=9,hQ=10,cQ=11,fQ=12,Wu=13,uQ=19,dQ=20,OQ=29,pQ=33,mQ=34,gQ=47,bQ=0,yl=1,Zo=2,On=3,Ro=4;class zt{constructor(e,t,i){this.parent=e,this.depth=t,this.type=i,this.hash=(e?e.hash+e.hash<<8:0)+t+(t<<4)+i}}zt.top=new zt(null,-1,bQ);function Ji(n,e){for(let t=0,i=e-n.pos-1;;i--,t++){let s=n.peek(i);if(pt(s)||s==-1)return t}}function Ao(n){return n==32||n==9}function pt(n){return n==10||n==13}function _u(n){return Ao(n)||pt(n)}function It(n){return n<0||_u(n)}const QQ=new Ou({start:zt.top,reduce(n,e){return n.type==On&&(e==dQ||e==mQ)?n.parent:n},shift(n,e,t,i){if(e==Xu)return new zt(n,Ji(i,i.pos),yl);if(e==Lu||e==Du)return new zt(n,Ji(i,i.pos),Zo);if(e==si)return n.parent;if(e==uQ||e==pQ)return new zt(n,0,On);if(e==Wu&&n.type==Ro)return n.parent;if(e==gQ){let s=/[1-9]/.exec(i.read(i.pos,t.pos));if(s)return new zt(n,n.depth+ +s[0],Ro)}return n},hash(n){return n.hash}});function vi(n,e,t=0){return n.peek(t)==e&&n.peek(t+1)==e&&n.peek(t+2)==e&&It(n.peek(t+3))}const xQ=new bt((n,e)=>{if(n.next==-1&&e.canShift(yh))return n.acceptToken(yh);let t=n.peek(-1);if((pt(t)||t<0)&&e.context.type!=On){if(vi(n,45))if(e.canShift(si))n.acceptToken(si);else return n.acceptToken(tQ,3);if(vi(n,46))if(e.canShift(si))n.acceptToken(si);else return n.acceptToken(iQ,3);let i=0;for(;n.next==32;)i++,n.advance();(i<e.context.depth||i==e.context.depth&&e.context.type==yl&&(n.next!=45||!It(n.peek(1))))&&n.next!=-1&&!pt(n.next)&&n.next!=35&&n.acceptToken(si,-i)}},{contextual:true}),yQ=new bt((n,e)=>{if(e.context.type==On){n.next==63&&(n.advance(),It(n.next)&&n.acceptToken(rQ));return}if(n.next==45)n.advance(),It(n.next)&&n.acceptToken(e.context.type==yl&&e.context.depth==Ji(n,n.pos-1)?nQ:Xu);else if(n.next==63)n.advance(),It(n.next)&&n.acceptToken(e.context.type==Zo&&e.context.depth==Ji(n,n.pos-1)?sQ:Du);else{let t=n.pos;for(;;)if(Ao(n.next)){if(n.pos==t)return;n.advance()}else if(n.next==33)qu(n);else if(n.next==38)Mo(n);else if(n.next==42){Mo(n);break}else if(n.next==39||n.next==34){if(Sl(n,true))break;return}else if(n.next==91||n.next==123){if(!kQ(n))return;break}else{zu(n,true,false,0);break}for(;Ao(n.next);)n.advance();if(n.next==58){if(n.pos==t&&e.canShift(OQ))return;let i=n.peek(1);It(i)&&n.acceptTokenTo(e.context.type==Zo&&e.context.depth==Ji(n,t)?oQ:Lu,t)}}},{contextual:true});function SQ(n){return n>32&&n<127&&n!=34&&n!=37&&n!=44&&n!=60&&n!=62&&n!=92&&n!=94&&n!=96&&n!=123&&n!=124&&n!=125}function Sh(n){return n>=48&&n<=57||n>=97&&n<=102||n>=65&&n<=70}function kh(n,e){return n.next==37?(n.advance(),Sh(n.next)&&n.advance(),Sh(n.next)&&n.advance(),true):SQ(n.next)||e&&n.next==44?(n.advance(),true):false}function qu(n){if(n.advance(),n.next==60){for(n.advance();;)if(!kh(n,true)){n.next==62&&n.advance();break}}else for(;kh(n,false););}function Mo(n){for(n.advance();!It(n.next)&&Cs(n.next)!="f";)n.advance()}function Sl(n,e){let t=n.next,i=false,s=n.pos;for(n.advance();;){let r=n.next;if(r<0)break;if(n.advance(),r==t)if(r==39)if(n.next==39)n.advance();else break;else break;else if(r==92&&t==34)n.next>=0&&n.advance();else if(pt(r)){if(e)return false;i=true}else if(e&&n.pos>=s+1024)return false}return!i}function kQ(n){for(let e=[],t=n.pos+1024;;)if(n.next==91||n.next==123)e.push(n.next),n.advance();else if(n.next==39||n.next==34){if(!Sl(n,true))return false}else if(n.next==93||n.next==125){if(e[e.length-1]!=n.next-2)return false;if(e.pop(),n.advance(),!e.length)return true}else{if(n.next<0||n.pos>t||pt(n.next))return false;n.advance()}}const wQ="iiisiiissisfissssssssssssisssiiissssssssssssssssssssssssssfsfssissssssssssssssssssssssssssfif";function Cs(n){return n<33?"u":n>125?"s":wQ[n-33]}function Zr(n,e){let t=Cs(n);return t!="u"&&!(e&&t=="f")}function zu(n,e,t,i){if(Cs(n.next)=="s"||(n.next==63||n.next==58||n.next==45)&&Zr(n.peek(1),t))n.advance();else return false;let s=n.pos;for(;;){let r=n.next,o=0,l=i+1;for(;_u(r);){if(pt(r)){if(e)return false;l=0}else l++;r=n.peek(++o)}if(!(r>=0&&(r==58?Zr(n.peek(o+1),t):r==35?n.peek(o-1)!=32:Zr(r,t)))||!t&&l<=i||l==0&&!t&&(vi(n,45,o)||vi(n,46,o)))break;if(e&&Cs(r)=="f")return false;for(let h=o;h>=0;h--)n.advance();if(e&&n.pos>s+1024)return false}return true}const PQ=new bt((n,e)=>{if(n.next==33)qu(n),n.acceptToken(fQ);else if(n.next==38||n.next==42){let t=n.next==38?hQ:cQ;Mo(n),n.acceptToken(t)}else n.next==39||n.next==34?(Sl(n,false),n.acceptToken(aQ)):zu(n,false,e.context.type==On,e.context.depth)&&n.acceptToken(lQ)}),vQ=new bt((n,e)=>{let t=e.context.type==Ro?e.context.depth:-1,i=n.pos;e:for(;;){let s=0,r=n.next;for(;r==32;)r=n.peek(++s);if(!s&&(vi(n,45,s)||vi(n,46,s))||!pt(r)&&(t<0&&(t=Math.max(e.context.depth+1,s)),s<t))break;for(;;){if(n.next<0)break e;let o=pt(n.next);if(n.advance(),o)continue e;i=n.pos}}n.acceptTokenTo(Wu,i)}),$Q=Bs({DirectiveName:m.keyword,DirectiveContent:m.attributeValue,"DirectiveEnd DocEnd":m.meta,QuotedLiteral:m.string,BlockLiteralHeader:m.special(m.string),BlockLiteralContent:m.content,Literal:m.content,"Key/Literal Key/QuotedLiteral":m.definition(m.propertyName),"Anchor Alias":m.labelName,Tag:m.typeName,Comment:m.lineComment,": , -":m.separator,"?":m.punctuation,"[ ]":m.squareBracket,"{ }":m.brace}),TQ=Pi.deserialize({version:14,states:"5lQ!ZQgOOO#PQfO'#CpO#uQfO'#DOOOQR'#Dv'#DvO$qQgO'#DRO%gQdO'#DUO%nQgO'#DUO&ROaO'#D[OOQR'#Du'#DuO&{QgO'#D^O'rQgO'#D`OOQR'#Dt'#DtO(iOqO'#DbOOQP'#Dj'#DjO(zQaO'#CmO)YQgO'#CmOOQP'#Cm'#CmQ)jQaOOQ)uQgOOQ]QgOOO*PQdO'#CrO*nQdO'#CtOOQO'#Dw'#DwO+]Q`O'#CxO+hQdO'#CwO+rQ`O'#CwOOQO'#Cv'#CvO+wQdO'#CvOOQO'#Cq'#CqO,UQ`O,59[O,^QfO,59[OOQR,59[,59[OOQO'#Cx'#CxO,eQ`O'#DPO,pQdO'#DPOOQO'#Dx'#DxO,zQdO'#DxO-XQ`O,59jO-aQfO,59jOOQR,59j,59jOOQR'#DS'#DSO-hQcO,59mO-sQgO'#DVO.TQ`O'#DVO.YQcO,59pOOQR'#DX'#DXO#|QfO'#DWO.hQcO'#DWOOQR,59v,59vO.yOWO,59vO/OOaO,59vO/WOaO,59vO/cQgO'#D_OOQR,59x,59xO0VQgO'#DaOOQR,59z,59zOOQP,59|,59|O0yOaO,59|O1ROaO,59|O1aOqO,59|OOQP-E7h-E7hO1oQgO,59XOOQP,59X,59XO2PQaO'#DeO2_QgO'#DeO2oQgO'#DkOOQP'#Dk'#DkQ)jQaOOO3PQdO'#CsOOQO,59^,59^O3kQdO'#CuOOQO,59`,59`OOQO,59c,59cO4VQdO,59cO4aQdO'#CzO4kQ`O'#CzOOQO,59b,59bOOQU,5:Q,5:QOOQR1G.v1G.vO4pQ`O1G.vOOQU-E7d-E7dO4xQdO,59kOOQO,59k,59kO5SQdO'#DQO5^Q`O'#DQOOQO,5:d,5:dOOQU,5:R,5:ROOQR1G/U1G/UO5cQ`O1G/UOOQU-E7e-E7eO5kQgO'#DhO5xQcO1G/XOOQR1G/X1G/XOOQR,59q,59qO6TQgO,59qO6eQdO'#DiO6lQgO'#DiO7PQcO1G/[OOQR1G/[1G/[OOQR,59r,59rO#|QfO,59rOOQR1G/b1G/bO7_OWO1G/bO7dOaO1G/bOOQR,59y,59yOOQR,59{,59{OOQP1G/h1G/hO7lOaO1G/hO7tOaO1G/hO8POaO1G/hOOQP1G.s1G.sO8_QgO,5:POOQP,5:P,5:POOQP,5:V,5:VOOQP-E7i-E7iOOQO,59_,59_OOQO,59a,59aOOQO1G.}1G.}OOQO,59f,59fO8oQdO,59fOOQR7+$b7+$bP,XQ`O'#DfOOQO1G/V1G/VOOQO,59l,59lO8yQdO,59lOOQR7+$p7+$pP9TQ`O'#DgOOQR'#DT'#DTOOQR,5:S,5:SOOQR-E7f-E7fOOQR7+$s7+$sOOQR1G/]1G/]O9YQgO'#DYO9jQ`O'#DYOOQR,5:T,5:TO#|QfO'#DZO9oQcO'#DZOOQR-E7g-E7gOOQR7+$v7+$vOOQR1G/^1G/^OOQR7+$|7+$|O:QOWO7+$|OOQP7+%S7+%SO:VOaO7+%SO:_OaO7+%SOOQP1G/k1G/kOOQO1G/Q1G/QOOQO1G/W1G/WOOQR,59t,59tO:jQgO,59tOOQR,59u,59uO#|QfO,59uOOQR<<Hh<<HhOOQP<<Hn<<HnO:zOaO<<HnOOQR1G/`1G/`OOQR1G/a1G/aOOQPAN>YAN>Y",stateData:";S~O!fOS!gOS^OS~OP_OQbORSOTUOWROXROYYOZZO[XOcPOqQO!PVO!V[O!cTO~O`cO~P]OVkOWROXROYeOZfO[dOcPOmhOqQO~OboO~P!bOVtOWROXROYeOZfO[dOcPOmrOqQO~OpwO~P#WORSOTUOWROXROYYOZZO[XOcPOqQO!PVO!cTO~OSvP!avP!bvP~P#|OWROXROYeOZfO[dOcPOqQO~OmzO~P%OOm!OOUzP!azP!bzP!dzP~P#|O^!SO!b!QO!f!TO!g!RO~ORSOTUOWROXROcPOqQO!PVO!cTO~OY!UOP!QXQ!QX!V!QX!`!QXS!QX!a!QX!b!QXU!QXm!QX!d!QX~P&aO[!WOP!SXQ!SX!V!SX!`!SXS!SX!a!SX!b!SXU!SXm!SX!d!SX~P&aO^!ZO!W![O!b!YO!f!]O!g!YO~OP!_O!V[OQaX!`aX~OPaXQaX!VaX!`aX~P#|OP!bOQ!cO!V[O~OP_O!V[O~P#|OWROXROY!fOcPOqQObfXmfXofXpfX~OWROXRO[!hOcPOqQObhXmhXohXphX~ObeXmlXoeX~ObkXokX~P%OOm!kO~Om!lObnPonP~P%OOb!pOo!oO~Ob!pO~P!bOm!sOosXpsX~OosXpsX~P%OOm!uOotPptP~P%OOo!xOp!yO~Op!yO~P#WOS!|O!a#OO!b#OO~OUyX!ayX!byX!dyX~P#|Om#QO~OU#SO!a#UO!b#UO!d#RO~Om#WOUzX!azX!bzX!dzX~O]#XO~O!b#XO!g#YO~O^#ZO!b#XO!g#YO~OP!RXQ!RX!V!RX!`!RXS!RX!a!RX!b!RXU!RXm!RX!d!RX~P&aOP!TXQ!TX!V!TX!`!TXS!TX!a!TX!b!TXU!TXm!TX!d!TX~P&aO!b#^O!g#^O~O^#_O!b#^O!f#`O!g#^O~O^#_O!W#aO!b#^O!g#^O~OPaaQaa!Vaa!`aa~P#|OP#cO!V[OQ!XX!`!XX~OP!XXQ!XX!V!XX!`!XX~P#|OP_O!V[OQ!_X!`!_X~P#|OWROXROcPOqQObgXmgXogXpgX~OWROXROcPOqQObiXmiXoiXpiX~Obkaoka~P%OObnXonX~P%OOm#kO~Ob#lOo!oO~Oosapsa~P%OOotXptX~P%OOm#pO~Oo!xOp#qO~OSwP!awP!bwP~P#|OS!|O!a#vO!b#vO~OUya!aya!bya!dya~P#|Om#xO~P%OOm#{OU}P!a}P!b}P!d}P~P#|OU#SO!a$OO!b$OO!d#RO~O]$QO~O!b$QO!g$RO~O!b$SO!g$SO~O^$TO!b$SO!g$SO~O^$TO!b$SO!f$UO!g$SO~OP!XaQ!Xa!V!Xa!`!Xa~P#|Obnaona~P%OOotapta~P%OOo!xO~OU|X!a|X!b|X!d|X~P#|Om$ZO~Om$]OU}X!a}X!b}X!d}X~O]$^O~O!b$_O!g$_O~O^$`O!b$_O!g$_O~OU|a!a|a!b|a!d|a~P#|O!b$cO!g$cO~O",goto:",]!mPPPPPPPPPPPPPPPPP!nPP!v#v#|$`#|$c$f$j$nP%VPPP!v%Y%^%a%{&O%a&R&U&X&_&b%aP&e&{&e'O'RPP']'a'g'm's'y(XPPPPPPPP(_)e*X+c,VUaObcR#e!c!{ROPQSTUXY_bcdehknrtvz!O!U!W!_!b!c!f!h!k!l!s!u!|#Q#R#S#W#c#k#p#x#{$Z$]QmPR!qnqfPQThknrtv!k!l!s!u#R#k#pR!gdR!ieTlPnTjPnSiPnSqQvQ{TQ!mkQ!trQ!vtR#y#RR!nkTsQvR!wt!RWOSUXY_bcz!O!U!W!_!b!c!|#Q#S#W#c#x#{$Z$]RySR#t!|R|TR|UQ!PUR#|#SR#z#RR#z#SyZOSU_bcz!O!_!b!c!|#Q#S#W#c#x#{$Z$]R!VXR!XYa]O^abc!a!c!eT!da!eQnPR!rnQvQR!{vQ!}yR#u!}Q#T|R#}#TW^Obc!cS!^^!aT!aa!eQ!eaR#f!eW`Obc!cQxSS}U#SQ!`_Q#PzQ#V!OQ#b!_Q#d!bQ#s!|Q#w#QQ$P#WQ$V#cQ$Y#xQ$[#{Q$a$ZR$b$]xZOSU_bcz!O!_!b!c!|#Q#S#W#c#x#{$Z$]Q!VXQ!XYQ#[!UR#]!W!QWOSUXY_bcz!O!U!W!_!b!c!|#Q#S#W#c#x#{$Z$]pfPQThknrtv!k!l!s!u#R#k#pQ!gdQ!ieQ#g!fR#h!hSgPn^pQTkrtv#RQ!jhQ#i!kQ#j!lQ#n!sQ#o!uQ$W#kR$X#pQuQR!zv",nodeNames:"⚠ DirectiveEnd DocEnd - - ? ? ? Literal QuotedLiteral Anchor Alias Tag BlockLiteralContent Comment Stream BOM Document ] [ FlowSequence Item Tagged Anchored Anchored Tagged FlowMapping Pair Key : Pair , } { FlowMapping Pair Pair BlockSequence Item Item BlockMapping Pair Pair Key Pair Pair BlockLiteral BlockLiteralHeader Tagged Anchored Anchored Tagged Directive DirectiveName DirectiveContent Document",maxTerm:74,context:QQ,nodeProps:[["isolate",-3,8,9,14,""],["openedBy",18,"[",32,"{"],["closedBy",19,"]",33,"}"]],propSources:[$Q],skippedNodes:[0],repeatNodeCount:6,tokenData:"-Y~RnOX#PXY$QYZ$]Z]#P]^$]^p#Ppq$Qqs#Pst$btu#Puv$yv|#P|}&e}![#P![!]'O!]!`#P!`!a'i!a!}#P!}#O*g#O#P#P#P#Q+Q#Q#o#P#o#p+k#p#q'i#q#r,U#r;'S#P;'S;=`#z<%l?HT#P?HT?HU,o?HUO#PQ#UU!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PQ#kTOY#PZs#Pt;'S#P;'S;=`#z<%lO#PQ#}P;=`<%l#P~$VQ!f~XY$Qpq$Q~$bO!g~~$gS^~OY$bZ;'S$b;'S;=`$s<%lO$b~$vP;=`<%l$bR%OX!WQOX%kXY#PZ]%k]^#P^p%kpq#hq;'S%k;'S;=`&_<%lO%kR%rX!WQ!VPOX%kXY#PZ]%k]^#P^p%kpq#hq;'S%k;'S;=`&_<%lO%kR&bP;=`<%l%kR&lUoP!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PR'VUmP!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PR'p[!PP!WQOY#PZp#Ppq#hq{#P{|(f|}#P}!O(f!O!R#P!R![)p![;'S#P;'S;=`#z<%lO#PR(mW!PP!WQOY#PZp#Ppq#hq!R#P!R![)V![;'S#P;'S;=`#z<%lO#PR)^U!PP!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PR)wY!PP!WQOY#PZp#Ppq#hq{#P{|)V|}#P}!O)V!O;'S#P;'S;=`#z<%lO#PR*nUcP!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PR+XUbP!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PR+rUqP!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PR,]UpP!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PR,vU`P!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#P",tokenizers:[xQ,yQ,PQ,vQ,0,1],topRules:{Stream:[0,15]},tokenPrec:0}),CQ=ki.define({name:"yaml",parser:TQ.configure({props:[js.add({Stream:n=>{for(let e=n.node.resolve(n.pos,-1);e&&e.to>=n.pos;e=e.parent){if(e.name=="BlockLiteralContent"&&e.from<e.to)return n.baseIndentFor(e);if(e.name=="BlockLiteral")return n.baseIndentFor(e)+n.unit;if(e.name=="BlockSequence"||e.name=="BlockMapping")return n.column(e.firstChild.from,1);if(e.name=="QuotedLiteral")return null;if(e.name=="Literal"){let t=n.column(e.from,1);if(t==n.lineIndent(e.from,1))return t;if(e.to>n.pos)return null}}return null},FlowMapping:xo({closing:"}"}),FlowSequence:xo({closing:"]"})}),Gs.add({"FlowMapping FlowSequence":al,"Item Pair BlockLiteral":(n,e)=>({from:e.doc.lineAt(n.from).to,to:n.to})})]}),languageData:{commentTokens:{line:"#"},indentOnInput:/^\s*[\]\}]$/}});function ZQ(){return new rl(CQ)}const wh=typeof String.prototype.normalize=="function"?n=>n.normalize("NFKD"):n=>n;class $i{constructor(e,t,i=0,s=e.length,r,o){this.test=o,this.value={from:0,to:0,precise:false},this.done=false,this.matches=[],this.buffer="",this.bufferPos=0,this.iter=e.iterRange(i,s),this.bufferStart=i,this.normalize=r?l=>r(wh(l)):wh,this.query=this.normalize(t)}peek(){if(this.bufferPos==this.buffer.length){if(this.bufferStart+=this.buffer.length,this.iter.next(),this.iter.done)return-1;this.bufferPos=0,this.buffer=this.iter.value}return Qe(this.buffer,this.bufferPos)}next(){for(;this.matches.length;)this.matches.pop();return this.nextOverlapping()}nextOverlapping(){for(;;){let e=this.peek();if(e<0)return this.done=true,this;let t=Lo(e),i=this.bufferStart+this.bufferPos;this.bufferPos+=Fe(e);let s=this.normalize(t);if(s.length)for(let r=0,o=i,l=true;;r++){let a=s.charCodeAt(r),h=this.match(a,o,l,this.bufferPos+this.bufferStart,r==s.length-1);if(h)return this.value=h,this;if(r==s.length-1)break;l&&r<t.length&&t.charCodeAt(r)==a?o++:l=false}}}match(e,t,i,s,r){let o=null;for(let l=0;l<this.matches.length;){let a=this.matches[l],h=false;this.query.charCodeAt(a.index)==e&&(a.index==this.query.length-1?o={from:a.from,to:s,precise:r&&a.precise}:(a.index++,h=true)),h?l++:this.matches.splice(l,1)}return this.query.charCodeAt(0)==e&&(this.query.length==1?o={from:t,to:s,precise:i&&r}:this.matches.push({from:t,index:1,precise:i})),o&&this.test&&!this.test(o.from,o.to,this.buffer,this.bufferStart)&&(o=null),o}}typeof Symbol<"u"&&($i.prototype[Symbol.iterator]=function(){return this});const Eu={from:-1,to:-1,match:/.*/.exec(""),precise:true},kl="gm"+(/x/.unicode==null?"":"u");class Yu{constructor(e,t,i,s=0,r=e.length){if(this.text=e,this.to=r,this.curLine="",this.done=false,this.value=Eu,/\\[sWDnr]|\n|\r|\[\^/.test(t))return new Bu(e,t,i,s,r);this.re=new RegExp(t,kl+(i!=null&&i.ignoreCase?"i":"")),this.test=i==null?void 0:i.test,this.iter=e.iter();let o=e.lineAt(s);this.curLineStart=o.from,this.matchPos=Zs(e,s),this.getLine(this.curLineStart)}getLine(e){this.iter.next(e),this.iter.lineBreak?this.curLine="":(this.curLine=this.iter.value,this.curLineStart+this.curLine.length>this.to&&(this.curLine=this.curLine.slice(0,this.to-this.curLineStart)),this.iter.next())}nextLine(){this.curLineStart=this.curLineStart+this.curLine.length+1,this.curLineStart>this.to?this.curLine="":this.getLine(0)}next(){for(let e=this.matchPos-this.curLineStart;;){this.re.lastIndex=e;let t=this.matchPos<=this.to&&this.re.exec(this.curLine);if(t){let i=this.curLineStart+t.index,s=i+t[0].length;if(this.matchPos=Zs(this.text,s+(i==s?1:0)),i==this.curLineStart+this.curLine.length&&this.nextLine(),(i<s||i>this.value.to)&&(!this.test||this.test(i,s,t)))return this.value={from:i,to:s,precise:true,match:t},this;e=this.matchPos-this.curLineStart}else if(this.curLineStart+this.curLine.length<this.to)this.nextLine(),e=0;else return this.done=true,this}}}const Rr=new WeakMap;class gi{constructor(e,t){this.from=e,this.text=t}get to(){return this.from+this.text.length}static get(e,t,i){let s=Rr.get(e);if(!s||s.from>=i||s.to<=t){let l=new gi(t,e.sliceString(t,i));return Rr.set(e,l),l}if(s.from==t&&s.to==i)return s;let{text:r,from:o}=s;return o>t&&(r=e.sliceString(t,o)+r,o=t),s.to<i&&(r+=e.sliceString(s.to,i)),Rr.set(e,new gi(o,r)),new gi(t,r.slice(t-o,i-o))}}class Bu{constructor(e,t,i,s,r){this.text=e,this.to=r,this.done=false,this.value=Eu,this.matchPos=Zs(e,s),this.re=new RegExp(t,kl+(i!=null&&i.ignoreCase?"i":"")),this.test=i==null?void 0:i.test,this.flat=gi.get(e,s,this.chunkEnd(s+5e3))}chunkEnd(e){return e>=this.to?this.to:this.text.lineAt(e).to}next(){for(;;){let e=this.re.lastIndex=this.matchPos-this.flat.from,t=this.re.exec(this.flat.text);if(t&&!t[0]&&t.index==e&&(this.re.lastIndex=e+1,t=this.re.exec(this.flat.text)),t){let i=this.flat.from+t.index,s=i+t[0].length;if((this.flat.to>=this.to||t.index+t[0].length<=this.flat.text.length-10)&&(!this.test||this.test(i,s,t)))return this.value={from:i,to:s,precise:true,match:t},this.matchPos=Zs(this.text,s+(i==s?1:0)),this}if(this.flat.to==this.to)return this.done=true,this;this.flat=gi.get(this.text,this.flat.from,this.chunkEnd(this.flat.from+this.flat.text.length*2))}}}typeof Symbol<"u"&&(Yu.prototype[Symbol.iterator]=Bu.prototype[Symbol.iterator]=function(){return this});function RQ(n){try{return new RegExp(n,kl),true}catch{return false}}function Zs(n,e){if(e>=n.length)return e;let t=n.lineAt(e),i;for(;e<t.to&&(i=t.text.charCodeAt(e-t.from))>=56320&&i<57344;)e++;return e}const AQ=n=>{let{state:e}=n,t=String(e.doc.lineAt(n.state.selection.main.head).number),{close:i,result:s}=Cm(n,{label:e.phrase("Go to line"),input:{type:"text",name:"line",value:t},focus:true,submitLabel:e.phrase("go")});return s.then(r=>{let o=r&&/^([+-])?(\d+)?(:\d+)?(%)?$/.exec(r.elements.line.value);if(!o){n.dispatch({effects:i});return}let l=e.doc.lineAt(e.selection.main.head),[,a,h,c,f]=o,u=c?+c.slice(1):0,d=h?+h:l.number;if(h&&f){let g=d/100;a&&(g=g*(a=="-"?-1:1)+l.number/e.doc.lines),d=Math.round(e.doc.lines*g)}else h&&a&&(d=d*(a=="-"?-1:1)+l.number);let O=e.doc.line(Math.max(1,Math.min(e.doc.lines,d))),p=Q.cursor(O.from+Math.max(0,Math.min(u,O.length)));n.dispatch({effects:[i,v.scrollIntoView(p.from,{y:"center"})],selection:p})}),true},MQ={highlightWordAroundCursor:false,minSelectionLength:1,maxMatches:100,wholeWords:false},XQ=$.define({combine(n){return st(n,MQ,{highlightWordAroundCursor:(e,t)=>e||t,minSelectionLength:Math.min,maxMatches:Math.min})}});function DQ(n){return[zQ,qQ]}const LQ=Z.mark({class:"cm-selectionMatch"}),WQ=Z.mark({class:"cm-selectionMatch cm-selectionMatch-main"});function Ph(n,e,t,i){return(t==0||n(e.sliceDoc(t-1,t))!=N.Word)&&(i==e.doc.length||n(e.sliceDoc(i,i+1))!=N.Word)}function _Q(n,e,t,i){return n(e.sliceDoc(t,t+1))==N.Word&&n(e.sliceDoc(i-1,i))==N.Word}const qQ=J.fromClass(class{constructor(n){this.decorations=this.getDeco(n)}update(n){(n.selectionSet||n.docChanged||n.viewportChanged)&&(this.decorations=this.getDeco(n.view))}getDeco(n){let e=n.state.facet(XQ),{state:t}=n,i=t.selection;if(i.ranges.length>1)return Z.none;let s=i.main,r,o=null;if(s.empty){if(!e.highlightWordAroundCursor)return Z.none;let a=t.wordAt(s.head);if(!a)return Z.none;o=t.charCategorizer(s.head),r=t.sliceDoc(a.from,a.to)}else{let a=s.to-s.from;if(a<e.minSelectionLength||a>200)return Z.none;if(e.wholeWords){if(r=t.sliceDoc(s.from,s.to),o=t.charCategorizer(s.head),!(Ph(o,t,s.from,s.to)&&_Q(o,t,s.from,s.to)))return Z.none}else if(r=t.sliceDoc(s.from,s.to),!r)return Z.none}let l=[];for(let a of n.visibleRanges){let h=new $i(t.doc,r,a.from,a.to);for(;!h.next().done;){let{from:c,to:f}=h.value;if((!o||Ph(o,t,c,f))&&(s.empty&&c<=s.from&&f>=s.to?l.push(WQ.range(c,f)):(c>=s.to||f<=s.from)&&l.push(LQ.range(c,f)),l.length>e.maxMatches))return Z.none}}return Z.set(l)}},{decorations:n=>n.decorations}),zQ=v.baseTheme({".cm-selectionMatch":{backgroundColor:"#99ff7780"},".cm-searchMatch .cm-selectionMatch":{backgroundColor:"transparent"}}),EQ=({state:n,dispatch:e})=>{let{selection:t}=n,i=Q.create(t.ranges.map(s=>n.wordAt(s.head)||Q.cursor(s.head)),t.mainIndex);return i.eq(t)?false:(e(n.update({selection:i})),true)};function YQ(n,e){let{main:t,ranges:i}=n.selection,s=n.wordAt(t.head),r=s&&s.from==t.from&&s.to==t.to;for(let o=false,l=new $i(n.doc,e,i[i.length-1].to);;)if(l.next(),l.done){if(o)return null;l=new $i(n.doc,e,0,Math.max(0,i[i.length-1].from-1)),o=true}else{if(o&&i.some(a=>a.from==l.value.from))continue;if(r){let a=n.wordAt(l.value.from);if(!a||a.from!=l.value.from||a.to!=l.value.to)continue}return l.value}}const BQ=({state:n,dispatch:e})=>{let{ranges:t}=n.selection;if(t.some(r=>r.from===r.to))return EQ({state:n,dispatch:e});let i=n.sliceDoc(t[0].from,t[0].to);if(n.selection.ranges.some(r=>n.sliceDoc(r.from,r.to)!=i))return false;let s=YQ(n,i);return s?(e(n.update({selection:n.selection.addRange(Q.range(s.from,s.to),false),effects:v.scrollIntoView(s.to)})),true):false},Ri=$.define({combine(n){return st(n,{top:false,caseSensitive:false,literal:false,regexp:false,wholeWord:false,createPanel:e=>new sx(e),scrollToMatch:e=>v.scrollIntoView(e)})}});class Vu{constructor(e){this.search=e.search,this.caseSensitive=!!e.caseSensitive,this.literal=!!e.literal,this.regexp=!!e.regexp,this.replace=e.replace||"",this.valid=!!this.search&&(!this.regexp||RQ(this.search)),this.unquoted=this.unquote(this.search),this.wholeWord=!!e.wholeWord,this.test=e.test}unquote(e){return this.literal?e:e.replace(/\\([nrt\\])/g,(t,i)=>i=="n"?`
|
|
24
|
-
`:i=="r"?"\r":i=="t"?" ":"\\")}eq(e){return this.search==e.search&&this.replace==e.replace&&this.caseSensitive==e.caseSensitive&&this.regexp==e.regexp&&this.wholeWord==e.wholeWord&&this.test==e.test}create(){return this.regexp?new UQ(this):new jQ(this)}getCursor(e,t=0,i){let s=e.doc?e:q.create({doc:e});return i==null&&(i=s.doc.length),this.regexp?oi(this,s,t,i):ri(this,s,t,i)}}class Iu{constructor(e){this.spec=e}}function VQ(n,e,t){return(i,s,r,o)=>{if(t&&!t(i,s,r,o))return false;let l=i>=o&&s<=o+r.length?r.slice(i-o,s-o):e.doc.sliceString(i,s);return n(l,e,i,s)}}function ri(n,e,t,i){let s;return n.wholeWord&&(s=IQ(e.doc,e.charCategorizer(e.selection.main.head))),n.test&&(s=VQ(n.test,e,s)),new $i(e.doc,n.unquoted,t,i,n.caseSensitive?void 0:r=>r.toLowerCase(),s)}function IQ(n,e){return(t,i,s,r)=>((r>t||r+s.length<i)&&(r=Math.max(0,t-2),s=n.sliceString(r,Math.min(n.length,i+2))),(e(Rs(s,t-r))!=N.Word||e(As(s,t-r))!=N.Word)&&(e(As(s,i-r))!=N.Word||e(Rs(s,i-r))!=N.Word))}class jQ extends Iu{constructor(e){super(e)}nextMatch(e,t,i){let s=ri(this.spec,e,i,e.doc.length).nextOverlapping();if(s.done){let r=Math.min(e.doc.length,t+this.spec.unquoted.length);s=ri(this.spec,e,0,r).nextOverlapping()}return s.done||s.value.from==t&&s.value.to==i?null:s.value}prevMatchInRange(e,t,i){for(let s=i;;){let r=Math.max(t,s-1e4-this.spec.unquoted.length),o=ri(this.spec,e,r,s),l=null;for(;!o.nextOverlapping().done;)l=o.value;if(l)return l;if(r==t)return null;s-=1e4}}prevMatch(e,t,i){let s=this.prevMatchInRange(e,0,t);return s||(s=this.prevMatchInRange(e,Math.max(0,i-this.spec.unquoted.length),e.doc.length)),s&&(s.from!=t||s.to!=i)?s:null}getReplacement(e){return this.spec.unquote(this.spec.replace)}matchAll(e,t){let i=ri(this.spec,e,0,e.doc.length),s=[];for(;!i.next().done;){if(s.length>=t)return null;s.push(i.value)}return s}highlight(e,t,i,s){let r=ri(this.spec,e,Math.max(0,t-this.spec.unquoted.length),Math.min(i+this.spec.unquoted.length,e.doc.length));for(;!r.next().done;)s(r.value.from,r.value.to)}}function GQ(n,e,t){return(i,s,r)=>(!t||t(i,s,r))&&n(r[0],e,i,s)}function oi(n,e,t,i){let s;return n.wholeWord&&(s=NQ(e.charCategorizer(e.selection.main.head))),n.test&&(s=GQ(n.test,e,s)),new Yu(e.doc,n.search,{ignoreCase:!n.caseSensitive,test:s},t,i)}function Rs(n,e){return n.slice(oe(n,e,false),e)}function As(n,e){return n.slice(e,oe(n,e))}function NQ(n){return(e,t,i)=>!i[0].length||(n(Rs(i.input,i.index))!=N.Word||n(As(i.input,i.index))!=N.Word)&&(n(As(i.input,i.index+i[0].length))!=N.Word||n(Rs(i.input,i.index+i[0].length))!=N.Word)}class UQ extends Iu{nextMatch(e,t,i){let s=oi(this.spec,e,i,e.doc.length).next();return s.done&&(s=oi(this.spec,e,0,t).next()),s.done?null:s.value}prevMatchInRange(e,t,i){for(let s=1;;s++){let r=Math.max(t,i-s*1e4),o=oi(this.spec,e,r,i),l=null;for(;!o.next().done;)l=o.value;if(l&&(r==t||l.from>r+10))return l;if(r==t)return null}}prevMatch(e,t,i){return this.prevMatchInRange(e,0,t)||this.prevMatchInRange(e,i,e.doc.length)}getReplacement(e){return this.spec.unquote(this.spec.replace).replace(/\$([$&]|\d+)/g,(t,i)=>{if(i=="&")return e.match[0];if(i=="$")return"$";for(let s=i.length;s>0;s--){let r=+i.slice(0,s);if(r>0&&r<e.match.length)return e.match[r]+i.slice(s)}return t})}matchAll(e,t){let i=oi(this.spec,e,0,e.doc.length),s=[];for(;!i.next().done;){if(s.length>=t)return null;s.push(i.value)}return s}highlight(e,t,i,s){let r=oi(this.spec,e,Math.max(0,t-250),Math.min(i+250,e.doc.length));for(;!r.next().done;)s(r.value.from,r.value.to)}}const pn=A.define(),wl=A.define(),ft=ue.define({create(n){return new Ar(Xo(n).create(),null)},update(n,e){for(let t of e.effects)t.is(pn)?n=new Ar(t.value.create(),n.panel):t.is(wl)&&(n=new Ar(n.query,t.value?Pl:null));return n},provide:n=>ln.from(n,e=>e.panel)});function HQ(n){var e;return((e=n.field(ft,false))===null||e===void 0?void 0:e.panel)!=null}class Ar{constructor(e,t){this.query=e,this.panel=t}}const FQ=Z.mark({class:"cm-searchMatch"}),KQ=Z.mark({class:"cm-searchMatch cm-searchMatch-selected"}),JQ=J.fromClass(class{constructor(n){this.view=n,this.decorations=this.highlight(n.state.field(ft))}update(n){let e=n.state.field(ft);(e!=n.startState.field(ft)||n.docChanged||n.selectionSet||n.viewportChanged)&&(this.decorations=this.highlight(e))}highlight({query:n,panel:e}){if(!e||!n.spec.valid)return Z.none;let{view:t}=this,i=new ut;for(let s=0,r=t.visibleRanges,o=r.length;s<o;s++){let{from:l,to:a}=r[s];for(;s<o-1&&a>r[s+1].from-2*250;)a=r[++s].to;n.highlight(t.state,l,a,(h,c)=>{let f=t.state.selection.ranges.some(u=>u.from==h&&u.to==c);i.add(h,c,f?KQ:FQ)})}return i.finish()}},{decorations:n=>n.decorations});function Pn(n){return e=>{let t=e.state.field(ft,false);return t&&t.query.spec.valid?n(e,t):vl(e)}}const Ms=Pn((n,{query:e})=>{let{to:t}=n.state.selection.main,i=e.nextMatch(n.state,t,t);if(!i)return false;let s=Q.single(i.from,i.to),r=n.state.facet(Ri);return n.dispatch({selection:s,effects:[Tl(n,i),r.scrollToMatch(s.main,n)],userEvent:"select.search"}),Gu(n),true}),Xs=Pn((n,{query:e})=>{let{state:t}=n,{from:i}=t.selection.main,s=e.prevMatch(t,i,i);if(!s)return false;let r=Q.single(s.from,s.to),o=n.state.facet(Ri);return n.dispatch({selection:r,effects:[Tl(n,s),o.scrollToMatch(r.main,n)],userEvent:"select.search"}),Gu(n),true}),ex=Pn((n,{query:e})=>{let t=e.matchAll(n.state,1e3);return!t||!t.length?false:(n.dispatch({selection:Q.create(t.map(i=>Q.range(i.from,i.to))),userEvent:"select.search.matches"}),true)}),tx=({state:n,dispatch:e})=>{let t=n.selection;if(t.ranges.length>1||t.main.empty)return false;let{from:i,to:s}=t.main,r=[],o=0;for(let l=new $i(n.doc,n.sliceDoc(i,s));!l.next().done;){if(r.length>1e3)return false;l.value.from==i&&(o=r.length),r.push(Q.range(l.value.from,l.value.to))}return e(n.update({selection:Q.create(r,o),userEvent:"select.search.matches"})),true},vh=Pn((n,{query:e})=>{let{state:t}=n,{from:i,to:s}=t.selection.main;if(t.readOnly)return false;let r=e.nextMatch(t,i,i);if(!r)return false;let o=r,l=[],a,h,c=[];o.precise?o.from==i&&o.to==s&&(h=t.toText(e.getReplacement(o)),l.push({from:o.from,to:o.to,insert:h}),c.push(v.announce.of(t.phrase("replaced match on line $",t.doc.lineAt(i).number)+"."))):o=e.nextMatch(t,o.from,o.to);let f=n.state.changes(l);return o&&(a=Q.single(o.from,o.to).map(f),c.push(Tl(n,o)),c.push(t.facet(Ri).scrollToMatch(a.main,n))),n.dispatch({changes:f,selection:a,effects:c,userEvent:"input.replace"}),true}),ix=Pn((n,{query:e})=>{if(n.state.readOnly)return false;let t=[];for(let s of e.matchAll(n.state,1e9)){let{from:r,to:o,precise:l}=s;l&&t.push({from:r,to:o,insert:e.getReplacement(s)})}if(!t.length)return false;let i=n.state.phrase("replaced $ matches",t.length)+".";return n.dispatch({changes:t,effects:v.announce.of(i),userEvent:"input.replace.all"}),true});function Pl(n){return n.state.facet(Ri).createPanel(n)}function Xo(n,e){var t,i,s,r,o;let l=n.selection.main,a=l.empty||l.to>l.from+100?"":n.sliceDoc(l.from,l.to);if(e&&!a)return e;let h=n.facet(Ri);return new Vu({search:((t=e==null?void 0:e.literal)!==null&&t!==void 0?t:h.literal)?a:a.replace(/\n/g,"\\n"),caseSensitive:(i=e==null?void 0:e.caseSensitive)!==null&&i!==void 0?i:h.caseSensitive,literal:(s=e==null?void 0:e.literal)!==null&&s!==void 0?s:h.literal,regexp:(r=e==null?void 0:e.regexp)!==null&&r!==void 0?r:h.regexp,wholeWord:(o=e==null?void 0:e.wholeWord)!==null&&o!==void 0?o:h.wholeWord})}function ju(n){let e=Jo(n,Pl);return e&&e.dom.querySelector("[main-field]")}function Gu(n){let e=ju(n);e&&e==n.root.activeElement&&e.select()}const vl=n=>{let e=n.state.field(ft,false);if(e&&e.panel){let t=ju(n);if(t&&t!=n.root.activeElement){let i=Xo(n.state,e.query.spec);i.valid&&n.dispatch({effects:pn.of(i)}),t.focus(),t.select()}}else n.dispatch({effects:[wl.of(true),e?pn.of(Xo(n.state,e.query.spec)):A.appendConfig.of(ox)]});return true},$l=n=>{let e=n.state.field(ft,false);if(!e||!e.panel)return false;let t=Jo(n,Pl);return t&&t.dom.contains(n.root.activeElement)&&n.focus(),n.dispatch({effects:wl.of(false)}),true},nx=[{key:"Mod-f",run:vl,scope:"editor search-panel"},{key:"F3",run:Ms,shift:Xs,scope:"editor search-panel",preventDefault:true},{key:"Mod-g",run:Ms,shift:Xs,scope:"editor search-panel",preventDefault:true},{key:"Escape",run:$l,scope:"editor search-panel"},{key:"Mod-Shift-l",run:tx},{key:"Mod-Alt-g",run:AQ},{key:"Mod-d",run:BQ,preventDefault:true}];class sx{constructor(e){this.view=e;let t=this.query=e.state.field(ft).query.spec;this.commit=this.commit.bind(this),this.searchField=Y("input",{value:t.search,placeholder:Ce(e,"Find"),"aria-label":Ce(e,"Find"),class:"cm-textfield",name:"search",form:"","main-field":"true",onchange:this.commit,onkeyup:this.commit}),this.replaceField=Y("input",{value:t.replace,placeholder:Ce(e,"Replace"),"aria-label":Ce(e,"Replace"),class:"cm-textfield",name:"replace",form:"",onchange:this.commit,onkeyup:this.commit}),this.caseField=Y("input",{type:"checkbox",name:"case",form:"",checked:t.caseSensitive,onchange:this.commit}),this.reField=Y("input",{type:"checkbox",name:"re",form:"",checked:t.regexp,onchange:this.commit}),this.wordField=Y("input",{type:"checkbox",name:"word",form:"",checked:t.wholeWord,onchange:this.commit});function i(s,r,o){return Y("button",{class:"cm-button",name:s,onclick:r,type:"button"},o)}this.dom=Y("div",{onkeydown:s=>this.keydown(s),class:"cm-search"},[this.searchField,i("next",()=>Ms(e),[Ce(e,"next")]),i("prev",()=>Xs(e),[Ce(e,"previous")]),i("select",()=>ex(e),[Ce(e,"all")]),Y("label",null,[this.caseField,Ce(e,"match case")]),Y("label",null,[this.reField,Ce(e,"regexp")]),Y("label",null,[this.wordField,Ce(e,"by word")]),...e.state.readOnly?[]:[Y("br"),this.replaceField,i("replace",()=>vh(e),[Ce(e,"replace")]),i("replaceAll",()=>ix(e),[Ce(e,"replace all")])],Y("button",{name:"close",onclick:()=>$l(e),"aria-label":Ce(e,"close"),type:"button"},["×"])])}commit(){let e=new Vu({search:this.searchField.value,caseSensitive:this.caseField.checked,regexp:this.reField.checked,wholeWord:this.wordField.checked,replace:this.replaceField.value});e.eq(this.query)||(this.query=e,this.view.dispatch({effects:pn.of(e)}))}keydown(e){qp(this.view,e,"search-panel")?e.preventDefault():e.keyCode==13&&e.target==this.searchField?(e.preventDefault(),(e.shiftKey?Xs:Ms)(this.view)):e.keyCode==13&&e.target==this.replaceField&&(e.preventDefault(),vh(this.view))}update(e){for(let t of e.transactions)for(let i of t.effects)i.is(pn)&&!i.value.eq(this.query)&&this.setQuery(i.value)}setQuery(e){this.query=e,this.searchField.value=e.search,this.replaceField.value=e.replace,this.caseField.checked=e.caseSensitive,this.reField.checked=e.regexp,this.wordField.checked=e.wholeWord}mount(){this.searchField.select()}get pos(){return 80}get top(){return this.view.state.facet(Ri).top}}function Ce(n,e){return n.state.phrase(e)}const Gn=30,Nn=/[\s\.,:;?!]/;function Tl(n,{from:e,to:t}){let i=n.state.doc.lineAt(e),s=n.state.doc.lineAt(t).to,r=Math.max(i.from,e-Gn),o=Math.min(s,t+Gn),l=n.state.sliceDoc(r,o);if(r!=i.from){for(let a=0;a<Gn;a++)if(!Nn.test(l[a+1])&&Nn.test(l[a])){l=l.slice(a);break}}if(o!=s){for(let a=l.length-1;a>l.length-Gn;a--)if(!Nn.test(l[a-1])&&Nn.test(l[a])){l=l.slice(0,a);break}}return v.announce.of(`${n.state.phrase("current match")}. ${l} ${n.state.phrase("on line")} ${i.number}.`)}const rx=v.baseTheme({".cm-panel.cm-search":{padding:"2px 6px 4px",position:"relative","& [name=close]":{position:"absolute",top:"0",right:"4px",backgroundColor:"inherit",border:"none",font:"inherit",padding:0,margin:0},"& input, & button, & label":{margin:".2em .6em .2em 0"},"& input[type=checkbox]":{marginRight:".2em"},"& label":{fontSize:"80%",whiteSpace:"pre"}},"&light .cm-searchMatch":{backgroundColor:"#ffff0054"},"&dark .cm-searchMatch":{backgroundColor:"#00ffff8a"},"&light .cm-searchMatch-selected":{backgroundColor:"#ff6a0054"},"&dark .cm-searchMatch-selected":{backgroundColor:"#ff00ff8a"}}),ox=[ft,Mt.low(JQ),rx],lx="#e5c07b",$h="#e06c75",ax="#56b6c2",hx="#ffffff",rs="#abb2bf",Do="#7d8799",cx="#61afef",fx="#98c379",Th="#d19a66",ux="#c678dd",dx="#21252b",Ch="#2c313a",Zh="#282c34",Mr="#353a42",Ox="#3E4451",Rh="#528bff",px=v.theme({"&":{color:rs,backgroundColor:Zh},".cm-content":{caretColor:Rh},".cm-cursor, .cm-dropCursor":{borderLeftColor:Rh},"&.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground, .cm-selectionBackground, .cm-content ::selection":{backgroundColor:Ox},".cm-panels":{backgroundColor:dx,color:rs},".cm-panels.cm-panels-top":{borderBottom:"2px solid black"},".cm-panels.cm-panels-bottom":{borderTop:"2px solid black"},".cm-searchMatch":{backgroundColor:"#72a1ff59",outline:"1px solid #457dff"},".cm-searchMatch.cm-searchMatch-selected":{backgroundColor:"#6199ff2f"},".cm-activeLine":{backgroundColor:"#6699ff0b"},".cm-selectionMatch":{backgroundColor:"#aafe661a"},"&.cm-focused .cm-matchingBracket, &.cm-focused .cm-nonmatchingBracket":{backgroundColor:"#bad0f847"},".cm-gutters":{backgroundColor:Zh,color:Do,border:"none"},".cm-activeLineGutter":{backgroundColor:Ch},".cm-foldPlaceholder":{backgroundColor:"transparent",border:"none",color:"#ddd"},".cm-tooltip":{border:"none",backgroundColor:Mr},".cm-tooltip .cm-tooltip-arrow:before":{borderTopColor:"transparent",borderBottomColor:"transparent"},".cm-tooltip .cm-tooltip-arrow:after":{borderTopColor:Mr,borderBottomColor:Mr},".cm-tooltip-autocomplete":{"& > ul > li[aria-selected]":{backgroundColor:Ch,color:rs}}},{dark:true}),mx=Sn.define([{tag:m.keyword,color:ux},{tag:[m.name,m.deleted,m.character,m.propertyName,m.macroName],color:$h},{tag:[m.function(m.variableName),m.labelName],color:cx},{tag:[m.color,m.constant(m.name),m.standard(m.name)],color:Th},{tag:[m.definition(m.name),m.separator],color:rs},{tag:[m.typeName,m.className,m.number,m.changed,m.annotation,m.modifier,m.self,m.namespace],color:lx},{tag:[m.operator,m.operatorKeyword,m.url,m.escape,m.regexp,m.link,m.special(m.string)],color:ax},{tag:[m.meta,m.comment],color:Do},{tag:m.strong,fontWeight:"bold"},{tag:m.emphasis,fontStyle:"italic"},{tag:m.strikethrough,textDecoration:"line-through"},{tag:m.link,color:Do,textDecoration:"underline"},{tag:m.heading,fontWeight:"bold",color:$h},{tag:[m.atom,m.bool,m.special(m.variableName)],color:Th},{tag:[m.processingInstruction,m.string,m.inserted],color:fx},{tag:m.invalid,color:hx}]),gx=[px,Cf(mx)];class Ah{constructor(e,t,i){this.from=e,this.to=t,this.diagnostic=i}}class Et{constructor(e,t,i){this.diagnostics=e,this.panel=t,this.selected=i}static init(e,t,i){let s=i.facet(mn).markerFilter;s&&(e=s(e,i));let r=e.slice().sort((d,O)=>d.from-O.from||d.to-O.to),o=new ut,l=[],a=0,h=i.doc.iter(),c=0,f=i.doc.length;for(let d=0;;){let O=d==r.length?null:r[d];if(!O&&!l.length)break;let p,g;if(l.length)p=a,g=l.reduce((y,C)=>Math.min(y,C.to),O&&O.from>p?O.from:1e8);else{if(p=O.from,p>f)break;g=O.to,l.push(O),d++}for(;d<r.length;){let y=r[d];if(y.from==p&&(y.to>y.from||y.to==p))l.push(y),d++,g=Math.min(y.to,g);else{g=Math.min(y.from,g);break}}g=Math.min(g,f);let b=false;if(l.some(y=>y.from==p&&(y.to==g||g==f))&&(b=p==g,!b&&g-p<10)){let y=p-(c+h.value.length);y>0&&(h.next(y),c=p);for(let C=p;;){if(C>=g){b=true;break}if(!h.lineBreak&&c+h.value.length>C)break;C=c+h.value.length,c+=h.value.length,h.next()}}let x=Zx(l);if(b)o.add(p,p,Z.widget({widget:new vx(x),diagnostics:l.slice()}));else{let y=l.reduce((C,S)=>S.markClass?C+" "+S.markClass:C,"");o.add(p,g,Z.mark({class:"cm-lintRange cm-lintRange-"+x+y,diagnostics:l.slice(),inclusiveEnd:l.some(C=>C.to>g)}))}if(a=g,a==f)break;for(let y=0;y<l.length;y++)l[y].to<=a&&l.splice(y--,1)}let u=o.finish();return new Et(u,t,Ct(u))}}function Ct(n,e=null,t=0){let i=null;return n.between(t,1e9,(s,r,{spec:o})=>{if(!(e&&o.diagnostics.indexOf(e)<0))if(!i)i=new Ah(s,r,e||o.diagnostics[0]);else{if(o.diagnostics.indexOf(i.diagnostic)<0)return false;i=new Ah(i.from,r,i.diagnostic)}}),i}function bx(n,e){let t=e.pos,i=e.end||t,s=n.state.facet(mn).hideOn(n,t,i);if(s!=null)return s;let r=n.startState.doc.lineAt(e.pos);return!!(n.effects.some(o=>o.is(Nu))||n.changes.touchesRange(r.from,Math.max(r.to,i)))}function Qx(n,e){return n.field(Re,false)?e:e.concat(A.appendConfig.of(Rx))}const Nu=A.define(),Cl=A.define(),Uu=A.define(),Re=ue.define({create(){return new Et(Z.none,null,null)},update(n,e){if(e.docChanged&&n.diagnostics.size){let t=n.diagnostics.map(e.changes),i=null,s=n.panel;if(n.selected){let r=e.changes.mapPos(n.selected.from,1);i=Ct(t,n.selected.diagnostic,r)||Ct(t,null,r)}!t.size&&s&&e.state.facet(mn).autoPanel&&(s=null),n=new Et(t,s,i)}for(let t of e.effects)if(t.is(Nu)){let i=e.state.facet(mn).autoPanel?t.value.length?gn.open:null:n.panel;n=Et.init(t.value,i,e.state)}else t.is(Cl)?n=new Et(n.diagnostics,t.value?gn.open:null,n.selected):t.is(Uu)&&(n=new Et(n.diagnostics,n.panel,t.value));return n},provide:n=>[ln.from(n,e=>e.panel),v.decorations.from(n,e=>e.diagnostics)]}),xx=Z.mark({class:"cm-lintRange cm-lintRange-active"});function yx(n,e,t){let{diagnostics:i}=n.state.field(Re),s,r=-1,o=-1;i.between(e-(t<0?1:0),e+(t>0?1:0),(a,h,{spec:c})=>{if(e>=a&&e<=h&&(a==h||(e>a||t>0)&&(e<h||t<0)))return s=c.diagnostics,r=a,o=h,false});let l=n.state.facet(mn).tooltipFilter;return s&&l&&(s=l(s,n.state)),s?{pos:r,end:o,above:n.state.doc.lineAt(r).to<o,create(){return{dom:Sx(n,s)}}}:null}function Sx(n,e){return Y("ul",{class:"cm-tooltip-lint"},e.map(t=>Fu(n,t,false)))}const kx=n=>{let e=n.state.field(Re,false);(!e||!e.panel)&&n.dispatch({effects:Qx(n.state,[Cl.of(true)])});let t=Jo(n,gn.open);return t&&t.dom.querySelector(".cm-panel-lint ul").focus(),true},Mh=n=>{let e=n.state.field(Re,false);return!e||!e.panel?false:(n.dispatch({effects:Cl.of(false)}),true)},wx=n=>{let e=n.state.field(Re,false);if(!e)return false;let t=n.state.selection.main,i=Ct(e.diagnostics,null,t.to+1);return!i&&(i=Ct(e.diagnostics,null,0),!i||i.from==t.from&&i.to==t.to)?false:(n.dispatch({selection:{anchor:i.from,head:i.to},scrollIntoView:true}),$m(n,i.from,1,{tooltip:Ku,until:s=>s.docChanged||s.newSelection.main.head<i.from||s.newSelection.main.head>i.to}),true)},Px=[{key:"Mod-Shift-m",run:kx,preventDefault:true},{key:"F8",run:wx}],mn=$.define({combine(n){return{sources:n.map(e=>e.source).filter(e=>e!=null),...st(n.map(e=>e.config),{delay:750,markerFilter:null,tooltipFilter:null,needsRefresh:null,hideOn:()=>null},{delay:Math.max,markerFilter:Xh,tooltipFilter:Xh,needsRefresh:(e,t)=>e?t?i=>e(i)||t(i):e:t,hideOn:(e,t)=>e?t?(i,s,r)=>e(i,s,r)||t(i,s,r):e:t,autoPanel:(e,t)=>e||t})}}});function Xh(n,e){return n?e?(t,i)=>e(n(t,i),i):n:e}function Hu(n){let e=[];if(n)e:for(let{name:t}of n){for(let i=0;i<t.length;i++){let s=t[i];if(/[a-zA-Z]/.test(s)&&!e.some(r=>r.toLowerCase()==s.toLowerCase())){e.push(s);continue e}}e.push("")}return e}function Fu(n,e,t){var i;let s=t?Hu(e.actions):[];return Y("li",{class:"cm-diagnostic cm-diagnostic-"+e.severity},Y("span",{class:"cm-diagnosticText"},e.renderMessage?e.renderMessage(n):e.message),(i=e.actions)===null||i===void 0?void 0:i.map((r,o)=>{let l=false,a=d=>{if(d.preventDefault(),l)return;l=true;let O=Ct(n.state.field(Re).diagnostics,e);O&&r.apply(n,O.from,O.to)},{name:h}=r,c=s[o]?h.indexOf(s[o]):-1,f=c<0?h:[h.slice(0,c),Y("u",h.slice(c,c+1)),h.slice(c+1)],u=r.markClass?" "+r.markClass:"";return Y("button",{type:"button",class:"cm-diagnosticAction"+u,onclick:a,onmousedown:a,"aria-label":` Action: ${h}${c<0?"":` (access key "${s[o]})"`}.`},f)}),e.source&&Y("div",{class:"cm-diagnosticSource"},e.source))}class vx extends rt{constructor(e){super(),this.sev=e}eq(e){return e.sev==this.sev}toDOM(){return Y("span",{class:"cm-lintPoint cm-lintPoint-"+this.sev})}}class Dh{constructor(e,t){this.diagnostic=t,this.id="item_"+Math.floor(Math.random()*4294967295).toString(16),this.dom=Fu(e,t,true),this.dom.id=this.id,this.dom.setAttribute("role","option")}}class gn{constructor(e){this.view=e,this.items=[];let t=s=>{if(!(s.ctrlKey||s.altKey||s.metaKey)){if(s.keyCode==27)Mh(this.view),this.view.focus();else if(s.keyCode==38||s.keyCode==33)this.moveSelection((this.selectedIndex-1+this.items.length)%this.items.length);else if(s.keyCode==40||s.keyCode==34)this.moveSelection((this.selectedIndex+1)%this.items.length);else if(s.keyCode==36)this.moveSelection(0);else if(s.keyCode==35)this.moveSelection(this.items.length-1);else if(s.keyCode==13)this.view.focus();else if(s.keyCode>=65&&s.keyCode<=90&&this.selectedIndex>=0){let{diagnostic:r}=this.items[this.selectedIndex],o=Hu(r.actions);for(let l=0;l<o.length;l++)if(o[l].toUpperCase().charCodeAt(0)==s.keyCode){let a=Ct(this.view.state.field(Re).diagnostics,r);a&&r.actions[l].apply(e,a.from,a.to)}}else return;s.preventDefault()}},i=s=>{for(let r=0;r<this.items.length;r++)this.items[r].dom.contains(s.target)&&this.moveSelection(r)};this.list=Y("ul",{tabIndex:0,role:"listbox","aria-label":this.view.state.phrase("Diagnostics"),onkeydown:t,onclick:i}),this.dom=Y("div",{class:"cm-panel-lint"},this.list,Y("button",{type:"button",name:"close","aria-label":this.view.state.phrase("close"),onclick:()=>Mh(this.view)},"×")),this.update()}get selectedIndex(){let e=this.view.state.field(Re).selected;if(!e)return-1;for(let t=0;t<this.items.length;t++)if(this.items[t].diagnostic==e.diagnostic)return t;return-1}update(){let{diagnostics:e,selected:t}=this.view.state.field(Re),i=0,s=false,r=null,o=new Set;for(e.between(0,this.view.state.doc.length,(l,a,{spec:h})=>{for(let c of h.diagnostics){if(o.has(c))continue;o.add(c);let f=-1,u;for(let d=i;d<this.items.length;d++)if(this.items[d].diagnostic==c){f=d;break}f<0?(u=new Dh(this.view,c),this.items.splice(i,0,u),s=true):(u=this.items[f],f>i&&(this.items.splice(i,f-i),s=true)),t&&u.diagnostic==t.diagnostic?u.dom.hasAttribute("aria-selected")||(u.dom.setAttribute("aria-selected","true"),r=u):u.dom.hasAttribute("aria-selected")&&u.dom.removeAttribute("aria-selected"),i++}});i<this.items.length&&!(this.items.length==1&&this.items[0].diagnostic.from<0);)s=true,this.items.pop();this.items.length==0&&(this.items.push(new Dh(this.view,{from:-1,to:-1,severity:"info",message:this.view.state.phrase("No diagnostics")})),s=true),r?(this.list.setAttribute("aria-activedescendant",r.id),this.view.requestMeasure({key:this,read:()=>({sel:r.dom.getBoundingClientRect(),panel:this.list.getBoundingClientRect()}),write:({sel:l,panel:a})=>{let h=a.height/this.list.offsetHeight;l.top<a.top?this.list.scrollTop-=(a.top-l.top)/h:l.bottom>a.bottom&&(this.list.scrollTop+=(l.bottom-a.bottom)/h)}})):this.selectedIndex<0&&this.list.removeAttribute("aria-activedescendant"),s&&this.sync()}sync(){let e=this.list.firstChild;function t(){let i=e;e=i.nextSibling,i.remove()}for(let i of this.items)if(i.dom.parentNode==this.list){for(;e!=i.dom;)t();e=i.dom.nextSibling}else this.list.insertBefore(i.dom,e);for(;e;)t()}moveSelection(e){if(this.selectedIndex<0)return;let t=this.view.state.field(Re),i=Ct(t.diagnostics,this.items[e].diagnostic);i&&this.view.dispatch({selection:{anchor:i.from,head:i.to},scrollIntoView:true,effects:Uu.of(i)})}static open(e){return new gn(e)}}function $x(n,e='viewBox="0 0 40 40"'){return`url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" ${e}>${encodeURIComponent(n)}</svg>')`}function Un(n){return $x(`<path d="m0 2.5 l2 -1.5 l1 0 l2 1.5 l1 0" stroke="${n}" fill="none" stroke-width=".7"/>`,'width="6" height="3"')}const Tx=v.baseTheme({".cm-diagnostic":{padding:"3px 6px 3px 8px",marginLeft:"-1px",display:"block",whiteSpace:"pre-wrap"},".cm-diagnostic-error":{borderLeft:"5px solid #d11"},".cm-diagnostic-warning":{borderLeft:"5px solid orange"},".cm-diagnostic-info":{borderLeft:"5px solid #999"},".cm-diagnostic-hint":{borderLeft:"5px solid #66d"},".cm-diagnosticAction":{font:"inherit",border:"none",padding:"2px 4px",backgroundColor:"#444",color:"white",borderRadius:"3px",marginLeft:"8px",cursor:"pointer"},".cm-diagnosticSource":{fontSize:"70%",opacity:.7},".cm-lintRange":{backgroundPosition:"left bottom",backgroundRepeat:"repeat-x",paddingBottom:"0.7px"},".cm-lintRange-error":{backgroundImage:Un("#f11")},".cm-lintRange-warning":{backgroundImage:Un("orange")},".cm-lintRange-info":{backgroundImage:Un("#999")},".cm-lintRange-hint":{backgroundImage:Un("#66d")},".cm-lintRange-active":{backgroundColor:"#ffdd9980"},".cm-tooltip-lint":{padding:0,margin:0},".cm-lintPoint":{position:"relative","&:after":{content:'""',position:"absolute",bottom:0,left:"-2px",borderLeft:"3px solid transparent",borderRight:"3px solid transparent",borderBottom:"4px solid #d11"}},".cm-lintPoint-warning":{"&:after":{borderBottomColor:"orange"}},".cm-lintPoint-info":{"&:after":{borderBottomColor:"#999"}},".cm-lintPoint-hint":{"&:after":{borderBottomColor:"#66d"}},".cm-panel.cm-panel-lint":{position:"relative","& ul":{maxHeight:"100px",overflowY:"auto","& [aria-selected]":{backgroundColor:"#ddd","& u":{textDecoration:"underline"}},"&:focus [aria-selected]":{background_fallback:"#bdf",backgroundColor:"Highlight",color_fallback:"white",color:"HighlightText"},"& u":{textDecoration:"none"},padding:0,margin:0},"& [name=close]":{position:"absolute",top:"0",right:"2px",background:"inherit",border:"none",font:"inherit",padding:0,margin:0}},"&dark .cm-lintRange-active":{backgroundColor:"#86714a80"},"&dark .cm-panel.cm-panel-lint ul":{"& [aria-selected]":{backgroundColor:"#2e343e"}}});function Cx(n){return n=="error"?4:n=="warning"?3:n=="info"?2:1}function Zx(n){let e="hint",t=1;for(let i of n){let s=Cx(i.severity);s>t&&(t=s,e=i.severity)}return e}const Ku=vm(yx,{hideOn:bx}),Rx=[Re,v.decorations.compute([Re],n=>{let{selected:e,panel:t}=n.field(Re);return!e||!t||e.from==e.to?Z.none:Z.set([xx.range(e.from,e.to)])}),Ku,Tx],Ax=[zm(),Bm(),im(),n0(),Zg(),Ip(),Hp(),q.allowMultipleSelections.of(true),gg(),Cf(Xg,{fallback:true}),Eg(),vb(),Wb(),pm(),bm(),hm(),DQ(),Es.of([...Zb,...n1,...nx,...u0,...vg,...vu,...Px])],Mx=Lh({__name:"editor",props:{modelValue:{},language:{},disabled:{type:Boolean},scrollPastEnd:{type:Boolean},autoHeight:{type:Boolean}},emits:["update:modelValue"],setup(n,{expose:e,emit:t}){const i=n,s=t;console.log("k-codemirror-editor props %o",i);const r=Wh(),o=new jt,l=new jt,a=new jt;let h=i.modelValue??"",c=null;function f(g=i.language){return g==="json"?eQ():g==="yaml"?ZQ():Gb()}function u(g=i.disabled){return g?[v.editable.of(false),q.readOnly.of(true)]:[]}function d(g=i.scrollPastEnd){return g?[am()]:[]}function O(g){g.docChanged&&(h=g.state.doc.toString(),s("update:modelValue",h))}Xi(r,g=>{c==null||c.destroy(),c=null,g&&(c=new v({doc:h,extensions:[Ax,o.of(f()),v.lineWrapping,a.of(d()),v.updateListener.of(O),gx,l.of(u())],parent:g}))}),Xi(()=>i.language,g=>{c==null||c.dispatch({effects:o.reconfigure(f(g))})}),Xi(()=>i.disabled,g=>{c==null||c.dispatch({effects:l.reconfigure(u(g))})}),Xi(()=>i.scrollPastEnd,g=>{c==null||c.dispatch({effects:a.reconfigure(d(g))})}),Xi(()=>i.modelValue,g=>{const b=g??"";b!==h&&(c&&c.dispatch({changes:{from:0,to:c.state.doc.length,insert:b}}),h=b)}),td(()=>c==null?void 0:c.destroy());function p(){c&&(HQ(c.state)?$l(c):vl(c))}return e({selectAll:()=>c&&tu(c),undo:()=>c&&fl(c),redo:()=>c&&ks(c),indentLess:()=>c&&uu(c),indentMore:()=>c&&fu(c),indentSelection:()=>c&&cu(c),toggleFindReplace:p}),(g,b)=>(mt(),Zt("div",{class:id(["codemirror-editor",{"auto-height":i.autoHeight}]),ref_key:"parent",ref:r},null,2))}}),_x=n=>{console.log("hi from k-p-codemirror"),n.app.component("k-codemirror-editor",Mx),n.schema({type:"string",role:"codemirror",component:Md,validate:e=>typeof e=="string"})};export{_x as default};
|
|
24
|
+
`:i=="r"?"\r":i=="t"?" ":"\\")}eq(e){return this.search==e.search&&this.replace==e.replace&&this.caseSensitive==e.caseSensitive&&this.regexp==e.regexp&&this.wholeWord==e.wholeWord&&this.test==e.test}create(){return this.regexp?new UQ(this):new jQ(this)}getCursor(e,t=0,i){let s=e.doc?e:q.create({doc:e});return i==null&&(i=s.doc.length),this.regexp?oi(this,s,t,i):ri(this,s,t,i)}}class Iu{constructor(e){this.spec=e}}function VQ(n,e,t){return(i,s,r,o)=>{if(t&&!t(i,s,r,o))return false;let l=i>=o&&s<=o+r.length?r.slice(i-o,s-o):e.doc.sliceString(i,s);return n(l,e,i,s)}}function ri(n,e,t,i){let s;return n.wholeWord&&(s=IQ(e.doc,e.charCategorizer(e.selection.main.head))),n.test&&(s=VQ(n.test,e,s)),new $i(e.doc,n.unquoted,t,i,n.caseSensitive?void 0:r=>r.toLowerCase(),s)}function IQ(n,e){return(t,i,s,r)=>((r>t||r+s.length<i)&&(r=Math.max(0,t-2),s=n.sliceString(r,Math.min(n.length,i+2))),(e(Rs(s,t-r))!=N.Word||e(As(s,t-r))!=N.Word)&&(e(As(s,i-r))!=N.Word||e(Rs(s,i-r))!=N.Word))}class jQ extends Iu{constructor(e){super(e)}nextMatch(e,t,i){let s=ri(this.spec,e,i,e.doc.length).nextOverlapping();if(s.done){let r=Math.min(e.doc.length,t+this.spec.unquoted.length);s=ri(this.spec,e,0,r).nextOverlapping()}return s.done||s.value.from==t&&s.value.to==i?null:s.value}prevMatchInRange(e,t,i){for(let s=i;;){let r=Math.max(t,s-1e4-this.spec.unquoted.length),o=ri(this.spec,e,r,s),l=null;for(;!o.nextOverlapping().done;)l=o.value;if(l)return l;if(r==t)return null;s-=1e4}}prevMatch(e,t,i){let s=this.prevMatchInRange(e,0,t);return s||(s=this.prevMatchInRange(e,Math.max(0,i-this.spec.unquoted.length),e.doc.length)),s&&(s.from!=t||s.to!=i)?s:null}getReplacement(e){return this.spec.unquote(this.spec.replace)}matchAll(e,t){let i=ri(this.spec,e,0,e.doc.length),s=[];for(;!i.next().done;){if(s.length>=t)return null;s.push(i.value)}return s}highlight(e,t,i,s){let r=ri(this.spec,e,Math.max(0,t-this.spec.unquoted.length),Math.min(i+this.spec.unquoted.length,e.doc.length));for(;!r.next().done;)s(r.value.from,r.value.to)}}function GQ(n,e,t){return(i,s,r)=>(!t||t(i,s,r))&&n(r[0],e,i,s)}function oi(n,e,t,i){let s;return n.wholeWord&&(s=NQ(e.charCategorizer(e.selection.main.head))),n.test&&(s=GQ(n.test,e,s)),new Yu(e.doc,n.search,{ignoreCase:!n.caseSensitive,test:s},t,i)}function Rs(n,e){return n.slice(oe(n,e,false),e)}function As(n,e){return n.slice(e,oe(n,e))}function NQ(n){return(e,t,i)=>!i[0].length||(n(Rs(i.input,i.index))!=N.Word||n(As(i.input,i.index))!=N.Word)&&(n(As(i.input,i.index+i[0].length))!=N.Word||n(Rs(i.input,i.index+i[0].length))!=N.Word)}class UQ extends Iu{nextMatch(e,t,i){let s=oi(this.spec,e,i,e.doc.length).next();return s.done&&(s=oi(this.spec,e,0,t).next()),s.done?null:s.value}prevMatchInRange(e,t,i){for(let s=1;;s++){let r=Math.max(t,i-s*1e4),o=oi(this.spec,e,r,i),l=null;for(;!o.next().done;)l=o.value;if(l&&(r==t||l.from>r+10))return l;if(r==t)return null}}prevMatch(e,t,i){return this.prevMatchInRange(e,0,t)||this.prevMatchInRange(e,i,e.doc.length)}getReplacement(e){return this.spec.unquote(this.spec.replace).replace(/\$([$&]|\d+)/g,(t,i)=>{if(i=="&")return e.match[0];if(i=="$")return"$";for(let s=i.length;s>0;s--){let r=+i.slice(0,s);if(r>0&&r<e.match.length)return e.match[r]+i.slice(s)}return t})}matchAll(e,t){let i=oi(this.spec,e,0,e.doc.length),s=[];for(;!i.next().done;){if(s.length>=t)return null;s.push(i.value)}return s}highlight(e,t,i,s){let r=oi(this.spec,e,Math.max(0,t-250),Math.min(i+250,e.doc.length));for(;!r.next().done;)s(r.value.from,r.value.to)}}const pn=A.define(),wl=A.define(),ft=ue.define({create(n){return new Ar(Xo(n).create(),null)},update(n,e){for(let t of e.effects)t.is(pn)?n=new Ar(t.value.create(),n.panel):t.is(wl)&&(n=new Ar(n.query,t.value?Pl:null));return n},provide:n=>ln.from(n,e=>e.panel)});function HQ(n){var e;return((e=n.field(ft,false))===null||e===void 0?void 0:e.panel)!=null}class Ar{constructor(e,t){this.query=e,this.panel=t}}const FQ=Z.mark({class:"cm-searchMatch"}),KQ=Z.mark({class:"cm-searchMatch cm-searchMatch-selected"}),JQ=J.fromClass(class{constructor(n){this.view=n,this.decorations=this.highlight(n.state.field(ft))}update(n){let e=n.state.field(ft);(e!=n.startState.field(ft)||n.docChanged||n.selectionSet||n.viewportChanged)&&(this.decorations=this.highlight(e))}highlight({query:n,panel:e}){if(!e||!n.spec.valid)return Z.none;let{view:t}=this,i=new ut;for(let s=0,r=t.visibleRanges,o=r.length;s<o;s++){let{from:l,to:a}=r[s];for(;s<o-1&&a>r[s+1].from-2*250;)a=r[++s].to;n.highlight(t.state,l,a,(h,c)=>{let f=t.state.selection.ranges.some(u=>u.from==h&&u.to==c);i.add(h,c,f?KQ:FQ)})}return i.finish()}},{decorations:n=>n.decorations});function Pn(n){return e=>{let t=e.state.field(ft,false);return t&&t.query.spec.valid?n(e,t):vl(e)}}const Ms=Pn((n,{query:e})=>{let{to:t}=n.state.selection.main,i=e.nextMatch(n.state,t,t);if(!i)return false;let s=Q.single(i.from,i.to),r=n.state.facet(Ri);return n.dispatch({selection:s,effects:[Tl(n,i),r.scrollToMatch(s.main,n)],userEvent:"select.search"}),Gu(n),true}),Xs=Pn((n,{query:e})=>{let{state:t}=n,{from:i}=t.selection.main,s=e.prevMatch(t,i,i);if(!s)return false;let r=Q.single(s.from,s.to),o=n.state.facet(Ri);return n.dispatch({selection:r,effects:[Tl(n,s),o.scrollToMatch(r.main,n)],userEvent:"select.search"}),Gu(n),true}),ex=Pn((n,{query:e})=>{let t=e.matchAll(n.state,1e3);return!t||!t.length?false:(n.dispatch({selection:Q.create(t.map(i=>Q.range(i.from,i.to))),userEvent:"select.search.matches"}),true)}),tx=({state:n,dispatch:e})=>{let t=n.selection;if(t.ranges.length>1||t.main.empty)return false;let{from:i,to:s}=t.main,r=[],o=0;for(let l=new $i(n.doc,n.sliceDoc(i,s));!l.next().done;){if(r.length>1e3)return false;l.value.from==i&&(o=r.length),r.push(Q.range(l.value.from,l.value.to))}return e(n.update({selection:Q.create(r,o),userEvent:"select.search.matches"})),true},vh=Pn((n,{query:e})=>{let{state:t}=n,{from:i,to:s}=t.selection.main;if(t.readOnly)return false;let r=e.nextMatch(t,i,i);if(!r)return false;let o=r,l=[],a,h,c=[];o.precise?o.from==i&&o.to==s&&(h=t.toText(e.getReplacement(o)),l.push({from:o.from,to:o.to,insert:h}),c.push(v.announce.of(t.phrase("replaced match on line $",t.doc.lineAt(i).number)+"."))):o=e.nextMatch(t,o.from,o.to);let f=n.state.changes(l);return o&&(a=Q.single(o.from,o.to).map(f),c.push(Tl(n,o)),c.push(t.facet(Ri).scrollToMatch(a.main,n))),n.dispatch({changes:f,selection:a,effects:c,userEvent:"input.replace"}),true}),ix=Pn((n,{query:e})=>{if(n.state.readOnly)return false;let t=[];for(let s of e.matchAll(n.state,1e9)){let{from:r,to:o,precise:l}=s;l&&t.push({from:r,to:o,insert:e.getReplacement(s)})}if(!t.length)return false;let i=n.state.phrase("replaced $ matches",t.length)+".";return n.dispatch({changes:t,effects:v.announce.of(i),userEvent:"input.replace.all"}),true});function Pl(n){return n.state.facet(Ri).createPanel(n)}function Xo(n,e){var t,i,s,r,o;let l=n.selection.main,a=l.empty||l.to>l.from+100?"":n.sliceDoc(l.from,l.to);if(e&&!a)return e;let h=n.facet(Ri);return new Vu({search:((t=e==null?void 0:e.literal)!==null&&t!==void 0?t:h.literal)?a:a.replace(/\n/g,"\\n"),caseSensitive:(i=e==null?void 0:e.caseSensitive)!==null&&i!==void 0?i:h.caseSensitive,literal:(s=e==null?void 0:e.literal)!==null&&s!==void 0?s:h.literal,regexp:(r=e==null?void 0:e.regexp)!==null&&r!==void 0?r:h.regexp,wholeWord:(o=e==null?void 0:e.wholeWord)!==null&&o!==void 0?o:h.wholeWord})}function ju(n){let e=Jo(n,Pl);return e&&e.dom.querySelector("[main-field]")}function Gu(n){let e=ju(n);e&&e==n.root.activeElement&&e.select()}const vl=n=>{let e=n.state.field(ft,false);if(e&&e.panel){let t=ju(n);if(t&&t!=n.root.activeElement){let i=Xo(n.state,e.query.spec);i.valid&&n.dispatch({effects:pn.of(i)}),t.focus(),t.select()}}else n.dispatch({effects:[wl.of(true),e?pn.of(Xo(n.state,e.query.spec)):A.appendConfig.of(ox)]});return true},$l=n=>{let e=n.state.field(ft,false);if(!e||!e.panel)return false;let t=Jo(n,Pl);return t&&t.dom.contains(n.root.activeElement)&&n.focus(),n.dispatch({effects:wl.of(false)}),true},nx=[{key:"Mod-f",run:vl,scope:"editor search-panel"},{key:"F3",run:Ms,shift:Xs,scope:"editor search-panel",preventDefault:true},{key:"Mod-g",run:Ms,shift:Xs,scope:"editor search-panel",preventDefault:true},{key:"Escape",run:$l,scope:"editor search-panel"},{key:"Mod-Shift-l",run:tx},{key:"Mod-Alt-g",run:AQ},{key:"Mod-d",run:BQ,preventDefault:true}];class sx{constructor(e){this.view=e;let t=this.query=e.state.field(ft).query.spec;this.commit=this.commit.bind(this),this.searchField=Y("input",{value:t.search,placeholder:Ce(e,"Find"),"aria-label":Ce(e,"Find"),class:"cm-textfield",name:"search",form:"","main-field":"true",onchange:this.commit,onkeyup:this.commit}),this.replaceField=Y("input",{value:t.replace,placeholder:Ce(e,"Replace"),"aria-label":Ce(e,"Replace"),class:"cm-textfield",name:"replace",form:"",onchange:this.commit,onkeyup:this.commit}),this.caseField=Y("input",{type:"checkbox",name:"case",form:"",checked:t.caseSensitive,onchange:this.commit}),this.reField=Y("input",{type:"checkbox",name:"re",form:"",checked:t.regexp,onchange:this.commit}),this.wordField=Y("input",{type:"checkbox",name:"word",form:"",checked:t.wholeWord,onchange:this.commit});function i(s,r,o){return Y("button",{class:"cm-button",name:s,onclick:r,type:"button"},o)}this.dom=Y("div",{onkeydown:s=>this.keydown(s),class:"cm-search"},[this.searchField,i("next",()=>Ms(e),[Ce(e,"next")]),i("prev",()=>Xs(e),[Ce(e,"previous")]),i("select",()=>ex(e),[Ce(e,"all")]),Y("label",null,[this.caseField,Ce(e,"match case")]),Y("label",null,[this.reField,Ce(e,"regexp")]),Y("label",null,[this.wordField,Ce(e,"by word")]),...e.state.readOnly?[]:[Y("br"),this.replaceField,i("replace",()=>vh(e),[Ce(e,"replace")]),i("replaceAll",()=>ix(e),[Ce(e,"replace all")])],Y("button",{name:"close",onclick:()=>$l(e),"aria-label":Ce(e,"close"),type:"button"},["×"])])}commit(){let e=new Vu({search:this.searchField.value,caseSensitive:this.caseField.checked,regexp:this.reField.checked,wholeWord:this.wordField.checked,replace:this.replaceField.value});e.eq(this.query)||(this.query=e,this.view.dispatch({effects:pn.of(e)}))}keydown(e){qp(this.view,e,"search-panel")?e.preventDefault():e.keyCode==13&&e.target==this.searchField?(e.preventDefault(),(e.shiftKey?Xs:Ms)(this.view)):e.keyCode==13&&e.target==this.replaceField&&(e.preventDefault(),vh(this.view))}update(e){for(let t of e.transactions)for(let i of t.effects)i.is(pn)&&!i.value.eq(this.query)&&this.setQuery(i.value)}setQuery(e){this.query=e,this.searchField.value=e.search,this.replaceField.value=e.replace,this.caseField.checked=e.caseSensitive,this.reField.checked=e.regexp,this.wordField.checked=e.wholeWord}mount(){this.searchField.select()}get pos(){return 80}get top(){return this.view.state.facet(Ri).top}}function Ce(n,e){return n.state.phrase(e)}const Gn=30,Nn=/[\s\.,:;?!]/;function Tl(n,{from:e,to:t}){let i=n.state.doc.lineAt(e),s=n.state.doc.lineAt(t).to,r=Math.max(i.from,e-Gn),o=Math.min(s,t+Gn),l=n.state.sliceDoc(r,o);if(r!=i.from){for(let a=0;a<Gn;a++)if(!Nn.test(l[a+1])&&Nn.test(l[a])){l=l.slice(a);break}}if(o!=s){for(let a=l.length-1;a>l.length-Gn;a--)if(!Nn.test(l[a-1])&&Nn.test(l[a])){l=l.slice(0,a);break}}return v.announce.of(`${n.state.phrase("current match")}. ${l} ${n.state.phrase("on line")} ${i.number}.`)}const rx=v.baseTheme({".cm-panel.cm-search":{padding:"2px 6px 4px",position:"relative","& [name=close]":{position:"absolute",top:"0",right:"4px",backgroundColor:"inherit",border:"none",font:"inherit",padding:0,margin:0},"& input, & button, & label":{margin:".2em .6em .2em 0"},"& input[type=checkbox]":{marginRight:".2em"},"& label":{fontSize:"80%",whiteSpace:"pre"}},"&light .cm-searchMatch":{backgroundColor:"#ffff0054"},"&dark .cm-searchMatch":{backgroundColor:"#00ffff8a"},"&light .cm-searchMatch-selected":{backgroundColor:"#ff6a0054"},"&dark .cm-searchMatch-selected":{backgroundColor:"#ff00ff8a"}}),ox=[ft,Mt.low(JQ),rx],lx="#e5c07b",$h="#e06c75",ax="#56b6c2",hx="#ffffff",rs="#abb2bf",Do="#7d8799",cx="#61afef",fx="#98c379",Th="#d19a66",ux="#c678dd",dx="#21252b",Ch="#2c313a",Zh="#282c34",Mr="#353a42",Ox="#3E4451",Rh="#528bff",px=v.theme({"&":{color:rs,backgroundColor:Zh},".cm-content":{caretColor:Rh},".cm-cursor, .cm-dropCursor":{borderLeftColor:Rh},"&.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground, .cm-selectionBackground, .cm-content ::selection":{backgroundColor:Ox},".cm-panels":{backgroundColor:dx,color:rs},".cm-panels.cm-panels-top":{borderBottom:"2px solid black"},".cm-panels.cm-panels-bottom":{borderTop:"2px solid black"},".cm-searchMatch":{backgroundColor:"#72a1ff59",outline:"1px solid #457dff"},".cm-searchMatch.cm-searchMatch-selected":{backgroundColor:"#6199ff2f"},".cm-activeLine":{backgroundColor:"#6699ff0b"},".cm-selectionMatch":{backgroundColor:"#aafe661a"},"&.cm-focused .cm-matchingBracket, &.cm-focused .cm-nonmatchingBracket":{backgroundColor:"#bad0f847"},".cm-gutters":{backgroundColor:Zh,color:Do,border:"none"},".cm-activeLineGutter":{backgroundColor:Ch},".cm-foldPlaceholder":{backgroundColor:"transparent",border:"none",color:"#ddd"},".cm-tooltip":{border:"none",backgroundColor:Mr},".cm-tooltip .cm-tooltip-arrow:before":{borderTopColor:"transparent",borderBottomColor:"transparent"},".cm-tooltip .cm-tooltip-arrow:after":{borderTopColor:Mr,borderBottomColor:Mr},".cm-tooltip-autocomplete":{"& > ul > li[aria-selected]":{backgroundColor:Ch,color:rs}}},{dark:true}),mx=Sn.define([{tag:m.keyword,color:ux},{tag:[m.name,m.deleted,m.character,m.propertyName,m.macroName],color:$h},{tag:[m.function(m.variableName),m.labelName],color:cx},{tag:[m.color,m.constant(m.name),m.standard(m.name)],color:Th},{tag:[m.definition(m.name),m.separator],color:rs},{tag:[m.typeName,m.className,m.number,m.changed,m.annotation,m.modifier,m.self,m.namespace],color:lx},{tag:[m.operator,m.operatorKeyword,m.url,m.escape,m.regexp,m.link,m.special(m.string)],color:ax},{tag:[m.meta,m.comment],color:Do},{tag:m.strong,fontWeight:"bold"},{tag:m.emphasis,fontStyle:"italic"},{tag:m.strikethrough,textDecoration:"line-through"},{tag:m.link,color:Do,textDecoration:"underline"},{tag:m.heading,fontWeight:"bold",color:$h},{tag:[m.atom,m.bool,m.special(m.variableName)],color:Th},{tag:[m.processingInstruction,m.string,m.inserted],color:fx},{tag:m.invalid,color:hx}]),gx=[px,Cf(mx)];class Ah{constructor(e,t,i){this.from=e,this.to=t,this.diagnostic=i}}class Et{constructor(e,t,i){this.diagnostics=e,this.panel=t,this.selected=i}static init(e,t,i){let s=i.facet(mn).markerFilter;s&&(e=s(e,i));let r=e.slice().sort((d,O)=>d.from-O.from||d.to-O.to),o=new ut,l=[],a=0,h=i.doc.iter(),c=0,f=i.doc.length;for(let d=0;;){let O=d==r.length?null:r[d];if(!O&&!l.length)break;let p,g;if(l.length)p=a,g=l.reduce((y,C)=>Math.min(y,C.to),O&&O.from>p?O.from:1e8);else{if(p=O.from,p>f)break;g=O.to,l.push(O),d++}for(;d<r.length;){let y=r[d];if(y.from==p&&(y.to>y.from||y.to==p))l.push(y),d++,g=Math.min(y.to,g);else{g=Math.min(y.from,g);break}}g=Math.min(g,f);let b=false;if(l.some(y=>y.from==p&&(y.to==g||g==f))&&(b=p==g,!b&&g-p<10)){let y=p-(c+h.value.length);y>0&&(h.next(y),c=p);for(let C=p;;){if(C>=g){b=true;break}if(!h.lineBreak&&c+h.value.length>C)break;C=c+h.value.length,c+=h.value.length,h.next()}}let x=Zx(l);if(b)o.add(p,p,Z.widget({widget:new vx(x),diagnostics:l.slice()}));else{let y=l.reduce((C,S)=>S.markClass?C+" "+S.markClass:C,"");o.add(p,g,Z.mark({class:"cm-lintRange cm-lintRange-"+x+y,diagnostics:l.slice(),inclusiveEnd:l.some(C=>C.to>g)}))}if(a=g,a==f)break;for(let y=0;y<l.length;y++)l[y].to<=a&&l.splice(y--,1)}let u=o.finish();return new Et(u,t,Ct(u))}}function Ct(n,e=null,t=0){let i=null;return n.between(t,1e9,(s,r,{spec:o})=>{if(!(e&&o.diagnostics.indexOf(e)<0))if(!i)i=new Ah(s,r,e||o.diagnostics[0]);else{if(o.diagnostics.indexOf(i.diagnostic)<0)return false;i=new Ah(i.from,r,i.diagnostic)}}),i}function bx(n,e){let t=e.pos,i=e.end||t,s=n.state.facet(mn).hideOn(n,t,i);if(s!=null)return s;let r=n.startState.doc.lineAt(e.pos);return!!(n.effects.some(o=>o.is(Nu))||n.changes.touchesRange(r.from,Math.max(r.to,i)))}function Qx(n,e){return n.field(Re,false)?e:e.concat(A.appendConfig.of(Rx))}const Nu=A.define(),Cl=A.define(),Uu=A.define(),Re=ue.define({create(){return new Et(Z.none,null,null)},update(n,e){if(e.docChanged&&n.diagnostics.size){let t=n.diagnostics.map(e.changes),i=null,s=n.panel;if(n.selected){let r=e.changes.mapPos(n.selected.from,1);i=Ct(t,n.selected.diagnostic,r)||Ct(t,null,r)}!t.size&&s&&e.state.facet(mn).autoPanel&&(s=null),n=new Et(t,s,i)}for(let t of e.effects)if(t.is(Nu)){let i=e.state.facet(mn).autoPanel?t.value.length?gn.open:null:n.panel;n=Et.init(t.value,i,e.state)}else t.is(Cl)?n=new Et(n.diagnostics,t.value?gn.open:null,n.selected):t.is(Uu)&&(n=new Et(n.diagnostics,n.panel,t.value));return n},provide:n=>[ln.from(n,e=>e.panel),v.decorations.from(n,e=>e.diagnostics)]}),xx=Z.mark({class:"cm-lintRange cm-lintRange-active"});function yx(n,e,t){let{diagnostics:i}=n.state.field(Re),s,r=-1,o=-1;i.between(e-(t<0?1:0),e+(t>0?1:0),(a,h,{spec:c})=>{if(e>=a&&e<=h&&(a==h||(e>a||t>0)&&(e<h||t<0)))return s=c.diagnostics,r=a,o=h,false});let l=n.state.facet(mn).tooltipFilter;return s&&l&&(s=l(s,n.state)),s?{pos:r,end:o,above:n.state.doc.lineAt(r).to<o,create(){return{dom:Sx(n,s)}}}:null}function Sx(n,e){return Y("ul",{class:"cm-tooltip-lint"},e.map(t=>Fu(n,t,false)))}const kx=n=>{let e=n.state.field(Re,false);(!e||!e.panel)&&n.dispatch({effects:Qx(n.state,[Cl.of(true)])});let t=Jo(n,gn.open);return t&&t.dom.querySelector(".cm-panel-lint ul").focus(),true},Mh=n=>{let e=n.state.field(Re,false);return!e||!e.panel?false:(n.dispatch({effects:Cl.of(false)}),true)},wx=n=>{let e=n.state.field(Re,false);if(!e)return false;let t=n.state.selection.main,i=Ct(e.diagnostics,null,t.to+1);return!i&&(i=Ct(e.diagnostics,null,0),!i||i.from==t.from&&i.to==t.to)?false:(n.dispatch({selection:{anchor:i.from,head:i.to},scrollIntoView:true}),$m(n,i.from,1,{tooltip:Ku,until:s=>s.docChanged||s.newSelection.main.head<i.from||s.newSelection.main.head>i.to}),true)},Px=[{key:"Mod-Shift-m",run:kx,preventDefault:true},{key:"F8",run:wx}],mn=$.define({combine(n){return{sources:n.map(e=>e.source).filter(e=>e!=null),...st(n.map(e=>e.config),{delay:750,markerFilter:null,tooltipFilter:null,needsRefresh:null,hideOn:()=>null},{delay:Math.max,markerFilter:Xh,tooltipFilter:Xh,needsRefresh:(e,t)=>e?t?i=>e(i)||t(i):e:t,hideOn:(e,t)=>e?t?(i,s,r)=>e(i,s,r)||t(i,s,r):e:t,autoPanel:(e,t)=>e||t})}}});function Xh(n,e){return n?e?(t,i)=>e(n(t,i),i):n:e}function Hu(n){let e=[];if(n)e:for(let{name:t}of n){for(let i=0;i<t.length;i++){let s=t[i];if(/[a-zA-Z]/.test(s)&&!e.some(r=>r.toLowerCase()==s.toLowerCase())){e.push(s);continue e}}e.push("")}return e}function Fu(n,e,t){var i;let s=t?Hu(e.actions):[];return Y("li",{class:"cm-diagnostic cm-diagnostic-"+e.severity},Y("span",{class:"cm-diagnosticText"},e.renderMessage?e.renderMessage(n):e.message),(i=e.actions)===null||i===void 0?void 0:i.map((r,o)=>{let l=false,a=d=>{if(d.preventDefault(),l)return;l=true;let O=Ct(n.state.field(Re).diagnostics,e);O&&r.apply(n,O.from,O.to)},{name:h}=r,c=s[o]?h.indexOf(s[o]):-1,f=c<0?h:[h.slice(0,c),Y("u",h.slice(c,c+1)),h.slice(c+1)],u=r.markClass?" "+r.markClass:"";return Y("button",{type:"button",class:"cm-diagnosticAction"+u,onclick:a,onmousedown:a,"aria-label":` Action: ${h}${c<0?"":` (access key "${s[o]})"`}.`},f)}),e.source&&Y("div",{class:"cm-diagnosticSource"},e.source))}class vx extends rt{constructor(e){super(),this.sev=e}eq(e){return e.sev==this.sev}toDOM(){return Y("span",{class:"cm-lintPoint cm-lintPoint-"+this.sev})}}class Dh{constructor(e,t){this.diagnostic=t,this.id="item_"+Math.floor(Math.random()*4294967295).toString(16),this.dom=Fu(e,t,true),this.dom.id=this.id,this.dom.setAttribute("role","option")}}class gn{constructor(e){this.view=e,this.items=[];let t=s=>{if(!(s.ctrlKey||s.altKey||s.metaKey)){if(s.keyCode==27)Mh(this.view),this.view.focus();else if(s.keyCode==38||s.keyCode==33)this.moveSelection((this.selectedIndex-1+this.items.length)%this.items.length);else if(s.keyCode==40||s.keyCode==34)this.moveSelection((this.selectedIndex+1)%this.items.length);else if(s.keyCode==36)this.moveSelection(0);else if(s.keyCode==35)this.moveSelection(this.items.length-1);else if(s.keyCode==13)this.view.focus();else if(s.keyCode>=65&&s.keyCode<=90&&this.selectedIndex>=0){let{diagnostic:r}=this.items[this.selectedIndex],o=Hu(r.actions);for(let l=0;l<o.length;l++)if(o[l].toUpperCase().charCodeAt(0)==s.keyCode){let a=Ct(this.view.state.field(Re).diagnostics,r);a&&r.actions[l].apply(e,a.from,a.to)}}else return;s.preventDefault()}},i=s=>{for(let r=0;r<this.items.length;r++)this.items[r].dom.contains(s.target)&&this.moveSelection(r)};this.list=Y("ul",{tabIndex:0,role:"listbox","aria-label":this.view.state.phrase("Diagnostics"),onkeydown:t,onclick:i}),this.dom=Y("div",{class:"cm-panel-lint"},this.list,Y("button",{type:"button",name:"close","aria-label":this.view.state.phrase("close"),onclick:()=>Mh(this.view)},"×")),this.update()}get selectedIndex(){let e=this.view.state.field(Re).selected;if(!e)return-1;for(let t=0;t<this.items.length;t++)if(this.items[t].diagnostic==e.diagnostic)return t;return-1}update(){let{diagnostics:e,selected:t}=this.view.state.field(Re),i=0,s=false,r=null,o=new Set;for(e.between(0,this.view.state.doc.length,(l,a,{spec:h})=>{for(let c of h.diagnostics){if(o.has(c))continue;o.add(c);let f=-1,u;for(let d=i;d<this.items.length;d++)if(this.items[d].diagnostic==c){f=d;break}f<0?(u=new Dh(this.view,c),this.items.splice(i,0,u),s=true):(u=this.items[f],f>i&&(this.items.splice(i,f-i),s=true)),t&&u.diagnostic==t.diagnostic?u.dom.hasAttribute("aria-selected")||(u.dom.setAttribute("aria-selected","true"),r=u):u.dom.hasAttribute("aria-selected")&&u.dom.removeAttribute("aria-selected"),i++}});i<this.items.length&&!(this.items.length==1&&this.items[0].diagnostic.from<0);)s=true,this.items.pop();this.items.length==0&&(this.items.push(new Dh(this.view,{from:-1,to:-1,severity:"info",message:this.view.state.phrase("No diagnostics")})),s=true),r?(this.list.setAttribute("aria-activedescendant",r.id),this.view.requestMeasure({key:this,read:()=>({sel:r.dom.getBoundingClientRect(),panel:this.list.getBoundingClientRect()}),write:({sel:l,panel:a})=>{let h=a.height/this.list.offsetHeight;l.top<a.top?this.list.scrollTop-=(a.top-l.top)/h:l.bottom>a.bottom&&(this.list.scrollTop+=(l.bottom-a.bottom)/h)}})):this.selectedIndex<0&&this.list.removeAttribute("aria-activedescendant"),s&&this.sync()}sync(){let e=this.list.firstChild;function t(){let i=e;e=i.nextSibling,i.remove()}for(let i of this.items)if(i.dom.parentNode==this.list){for(;e!=i.dom;)t();e=i.dom.nextSibling}else this.list.insertBefore(i.dom,e);for(;e;)t()}moveSelection(e){if(this.selectedIndex<0)return;let t=this.view.state.field(Re),i=Ct(t.diagnostics,this.items[e].diagnostic);i&&this.view.dispatch({selection:{anchor:i.from,head:i.to},scrollIntoView:true,effects:Uu.of(i)})}static open(e){return new gn(e)}}function $x(n,e='viewBox="0 0 40 40"'){return`url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" ${e}>${encodeURIComponent(n)}</svg>')`}function Un(n){return $x(`<path d="m0 2.5 l2 -1.5 l1 0 l2 1.5 l1 0" stroke="${n}" fill="none" stroke-width=".7"/>`,'width="6" height="3"')}const Tx=v.baseTheme({".cm-diagnostic":{padding:"3px 6px 3px 8px",marginLeft:"-1px",display:"block",whiteSpace:"pre-wrap"},".cm-diagnostic-error":{borderLeft:"5px solid #d11"},".cm-diagnostic-warning":{borderLeft:"5px solid orange"},".cm-diagnostic-info":{borderLeft:"5px solid #999"},".cm-diagnostic-hint":{borderLeft:"5px solid #66d"},".cm-diagnosticAction":{font:"inherit",border:"none",padding:"2px 4px",backgroundColor:"#444",color:"white",borderRadius:"3px",marginLeft:"8px",cursor:"pointer"},".cm-diagnosticSource":{fontSize:"70%",opacity:.7},".cm-lintRange":{backgroundPosition:"left bottom",backgroundRepeat:"repeat-x",paddingBottom:"0.7px"},".cm-lintRange-error":{backgroundImage:Un("#f11")},".cm-lintRange-warning":{backgroundImage:Un("orange")},".cm-lintRange-info":{backgroundImage:Un("#999")},".cm-lintRange-hint":{backgroundImage:Un("#66d")},".cm-lintRange-active":{backgroundColor:"#ffdd9980"},".cm-tooltip-lint":{padding:0,margin:0},".cm-lintPoint":{position:"relative","&:after":{content:'""',position:"absolute",bottom:0,left:"-2px",borderLeft:"3px solid transparent",borderRight:"3px solid transparent",borderBottom:"4px solid #d11"}},".cm-lintPoint-warning":{"&:after":{borderBottomColor:"orange"}},".cm-lintPoint-info":{"&:after":{borderBottomColor:"#999"}},".cm-lintPoint-hint":{"&:after":{borderBottomColor:"#66d"}},".cm-panel.cm-panel-lint":{position:"relative","& ul":{maxHeight:"100px",overflowY:"auto","& [aria-selected]":{backgroundColor:"#ddd","& u":{textDecoration:"underline"}},"&:focus [aria-selected]":{background_fallback:"#bdf",backgroundColor:"Highlight",color_fallback:"white",color:"HighlightText"},"& u":{textDecoration:"none"},padding:0,margin:0},"& [name=close]":{position:"absolute",top:"0",right:"2px",background:"inherit",border:"none",font:"inherit",padding:0,margin:0}},"&dark .cm-lintRange-active":{backgroundColor:"#86714a80"},"&dark .cm-panel.cm-panel-lint ul":{"& [aria-selected]":{backgroundColor:"#2e343e"}}});function Cx(n){return n=="error"?4:n=="warning"?3:n=="info"?2:1}function Zx(n){let e="hint",t=1;for(let i of n){let s=Cx(i.severity);s>t&&(t=s,e=i.severity)}return e}const Ku=vm(yx,{hideOn:bx}),Rx=[Re,v.decorations.compute([Re],n=>{let{selected:e,panel:t}=n.field(Re);return!e||!t||e.from==e.to?Z.none:Z.set([xx.range(e.from,e.to)])}),Ku,Tx],Ax=[zm(),Bm(),im(),n0(),Zg(),Ip(),Hp(),q.allowMultipleSelections.of(true),gg(),Cf(Xg,{fallback:true}),Eg(),vb(),Wb(),pm(),bm(),hm(),DQ(),Es.of([...Zb,...n1,...nx,...u0,...vg,...vu,...Px])],Mx=Lh({__name:"editor",props:{modelValue:{},language:{},disabled:{type:Boolean},scrollPastEnd:{type:Boolean},autoHeight:{type:Boolean}},emits:["update:modelValue"],setup(n,{expose:e,emit:t}){const i=n,s=t,r=Wh(),o=new jt,l=new jt,a=new jt;let h=i.modelValue??"",c=null;function f(g=i.language){return g==="json"?eQ():g==="yaml"?ZQ():Gb()}function u(g=i.disabled){return g?[v.editable.of(false),q.readOnly.of(true)]:[]}function d(g=i.scrollPastEnd){return g?[am()]:[]}function O(g){g.docChanged&&(h=g.state.doc.toString(),s("update:modelValue",h))}Xi(r,g=>{c==null||c.destroy(),c=null,g&&(c=new v({doc:h,extensions:[Ax,o.of(f()),v.lineWrapping,a.of(d()),v.updateListener.of(O),gx,l.of(u())],parent:g}))}),Xi(()=>i.language,g=>{c==null||c.dispatch({effects:o.reconfigure(f(g))})}),Xi(()=>i.disabled,g=>{c==null||c.dispatch({effects:l.reconfigure(u(g))})}),Xi(()=>i.scrollPastEnd,g=>{c==null||c.dispatch({effects:a.reconfigure(d(g))})}),Xi(()=>i.modelValue,g=>{const b=g??"";b!==h&&(c&&c.dispatch({changes:{from:0,to:c.state.doc.length,insert:b}}),h=b)}),td(()=>c==null?void 0:c.destroy());function p(){c&&(HQ(c.state)?$l(c):vl(c))}return e({selectAll:()=>c&&tu(c),undo:()=>c&&fl(c),redo:()=>c&&ks(c),indentLess:()=>c&&uu(c),indentMore:()=>c&&fu(c),indentSelection:()=>c&&cu(c),toggleFindReplace:p}),(g,b)=>(mt(),Zt("div",{class:id(["codemirror-editor",{"auto-height":i.autoHeight}]),ref_key:"parent",ref:r},null,2))}}),_x=n=>{n.app.component("k-codemirror-editor",Mx),n.schema({type:"string",role:"codemirror",component:Md,validate:e=>typeof e=="string"})};export{_x as default};
|