Files
llm-in-text/.build-check/assets/cm-commands-BSG2z_PK.js
T

2 lines
22 KiB
JavaScript
Raw Normal View History

import{b as qe,F as oe,E as a,h as $,a as le,A as se,T as P,e as Ke,i as E,S as ce,j as $e,k as We}from"./cm-state-X9WpHEQO.js";import{E as x,a as je}from"./cm-view-CiSFjroV.js";import{I as ie,g as ue,a as R,s as W,m as D,b as G,i as Qe}from"./cm-language-CDsY7zq0.js";import{N as F}from"./vendor-lezer-common-tVQBIsvN.js";const Xe=e=>{let{state:t}=e,r=t.doc.lineAt(t.selection.main.from),n=Q(e.state,r.from);return n.line?Ye(e):n.block?_e(e):!1};function j(e,t){return({state:r,dispatch:n})=>{if(r.readOnly)return!1;let l=e(t,r);return l?(n(r.update(l)),!0):!1}}const Ye=j(tt,0),Ze=j(fe,0),_e=j((e,t)=>fe(e,t,et(t)),0);function Q(e,t){let r=e.languageDataAt("commentTokens",t,1);return r.length?r[0]:{}}const M=50;function we(e,{open:t,close:r},n,l){let o=e.sliceDoc(n-M,n),s=e.sliceDoc(l,l+M),c=/\s*$/.exec(o)[0].length,i=/^\s*/.exec(s)[0].length,f=o.length-c;if(o.slice(f-t.length,f)==t&&s.slice(i,i+r.length)==r)return{open:{pos:n-c,margin:c&&1},close:{pos:l+i,margin:i&&1}};let u,h;l-n<=2*M?u=h=e.sliceDoc(n,l):(u=e.sliceDoc(n,n+M),h=e.sliceDoc(l-M,l));let p=/^\s*/.exec(u)[0].length,O=/\s*$/.exec(h)[0].length,L=h.length-O-r.length;return u.slice(p,p+t.length)==t&&h.slice(L,L+r.length)==r?{open:{pos:n+p+t.length,margin:/\s/.test(u.charAt(p+t.length))?1:0},close:{pos:l-O-r.length,margin:/\s/.test(h.charAt(L-1))?1:0}}:null}function et(e){let t=[];for(let r of e.selection.ranges){let n=e.doc.lineAt(r.from),l=r.to<=n.to?n:e.doc.lineAt(r.to);l.from>n.from&&l.from==r.to&&(l=r.to==n.to+1?n:e.doc.lineAt(r.to-1));let o=t.length-1;o>=0&&t[o].to>n.from?t[o].to=l.to:t.push({from:n.from+/^\s*/.exec(n.text)[0].length,to:l.to})}return t}function fe(e,t,r=t.selection.ranges){let n=r.map(o=>Q(t,o.from).block);if(!n.every(o=>o))return null;let l=r.map((o,s)=>we(t,n[s],o.from,o.to));if(e!=2&&!l.every(o=>o))return{changes:t.changes(r.map((o,s)=>l[s]?[]:[{from:o.from,insert:n[s].open+" "},{from:o.to,insert:" "+n[s].close}]))};if(e!=1&&l.some(o=>o)){let o=[];for(let s=0,c;s<l.length;s++)if(c=l[s]){let i=n[s],{open:f,close:u}=c;o.push({from:f.pos-i.open.length,to:f.pos+f.margin},{from:u.pos-u.margin,to:u.pos+i.close.length})}return{changes:o}}return null}function tt(e,t,r=t.selection.ranges){let n=[],l=-1;for(let{from:o,to:s}of r){let c=n.length,i=1e9,f=Q(t,o).line;if(f){for(let u=o;u<=s;){let h=t.doc.lineAt(u);if(h.from>l&&(o==s||s>h.from)){l=h.from;let p=/^\s*/.exec(h.text)[0].length,O=p==h.length,L=h.text.slice(p,p+f.length)==f?p:-1;p<h.text.length&&p<i&&(i=p),n.push({line:h,comment:L,token:f,indent:p,empty:O,single:!1})}u=h.to+1}if(i<1e9)for(let u=c;u<n.length;u++)n[u].indent<n[u].line.text.length&&(n[u].indent=i);n.length==c+1&&(n[c].single=!0)}}if(e!=2&&n.some(o=>o.comment<0&&(!o.empty||o.single))){let o=[];for(let{line:c,token:i,indent:f,empty:u,single:h}of n)(h||!u)&&o.push({from:c.from+f,insert:i+" "});let s=t.changes(o);return{changes:s,selection:t.selection.map(s,1)}}else if(e!=1&&n.some(o=>o.comment>=0)){let o=[];for(let{line:s,comment:c,token:i}of n)if(c>=0){let f=s.from+c,u=f+i.length;s.text[u-s.from]==" "&&u++,o.push({from:f,to:u})}return{changes:o}}return null}const z=se.define(),nt=se.define(),rt=oe.define(),ae=oe.define({combine(e){return Ke(e,{minDepth:100,newGroupDelay:500,joinToEvent:(t,r)=>r},{minDepth:Math.max,newGroupDelay:Math.min,joinToEvent:(t,r)=>(n,l)=>t(n,l)||r(n,l)})}}),he=qe.define({create(){return B.empty},update(e,t){let r=t.state.facet(ae),n=t.annotation(z);if(n){let i=m.fromTransaction(t,n.selection),f=n.side,u=f==0?e.undone:e.done;return i?u=v(u,u.length,r.minDepth,i):u=pe(u,t.startState.selection),new B(f==0?n.rest:u,f==0?u:n.rest)}let l=t.annotation(nt);if((l=="full"||l=="before")&&(e=e.isolate()),t.annotation(P.addToHistory)===!1)return t.changes.empty?e:e.addMapping(t.changes.desc);let o=m.fromTransaction(t),s=t.annotation(P.time),c=t.annotation(P.userEvent);return o?e=e.addChanges(o,s,c,r,t):t.selection&&(e=e.addSelection(t.startState.selection,s,c,r.newGroupDelay)),(l=="full"||l=="after")&&(e=e.isolate()),e},toJSON(e){return{done:e.done.map(t=>t.toJSON()),undone:e.undone.map(t=>t.toJSON())}},fromJSON(e){return n