Files
llm-in-text/.build-check/assets/cm-lint-CJhfB2hN.js
T

2 lines
11 KiB
JavaScript
Raw Normal View History

import{c as _,d as q,E as A,D as v,h as V,W as K}from"./cm-view-CiSFjroV.js";import{b as N,S as D,F as U,e as Y,m as j}from"./cm-state-X9WpHEQO.js";import{c as w}from"./vendor-crelt-C8TCjufn.js";class B{constructor(e,i,s){this.from=e,this.to=i,this.diagnostic=s}}class y{constructor(e,i,s){this.diagnostics=e,this.panel=i,this.selected=s}static init(e,i,s){let n=s.facet(S).markerFilter;n&&(e=n(e,s));let o=e.slice().sort((m,p)=>m.from-p.from||m.to-p.to),a=new j,l=[],c=0,r=s.doc.iter(),f=0,k=s.doc.length;for(let m=0;;){let p=m==o.length?null:o[m];if(!p&&!l.length)break;let u,h;if(l.length)u=c,h=l.reduce((d,x)=>Math.min(d,x.to),p&&p.from>u?p.from:1e8);else{if(u=p.from,u>k)break;h=p.to,l.push(p),m++}for(;m<o.length;){let d=o[m];if(d.from==u&&(d.to>d.from||d.to==u))l.push(d),m++,h=Math.min(d.to,h);else{h=Math.min(d.from,h);break}}h=Math.min(h,k);let R=!1;if(l.some(d=>d.from==u&&(d.to==h||h==k))&&(R=u==h,!R&&h-u<10)){let d=u-(f+r.value.length);d>0&&(r.next(d),f=u);for(let x=u;;){if(x>=h){R=!0;break}if(!r.lineBreak&&f+r.value.length>x)break;x=f+r.value.length,f+=r.value.length,r.next()}}let F=le(l);if(R)a.add(u,u,v.widget({widget:new ie(F),diagnostics:l.slice()}));else{let d=l.reduce((x,L)=>L.markClass?x+" "+L.markClass:x,"");a.add(u,h,v.mark({class:"cm-lintRange cm-lintRange-"+F+d,diagnostics:l.slice(),inclusiveEnd:l.some(x=>x.to>h)}))}if(c=h,c==k)break;for(let d=0;d<l.length;d++)l[d].to<=c&&l.splice(d--,1)}let g=a.finish();return new y(g,i,C(g))}}function C(t,e=null,i=0){let s=null;return t.between(i,1e9,(n,o,{spec:a})=>{if(!(e&&a.diagnostics.indexOf(e)<0))if(!s)s=new B(n,o,e||a.diagnostics[0]);else{if(a.diagnostics.indexOf(s.diagnostic)<0)return!1;s=new B(s.from,o,s.diagnostic)}}),s}function Z(t,e){let i=e.pos,s=e.end||i,n=t.state.facet(S).hideOn(t,i,s);if(n!=null)return n;let o=t.startState.doc.lineAt(e.pos);return!!(t.effects.some(a=>a.is($))||t.changes.touchesRange(o.from,Math.max(o.to,s)))}function G(t,e){return t.field(b,!1)?e:e.concat(D.appendConfig.of(re))}const $=D.define(),M=D.define(),z=D.define(),b=N.define({create(){return new y(v.none,null,null)},update(t,e){if(e.docChanged&&t.diagnostics.size){let i=t.diagnostics.map(e.changes),s=null,n=t.panel;if(t.selected){let o=e.changes.mapPos(t.selected.from,1);s=C(i,t.selected.diagnostic,o)||C(i,null,o)}!i.size&&n&&e.state.facet(S).autoPanel&&(n=null),t=new y(i,n,s)}for(let i of e.effects)if(i.is($)){let s=e.state.facet(S).autoPanel?i.value.length?P.open:null:t.panel;t=y.init(i.value,s,e.state)}else i.is(M)?t=new y(t.diagnostics,i.value?P.open:null,t.selected):i.is(z)&&(t=new y(t.diagnostics,t.panel,i.value));return t},provide:t=>[q.from(t,e=>e.panel),A.decorations.from(t,e=>e.diagnostics)]}),J=v.mark({class:"cm-lintRange cm-lintRange-active"});function Q(t,e,i){let{diagnostics:s}=t.state.field(b),n,o=-1,a=-1;s.between(e-(i<0?1:0),e+(i>0?1:0),(c,r,{spec:f})=>{if(e>=c&&e<=r&&(c==r||(e>c||i>0)&&(e<r||i<0)))return n=f.diagnostics,o=c,a=r,!1});let l=t.state.facet(S).tooltipFilter;return n&&l&&(n=l(n,t.state)),n?{pos:o,end:a,above:t.state.doc.lineAt(o).to<a,create(){return{dom:X(t,n)}}}:null}function X(t,e){return w("ul",{class:"cm-tooltip-lint"},e.map(i=>W(t,i,!1)))}const ee=t=>{let e=t.state.field(b,!1);(!e||!e.panel)&&t.dispatch({effects:G(t.state,[M.of(!0)])});let i=_(t,P.open);return i&&i.dom.querySelector(".cm-panel-lint ul").focus(),!0},T=t=>{let e=t.state.field(b,!1);return!e||!e.panel?!1:(t.dispatch({effects:M.of(!1)}),!0)},te=t=>{let e=t.state.field(b,!1);if(!e)return!1;let i=t.state.selection.main,s=e.diagnostics.iter(i.to+1);return!s.value&&(s=e.diagnostics.iter(0),!s.value||s.from==i.from&&s.to==i.to)?!1:(t.dispatch({selection:{anchor:s.from,head:s.to},scrollIntoView:!0}),!0)},fe=[{key:"Mod-Shift-m",run:ee,preventDefault:!0},{key:"F8",run:te}],S=U.define({combine(t){return{sources:t.map(e=>e.source).filter(e=>e!=null),...Y(t.map(e=>e.config),{delay:750,markerFilter:null,tooltipFilter:null,needsRefresh:null,hideOn:()=>null},{delay:Math.max,markerFilter:E,tooltipFilter:E,needsRefresh:(e,i)=>e?i?s=>e(s)||i(s):e:i,hideOn:(e,i)=>e?i?(s,n,o)=>e(s,n,o)||i(s,n,o):e:i,auto