mod: в CodeMirror добавлено форматирование с отступом (при открытии на редактирование) и минификация (при сохранении) json
This commit is contained in:
1 parent
c47a4bc39e
commit
8f5b2034c7
2 files changed
+56
-24
No files matched your search
@@ -1,13 +1,13 @@
|
||||
(()=>{var Js=[],Vo=[];(()=>{let r="lc,34,7n,7,7b,19,,,,2,,2,,,20,b,1c,l,g,,2t,7,2,6,2,2,,4,z,,u,r,2j,b,1m,9,9,,o,4,,9,,3,,5,17,3,3b,f,,w,1j,,,,4,8,4,,3,7,a,2,t,,1m,,,,2,4,8,,9,,a,2,q,,2,2,1l,,4,2,4,2,2,3,3,,u,2,3,,b,2,1l,,4,5,,2,4,,k,2,m,6,,,1m,,,2,,4,8,,7,3,a,2,u,,1n,,,,c,,9,,14,,3,,1l,3,5,3,,4,7,2,b,2,t,,1m,,2,,2,,3,,5,2,7,2,b,2,s,2,1l,2,,,2,4,8,,9,,a,2,t,,20,,4,,2,3,,,8,,29,,2,7,c,8,2q,,2,9,b,6,22,2,r,,,,,,1j,e,,5,,2,5,b,,10,9,,2u,4,,6,,2,2,2,p,2,4,3,g,4,d,,2,2,6,,f,,jj,3,qa,3,t,3,t,2,u,2,1s,2,,7,8,,2,b,9,,19,3,3b,2,y,,3a,3,4,2,9,,6,3,63,2,2,,1m,,,7,,,,,2,8,6,a,2,,1c,h,1r,4,1c,7,,,5,,14,9,c,2,w,4,2,2,,3,1k,,,2,3,,,3,1m,8,2,2,48,3,,d,,7,4,,6,,3,2,5i,1m,,5,ek,,5f,x,2da,3,3x,,2o,w,fe,6,2x,2,n9w,4,,a,w,2,28,2,7k,,3,,4,,p,2,5,,47,2,q,i,d,,12,8,p,b,1a,3,1c,,2,4,2,2,13,,1v,6,2,2,2,2,c,,8,,1b,,1f,,,3,2,2,5,2,,,16,2,8,,6m,,2,,4,,fn4,,kh,g,g,g,a6,2,gt,,6a,,45,5,1ae,3,,2,5,4,14,3,4,,4l,2,fx,4,ar,2,49,b,4w,,1i,f,1k,3,1d,4,2,2,1x,3,10,5,,8,1q,,c,2,1g,9,a,4,2,,2n,3,2,,,2,6,,4g,,3,8,l,2,1l,2,,,,,m,,e,7,3,5,5f,8,2,3,,,n,,29,,2,6,,,2,,,2,,2,6j,,2,4,6,2,,2,r,2,2d,8,2,,,2,2y,,,,2,6,,,2t,3,2,4,,5,77,9,,2,6t,,a,2,,,4,,40,4,2,2,4,,w,a,14,6,2,4,8,,9,6,2,3,1a,d,,2,ba,7,,6,,,2a,m,2,7,,2,,2,3e,6,3,,,2,,7,,,20,2,3,,,,9n,2,f0b,5,1n,7,t4,,1r,4,29,,f5k,2,43q,,,3,4,5,8,8,2,7,u,4,44,3,1iz,1j,4,1e,8,,e,,m,5,,f,11s,7,,h,2,7,,2,,5,79,7,c5,4,15s,7,31,7,240,5,gx7k,2o,3k,6o".split(",").map(e=>e?parseInt(e,36):1);for(let e=0,t=0;e<r.length;e++)(e%2?Vo:Js).push(t=t+r[e])})();function Sc(r){if(r<768)return!1;for(let e=0,t=Js.length;;){let i=e+t>>1;if(r<Js[i])t=i;else if(r>=Vo[i])e=i+1;else return!0;if(e==t)return!1}}function zo(r){return r>=127462&&r<=127487}var Yo=8205;function Eo(r,e,t=!0,i=!0){return(t?Wo:bc)(r,e,i)}function Wo(r,e,t){if(e==r.length)return e;e&&qo(r.charCodeAt(e))&&Do(r.charCodeAt(e-1))&&e--;let i=Ks(r,e);for(e+=_o(i);e<r.length;){let s=Ks(r,e);if(i==Yo||s==Yo||t&&Sc(s))e+=_o(s),i=s;else if(zo(s)){let n=0,o=e-2;for(;o>=0&&zo(Ks(r,o));)n++,o-=2;if(n%2==0)break;e+=2}else break}return e}function bc(r,e,t){for(;e>0;){let i=Wo(r,e-2,t);if(i<e)return i;e--}return 0}function Ks(r,e){let t=r.charCodeAt(e);if(!Do(t)||e+1==r.length)return t;let i=r.charCodeAt(e+1);return qo(i)?(t-55296<<10)+(i-56320)+65536:t}function qo(r){return r>=56320&&r<57344}function Do(r){return r>=55296&&r<56320}function _o(r){return r<65536?1:2}var M=class r{lineAt(e){if(e<0||e>this.length)throw new RangeError(`Invalid position ${e} in document of length ${this.length}`);return this.lineInner(e,!1,1,0)}line(e){if(e<1||e>this.lines)throw new RangeError(`Invalid line number ${e} in ${this.lines}-line document`);return this.lineInner(e,!0,1,0)}replace(e,t,i){[e,t]=Vt(this,e,t);let s=[];return this.decompose(0,e,s,2),i.length&&i.decompose(0,i.length,s,3),this.decompose(t,this.length,s,1),zt.from(s,this.length-(t-e)+i.length)}append(e){return this.replace(this.length,this.length,e)}slice(e,t=this.length){[e,t]=Vt(this,e,t);let i=[];return this.decompose(e,t,i,0),zt.from(i,t-e)}eq(e){if(e==this)return!0;if(e.length!=this.length||e.lines!=this.lines)return!1;let t=this.scanIdentical(e,1),i=this.length-this.scanIdentical(e,-1),s=new yt(this),n=new yt(e);for(let o=t,l=t;;){if(s.next(o),n.next(o),o=0,s.lineBreak!=n.lineBreak||s.done!=n.done||s.value!=n.value)return!1;if(l+=s.value.length,s.done||l>=i)return!0}}iter(e=1){return new yt(this,e)}iterRange(e,t=this.length){return new Ki(this,e,t)}iterLines(e,t){let i;if(e==null)i=this.iter();else{t==null&&(t=this.lines+1);let s=this.line(e).from;i=this.iterRange(s,Math.max(s,t==this.lines+1?this.length:t<=1?0:this.line(t-1).to))}return new Ji(i)}toString(){return this.sliceString(0)}toJSON(){let e=[];return this.flatten(e),e}constructor(){}static of(e){if(e.length==0)throw new RangeError("A document must have at least one line");return e.length==1&&!e[0]?r.empty:e.length<=32?new Oe(e):zt.from(Oe.split(e,[]))}},Oe=class r extends M{constructor(e,t=Qc(e)){super(),this.text=e,this.length=t}get lines(){return this.text.length}get children(){return null}lineInner(e,t,i,s){for(let n=0;;n++){let o=this.text[n],l=s+o.length;if((t?i:l)>=e)return new tr(s,l,i,o);s=l+1,i++}}decompose(e,t,i,s){let n=e<=0&&t>=this.length?this:new r(Lo(this.text,e,t),Math.min(t,this.length)-Math.max(0,e));if(s&1){let o=i.pop(),l=Hi(n.text,o.text.slice(),0,n.length);if(l.length<=32)i.push(new r(l,o.length+n.length));else{let a=l.length>>1;i.push(new r(l.slice(0,a)),new r(l.slice(a)))}}else i.push(n)}replace(e,t,i){if(!(i instanceof r))return super.replace(e,t,i);[e,t]=Vt(this,e,t);let s=Hi(this.text,Hi(i.text,Lo(this.text,0,e)),t),n=this.length+i.length-(t-e);return s.length<=32?new r(s,n):zt.from(r.split(s,[]),n)}sliceString(e,t=this.length,i=`
|
||||
(()=>{var Js=[],Vo=[];(()=>{let r="lc,34,7n,7,7b,19,,,,2,,2,,,20,b,1c,l,g,,2t,7,2,6,2,2,,4,z,,u,r,2j,b,1m,9,9,,o,4,,9,,3,,5,17,3,3b,f,,w,1j,,,,4,8,4,,3,7,a,2,t,,1m,,,,2,4,8,,9,,a,2,q,,2,2,1l,,4,2,4,2,2,3,3,,u,2,3,,b,2,1l,,4,5,,2,4,,k,2,m,6,,,1m,,,2,,4,8,,7,3,a,2,u,,1n,,,,c,,9,,14,,3,,1l,3,5,3,,4,7,2,b,2,t,,1m,,2,,2,,3,,5,2,7,2,b,2,s,2,1l,2,,,2,4,8,,9,,a,2,t,,20,,4,,2,3,,,8,,29,,2,7,c,8,2q,,2,9,b,6,22,2,r,,,,,,1j,e,,5,,2,5,b,,10,9,,2u,4,,6,,2,2,2,p,2,4,3,g,4,d,,2,2,6,,f,,jj,3,qa,3,t,3,t,2,u,2,1s,2,,7,8,,2,b,9,,19,3,3b,2,y,,3a,3,4,2,9,,6,3,63,2,2,,1m,,,7,,,,,2,8,6,a,2,,1c,h,1r,4,1c,7,,,5,,14,9,c,2,w,4,2,2,,3,1k,,,2,3,,,3,1m,8,2,2,48,3,,d,,7,4,,6,,3,2,5i,1m,,5,ek,,5f,x,2da,3,3x,,2o,w,fe,6,2x,2,n9w,4,,a,w,2,28,2,7k,,3,,4,,p,2,5,,47,2,q,i,d,,12,8,p,b,1a,3,1c,,2,4,2,2,13,,1v,6,2,2,2,2,c,,8,,1b,,1f,,,3,2,2,5,2,,,16,2,8,,6m,,2,,4,,fn4,,kh,g,g,g,a6,2,gt,,6a,,45,5,1ae,3,,2,5,4,14,3,4,,4l,2,fx,4,ar,2,49,b,4w,,1i,f,1k,3,1d,4,2,2,1x,3,10,5,,8,1q,,c,2,1g,9,a,4,2,,2n,3,2,,,2,6,,4g,,3,8,l,2,1l,2,,,,,m,,e,7,3,5,5f,8,2,3,,,n,,29,,2,6,,,2,,,2,,2,6j,,2,4,6,2,,2,r,2,2d,8,2,,,2,2y,,,,2,6,,,2t,3,2,4,,5,77,9,,2,6t,,a,2,,,4,,40,4,2,2,4,,w,a,14,6,2,4,8,,9,6,2,3,1a,d,,2,ba,7,,6,,,2a,m,2,7,,2,,2,3e,6,3,,,2,,7,,,20,2,3,,,,9n,2,f0b,5,1n,7,t4,,1r,4,29,,f5k,2,43q,,,3,4,5,8,8,2,7,u,4,44,3,1iz,1j,4,1e,8,,e,,m,5,,f,11s,7,,h,2,7,,2,,5,79,7,c5,4,15s,7,31,7,240,5,gx7k,2o,3k,6o".split(",").map(e=>e?parseInt(e,36):1);for(let e=0,t=0;e<r.length;e++)(e%2?Vo:Js).push(t=t+r[e])})();function bc(r){if(r<768)return!1;for(let e=0,t=Js.length;;){let i=e+t>>1;if(r<Js[i])t=i;else if(r>=Vo[i])e=i+1;else return!0;if(e==t)return!1}}function zo(r){return r>=127462&&r<=127487}var Yo=8205;function Eo(r,e,t=!0,i=!0){return(t?Wo:Qc)(r,e,i)}function Wo(r,e,t){if(e==r.length)return e;e&&qo(r.charCodeAt(e))&&Do(r.charCodeAt(e-1))&&e--;let i=Ks(r,e);for(e+=_o(i);e<r.length;){let s=Ks(r,e);if(i==Yo||s==Yo||t&&bc(s))e+=_o(s),i=s;else if(zo(s)){let n=0,o=e-2;for(;o>=0&&zo(Ks(r,o));)n++,o-=2;if(n%2==0)break;e+=2}else break}return e}function Qc(r,e,t){for(;e>0;){let i=Wo(r,e-2,t);if(i<e)return i;e--}return 0}function Ks(r,e){let t=r.charCodeAt(e);if(!Do(t)||e+1==r.length)return t;let i=r.charCodeAt(e+1);return qo(i)?(t-55296<<10)+(i-56320)+65536:t}function qo(r){return r>=56320&&r<57344}function Do(r){return r>=55296&&r<56320}function _o(r){return r<65536?1:2}var M=class r{lineAt(e){if(e<0||e>this.length)throw new RangeError(`Invalid position ${e} in document of length ${this.length}`);return this.lineInner(e,!1,1,0)}line(e){if(e<1||e>this.lines)throw new RangeError(`Invalid line number ${e} in ${this.lines}-line document`);return this.lineInner(e,!0,1,0)}replace(e,t,i){[e,t]=Vt(this,e,t);let s=[];return this.decompose(0,e,s,2),i.length&&i.decompose(0,i.length,s,3),this.decompose(t,this.length,s,1),zt.from(s,this.length-(t-e)+i.length)}append(e){return this.replace(this.length,this.length,e)}slice(e,t=this.length){[e,t]=Vt(this,e,t);let i=[];return this.decompose(e,t,i,0),zt.from(i,t-e)}eq(e){if(e==this)return!0;if(e.length!=this.length||e.lines!=this.lines)return!1;let t=this.scanIdentical(e,1),i=this.length-this.scanIdentical(e,-1),s=new yt(this),n=new yt(e);for(let o=t,l=t;;){if(s.next(o),n.next(o),o=0,s.lineBreak!=n.lineBreak||s.done!=n.done||s.value!=n.value)return!1;if(l+=s.value.length,s.done||l>=i)return!0}}iter(e=1){return new yt(this,e)}iterRange(e,t=this.length){return new Ki(this,e,t)}iterLines(e,t){let i;if(e==null)i=this.iter();else{t==null&&(t=this.lines+1);let s=this.line(e).from;i=this.iterRange(s,Math.max(s,t==this.lines+1?this.length:t<=1?0:this.line(t-1).to))}return new Ji(i)}toString(){return this.sliceString(0)}toJSON(){let e=[];return this.flatten(e),e}constructor(){}static of(e){if(e.length==0)throw new RangeError("A document must have at least one line");return e.length==1&&!e[0]?r.empty:e.length<=32?new Oe(e):zt.from(Oe.split(e,[]))}},Oe=class r extends M{constructor(e,t=yc(e)){super(),this.text=e,this.length=t}get lines(){return this.text.length}get children(){return null}lineInner(e,t,i,s){for(let n=0;;n++){let o=this.text[n],l=s+o.length;if((t?i:l)>=e)return new tr(s,l,i,o);s=l+1,i++}}decompose(e,t,i,s){let n=e<=0&&t>=this.length?this:new r(Lo(this.text,e,t),Math.min(t,this.length)-Math.max(0,e));if(s&1){let o=i.pop(),l=Hi(n.text,o.text.slice(),0,n.length);if(l.length<=32)i.push(new r(l,o.length+n.length));else{let a=l.length>>1;i.push(new r(l.slice(0,a)),new r(l.slice(a)))}}else i.push(n)}replace(e,t,i){if(!(i instanceof r))return super.replace(e,t,i);[e,t]=Vt(this,e,t);let s=Hi(this.text,Hi(i.text,Lo(this.text,0,e)),t),n=this.length+i.length-(t-e);return s.length<=32?new r(s,n):zt.from(r.split(s,[]),n)}sliceString(e,t=this.length,i=`
|
||||
`){[e,t]=Vt(this,e,t);let s="";for(let n=0,o=0;n<=t&&o<this.text.length;o++){let l=this.text[o],a=n+l.length;n>e&&o&&(s+=i),e<a&&t>n&&(s+=l.slice(Math.max(0,e-n),t-n)),n=a+1}return s}flatten(e){for(let t of this.text)e.push(t)}scanIdentical(){return 0}static split(e,t){let i=[],s=-1;for(let n of e)i.push(n),s+=n.length+1,i.length==32&&(t.push(new r(i,s)),i=[],s=-1);return s>-1&&t.push(new r(i,s)),t}},zt=class r extends M{constructor(e,t){super(),this.children=e,this.length=t,this.lines=0;for(let i of e)this.lines+=i.lines}lineInner(e,t,i,s){for(let n=0;;n++){let o=this.children[n],l=s+o.length,a=i+o.lines-1;if((t?a:l)>=e)return o.lineInner(e,t,i,s);s=l+1,i=a+1}}decompose(e,t,i,s){for(let n=0,o=0;o<=t&&n<this.children.length;n++){let l=this.children[n],a=o+l.length;if(e<=a&&t>=o){let h=s&((o<=e?1:0)|(a>=t?2:0));o>=e&&a<=t&&!h?i.push(l):l.decompose(e-o,t-o,i,h)}o=a+1}}replace(e,t,i){if([e,t]=Vt(this,e,t),i.lines<this.lines)for(let s=0,n=0;s<this.children.length;s++){let o=this.children[s],l=n+o.length;if(e>=n&&t<=l){let a=o.replace(e-n,t-n,i),h=this.lines-o.lines+a.lines;if(a.lines<h>>4&&a.lines>h>>6){let c=this.children.slice();return c[s]=a,new r(c,this.length-(t-e)+i.length)}return super.replace(n,l,a)}n=l+1}return super.replace(e,t,i)}sliceString(e,t=this.length,i=`
|
||||
`){[e,t]=Vt(this,e,t);let s="";for(let n=0,o=0;n<this.children.length&&o<=t;n++){let l=this.children[n],a=o+l.length;o>e&&n&&(s+=i),e<a&&t>o&&(s+=l.sliceString(e-o,t-o,i)),o=a+1}return s}flatten(e){for(let t of this.children)t.flatten(e)}scanIdentical(e,t){if(!(e instanceof r))return 0;let i=0,[s,n,o,l]=t>0?[0,0,this.children.length,e.children.length]:[this.children.length-1,e.children.length-1,-1,-1];for(;;s+=t,n+=t){if(s==o||n==l)return i;let a=this.children[s],h=e.children[n];if(a!=h)return i+a.scanIdentical(h,t);i+=a.length+1}}static from(e,t=e.reduce((i,s)=>i+s.length+1,-1)){let i=0;for(let O of e)i+=O.lines;if(i<32){let O=[];for(let p of e)p.flatten(O);return new Oe(O,t)}let s=Math.max(32,i>>5),n=s<<1,o=s>>1,l=[],a=0,h=-1,c=[];function f(O){let p;if(O.lines>n&&O instanceof r)for(let g of O.children)f(g);else O.lines>o&&(a>o||!a)?(u(),l.push(O)):O instanceof Oe&&a&&(p=c[c.length-1])instanceof Oe&&O.lines+p.lines<=32?(a+=O.lines,h+=O.length+1,c[c.length-1]=new Oe(p.text.concat(O.text),p.length+1+O.length)):(a+O.lines>s&&u(),a+=O.lines,h+=O.length+1,c.push(O))}function u(){a!=0&&(l.push(c.length==1?c[0]:r.from(c,h)),h=-1,a=c.length=0)}for(let O of e)f(O);return u(),l.length==1?l[0]:new r(l,t)}};M.empty=new Oe([""],0);function Qc(r){let e=-1;for(let t of r)e+=t.length+1;return e}function Hi(r,e,t=0,i=1e9){for(let s=0,n=0,o=!0;n<r.length&&s<=i;n++){let l=r[n],a=s+l.length;a>=t&&(a>i&&(l=l.slice(0,i-s)),s<t&&(l=l.slice(t-s)),o?(e[e.length-1]+=l,o=!1):e.push(l)),s=a+1}return e}function Lo(r,e,t){return Hi(r,[""],e,t)}var yt=class{constructor(e,t=1){this.dir=t,this.done=!1,this.lineBreak=!1,this.value="",this.nodes=[e],this.offsets=[t>0?1:(e instanceof Oe?e.text.length:e.children.length)<<1]}nextInner(e,t){for(this.done=this.lineBreak=!1;;){let i=this.nodes.length-1,s=this.nodes[i],n=this.offsets[i],o=n>>1,l=s instanceof Oe?s.text.length:s.children.length;if(o==(t>0?l:0)){if(i==0)return this.done=!0,this.value="",this;t>0&&this.offsets[i-1]++,this.nodes.pop(),this.offsets.pop()}else if((n&1)==(t>0?0:1)){if(this.offsets[i]+=t,e==0)return this.lineBreak=!0,this.value=`
|
||||
`,this;e--}else if(s instanceof Oe){let a=s.text[o+(t<0?-1:0)];if(this.offsets[i]+=t,a.length>Math.max(0,e))return this.value=e==0?a:t>0?a.slice(e):a.slice(0,a.length-e),this;e-=a.length}else{let a=s.children[o+(t<0?-1:0)];e>a.length?(e-=a.length,this.offsets[i]+=t):(t<0&&this.offsets[i]--,this.nodes.push(a),this.offsets.push(t>0?1:(a instanceof Oe?a.text.length:a.children.length)<<1))}}}next(e=0){return e<0&&(this.nextInner(-e,-this.dir),e=this.value.length),this.nextInner(e,this.dir)}},Ki=class{constructor(e,t,i){this.value="",this.done=!1,this.cursor=new yt(e,t>i?-1:1),this.pos=t>i?e.length:0,this.from=Math.min(t,i),this.to=Math.max(t,i)}nextInner(e,t){if(t<0?this.pos<=this.from:this.pos>=this.to)return this.value="",this.done=!0,this;e+=Math.max(0,t<0?this.pos-this.to:this.from-this.pos);let i=t<0?this.pos-this.from:this.to-this.pos;e>i&&(e=i),i-=e;let{value:s}=this.cursor.next(e);return this.pos+=(s.length+e)*t,this.value=s.length<=i?s:t<0?s.slice(s.length-i):s.slice(0,i),this.done=!this.value,this}next(e=0){return e<0?e=Math.max(e,this.from-this.pos):e>0&&(e=Math.min(e,this.to-this.pos)),this.nextInner(e,this.cursor.dir)}get lineBreak(){return this.cursor.lineBreak&&this.value!=""}},Ji=class{constructor(e){this.inner=e,this.afterBreak=!0,this.value="",this.done=!1}next(e=0){let{done:t,lineBreak:i,value:s}=this.inner.next(e);return t&&this.afterBreak?(this.value="",this.afterBreak=!1):t?(this.done=!0,this.value=""):i?this.afterBreak?this.value="":(this.afterBreak=!0,this.next()):(this.value=s,this.afterBreak=!1),this}get lineBreak(){return!1}};typeof Symbol<"u"&&(M.prototype[Symbol.iterator]=function(){return this.iter()},yt.prototype[Symbol.iterator]=Ki.prototype[Symbol.iterator]=Ji.prototype[Symbol.iterator]=function(){return this});var tr=class{constructor(e,t,i,s){this.from=e,this.to=t,this.number=i,this.text=s}get length(){return this.to-this.from}};function Vt(r,e,t){return e=Math.max(0,Math.min(r.length,e)),[e,Math.max(e,Math.min(r.length,t))]}function ve(r,e,t=!0,i=!0){return Eo(r,e,t,i)}function yc(r){return r>=56320&&r<57344}function xc(r){return r>=55296&&r<56320}function dr(r,e){let t=r.charCodeAt(e);if(!xc(t)||e+1==r.length)return t;let i=r.charCodeAt(e+1);return yc(i)?(t-55296<<10)+(i-56320)+65536:t}function pr(r){return r<65536?1:2}var ir=/\r\n?|\n/,te=(function(r){return r[r.Simple=0]="Simple",r[r.TrackDel=1]="TrackDel",r[r.TrackBefore=2]="TrackBefore",r[r.TrackAfter=3]="TrackAfter",r})(te||(te={})),xt=class r{constructor(e){this.sections=e}get length(){let e=0;for(let t=0;t<this.sections.length;t+=2)e+=this.sections[t];return e}get newLength(){let e=0;for(let t=0;t<this.sections.length;t+=2){let i=this.sections[t+1];e+=i<0?this.sections[t]:i}return e}get empty(){return this.sections.length==0||this.sections.length==2&&this.sections[1]<0}iterGaps(e){for(let t=0,i=0,s=0;t<this.sections.length;){let n=this.sections[t++],o=this.sections[t++];o<0?(e(i,s,n),s+=n):s+=o,i+=n}}iterChangedRanges(e,t=!1){sr(this,e,t)}get invertedDesc(){let e=[];for(let t=0;t<this.sections.length;){let i=this.sections[t++],s=this.sections[t++];s<0?e.push(i,s):e.push(s,i)}return new r(e)}composeDesc(e){return this.empty?e:e.empty?this:Uo(this,e)}mapDesc(e,t=!1){return e.empty?this:rr(this,e,t)}mapPos(e,t=-1,i=te.Simple){let s=0,n=0;for(let o=0;o<this.sections.length;){let l=this.sections[o++],a=this.sections[o++],h=s+l;if(a<0){if(h>e)return n+(e-s);n+=l}else{if(i!=te.Simple&&h>=e&&(i==te.TrackDel&&s<e&&h>e||i==te.TrackBefore&&s<e||i==te.TrackAfter&&h>e))return null;if(h>e||h==e&&t<0&&!l)return e==s||t<0?n:n+a;n+=a}s=h}if(e>s)throw new RangeError(`Position ${e} is out of range for changeset of length ${s}`);return n}touchesRange(e,t=e){for(let i=0,s=0;i<this.sections.length&&s<=t;){let n=this.sections[i++],o=this.sections[i++],l=s+n;if(o>=0&&s<=t&&l>=e)return s<e&&l>t?"cover":!0;s=l}return!1}toString(){let e="";for(let t=0;t<this.sections.length;){let i=this.sections[t++],s=this.sections[t++];e+=(e?" ":"")+i+(s>=0?":"+s:"")}return e}toJSON(){return this.sections}static fromJSON(e){if(!Array.isArray(e)||e.length%2||e.some(t=>typeof t!="number"))throw new RangeError("Invalid JSON representation of ChangeDesc");return new r(e)}static create(e){return new r(e)}},de=class r extends xt{constructor(e,t){super(e),this.inserted=t}apply(e){if(this.length!=e.length)throw new RangeError("Applying change set to a document with the wrong length");return sr(this,(t,i,s,n,o)=>e=e.replace(s,s+(i-t),o),!1),e}mapDesc(e,t=!1){return rr(this,e,t,!0)}invert(e){let t=this.sections.slice(),i=[];for(let s=0,n=0;s<t.length;s+=2){let o=t[s],l=t[s+1];if(l>=0){t[s]=l,t[s+1]=o;let a=s>>1;for(;i.length<a;)i.push(M.empty);i.push(o?e.slice(n,n+o):M.empty)}n+=o}return new r(t,i)}compose(e){return this.empty?e:e.empty?this:Uo(this,e,!0)}map(e,t=!1){return e.empty?this:rr(this,e,t,!0)}iterChanges(e,t=!1){sr(this,e,t)}get desc(){return xt.create(this.sections)}filter(e){let t=[],i=[],s=[],n=new wt(this);e:for(let o=0,l=0;;){let a=o==e.length?1e9:e[o++
Line truncated
|
||||
`}get readOnly(){return this.facet(il)}phrase(e,...t){for(let i of this.facet(r.phrases))if(Object.prototype.hasOwnProperty.call(i,e)){e=i[e];break}return t.length&&(e=e.replace(/\$(\$|\d*)/g,(i,s)=>{if(s=="$")return"$";let n=+(s||1);return!n||n>t.length?i:t[n-1]})),e}languageDataAt(e,t,i=-1){let s=[];for(let n of this.facet(Ho))for(let o of n(this,t,i))Object.prototype.hasOwnProperty.call(o,e)&&s.push(o[e]);return s}charCategorizer(e){let t=this.languageDataAt("wordChars",e);return Xc(t.length?t[0]:"")}wordAt(e){let{text:t,from:i,length:s}=this.doc.lineAt(e),n=this.charCategorizer(e),o=e-i,l=e-i;for(;o>0;){let a=ve(t,o,!1);if(n(t.slice(a,o))!=Pe.Word)break;o=a}for(;l<s;){let a=ve(t,l);if(n(t.slice(l,a))!=Pe.Word)break;l=a}return o==l?null:w.range(o+i,l+i)}};U.allowMultipleSelections=or;U.tabSize=P.define({combine:r=>r.length?r[0]:4});U.lineSeparator=Ko;U.readOnly=il;U.phrases=P.define({compare(r,e){let t=Object.keys(r),i=Object.keys(e);return t.length==i.length&&t.every(s=>r[s]==e[s])}});U.languageData=Ho;U.changeFilter=Jo;U.transactionFilter=el;U.transactionExtender=tl;Et.reconfigure=D.define();function rs(r,e,t={}){let i={};for(let s of r)for(let n of Object.keys(s)){let o=s[n],l=i[n];if(l===void 0)i[n]=o;else if(!(l===o||o===void 0))if(Object.hasOwnProperty.call(t,n))i[n]=t[n](l,o);else throw new Error("Config merge conflict for field "+n)}for(let s in e)i[s]===void 0&&(i[s]=e[s]);return i}var Qe=class{eq(e){return this==e}range(e,t=e){return mi.create(e,t,this)}};Qe.prototype.startSide=Qe.prototype.endSide=0;Qe.prototype.point=!1;Qe.prototype.mapMode=te.TrackDel;function Sr(r,e){return r==e||r.constructor==e.constructor&&r.eq(e)}var mi=class r{constructor(e,t,i){this.from=e,this.to=t,this.value=i}static create(e,t,i){return new r(e,t,i)}};function fr(r,e){return r.from-e.from||r.value.startSide-e.value.startSide}var ur=class r{constructor(e,t,i,s){this.from=e,this.to=t,this.value=i,this.maxPoint=s}get length(){return this.to[this.to.length-1]}findIndex(e,t,i,s=0){let n=i?this.to:this.from;for(let o=s,l=n.length;;){if(o==l)return o;let a=o+l>>1,h=n[a]-e||(i?this.value[a].endSide:this.value[a].startSide)-t;if(a==o)return h>=0?o:l;h>=0?l=a:o=a+1}}between(e,t,i,s){for(let n=this.findIndex(t,-1e9,!0),o=this.findIndex(i,1e9,!1,n);n<o;n++)if(s(this.from[n]+e,this.to[n]+e,this.value[n])===!1)return!1}map(e,t){let i=[],s=[],n=[],o=-1,l=-1;for(let a=0;a<this.value.length;a++){let h=this.value[a],c=this.from[a]+e,f=this.to[a]+e,u,O;if(c==f){let p=t.mapPos(c,h.startSide,h.mapMode);if(p==null||(u=O=p,h.startSide!=h.endSide&&(O=t.mapPos(c,h.endSide),O<u)))continue}else if(u=t.mapPos(c,h.startSide),O=t.mapPos(f,h.endSide),u>O||u==O&&h.startSide>0&&h.endSide<=0)continue;(O-u||h.endSide-h.startSide)<0||(o<0&&(o=u),h.point&&(l=Math.max(l,O-u)),i.push(h),s.push(u-o),n.push(O-o))}return{mapped:i.length?new r(s,n,i,l):null,pos:o}}},z=class r{constructor(e,t,i,s){this.chunkPos=e,this.chunk=t,this.nextLayer=i,this.maxPoint=s}static create(e,t,i,s){return new r(e,t,i,s)}get length(){let e=this.chunk.length-1;return e<0?0:Math.max(this.chunkEnd(e),this.nextLayer.length)}get size(){if(this.isEmpty)return 0;let e=this.nextLayer.size;for(let t of this.chunk)e+=t.value.length;return e}chunkEnd(e){return this.chunkPos[e]+this.chunk[e].length}update(e){let{add:t=[],sort:i=!1,filterFrom:s=0,filterTo:n=this.length}=e,o=e.filter;if(t.length==0&&!o)return this;if(i&&(t=t.slice().sort(fr)),this.isEmpty)return t.length?r.of(t):this;let l=new ss(this,null,-1).goto(0),a=0,h=[],c=new $t;for(;l.value||a<t.length;)if(a<t.length&&(l.from-t[a].from||l.startSide-t[a].value.startSide)>=0){let f=t[a++];c.addInner(f.from,f.to,f.value)||h.push(f)}else l.rangeIndex==1&&l.chunkIndex<this.chunk.length&&(a==t.length||this.chunkEnd(l.chunkIndex)<t[a].from)&&(!o||s>this.chunkEnd(l.chunkIndex)||n<this.chunkPos[l.chunkIndex])&&c.addChunk(this.chunkPos[l.chunkIndex],this.chunk[l.chunkIndex])?l.nextChunk():((!o||s>l.to||n<l.from||o(l.from,l.to,l.value))&&(c.addInner(l.from,l.to,l.value)||h.push(mi.create(l.from,l.to,l.value))),l.next());return c.finishInner(this.nextLayer.isEmpty&&!h.length?r.empty:this.nextLayer.update({add:h,filter:o,filterFrom:s,filterTo:n}))}map(e){if(e.empty||this.isEmpty)return this;let t=[],i=[],s=-1;for(let o=0;o<this.chunk.length;o++){let l=this.chunkPos[o],a=this.chunk[o],h=e.touchesRange(l,l+a.length);if(h===!1)s=Math.max(s,a.maxPoint),t.push(a),i.push(e.mapPos(l));else if(h===!0){let{mapped:c,pos:f}=a.map(l,e);c&&(s=Math.max(s,c.maxPoint),t.push(c),i.push(f))}}let n=this.nextLayer.map(e);return t.length==0?n:new r(i,t,n||r.empty,s)}between(e,t,i){if(!this.isEmpty){for(let s=0;s<this.chunk.length;s++){let n=this.chunkPos[s],o=this.chunk[s];if(t>=n&&e<=n+o.length&&o.between(n,e-n,t-n,i)===!1)return}this.nextLayer.between(e,t,i)}}iter(e=0){return Si.from([this]).goto(e)}get isEmpty(){return this.nextLayer==this}static iter(e,t=0){return Si.from(e).goto(t)}static compare(e,t,i,s,n=-1){let o=e.filter(f=>f.maxPoint>0||!f.isEmpty&&f.maxP
Line truncated
|
||||
`){[e,t]=Vt(this,e,t);let s="";for(let n=0,o=0;n<this.children.length&&o<=t;n++){let l=this.children[n],a=o+l.length;o>e&&n&&(s+=i),e<a&&t>o&&(s+=l.sliceString(e-o,t-o,i)),o=a+1}return s}flatten(e){for(let t of this.children)t.flatten(e)}scanIdentical(e,t){if(!(e instanceof r))return 0;let i=0,[s,n,o,l]=t>0?[0,0,this.children.length,e.children.length]:[this.children.length-1,e.children.length-1,-1,-1];for(;;s+=t,n+=t){if(s==o||n==l)return i;let a=this.children[s],h=e.children[n];if(a!=h)return i+a.scanIdentical(h,t);i+=a.length+1}}static from(e,t=e.reduce((i,s)=>i+s.length+1,-1)){let i=0;for(let O of e)i+=O.lines;if(i<32){let O=[];for(let p of e)p.flatten(O);return new Oe(O,t)}let s=Math.max(32,i>>5),n=s<<1,o=s>>1,l=[],a=0,h=-1,c=[];function f(O){let p;if(O.lines>n&&O instanceof r)for(let g of O.children)f(g);else O.lines>o&&(a>o||!a)?(u(),l.push(O)):O instanceof Oe&&a&&(p=c[c.length-1])instanceof Oe&&O.lines+p.lines<=32?(a+=O.lines,h+=O.length+1,c[c.length-1]=new Oe(p.text.concat(O.text),p.length+1+O.length)):(a+O.lines>s&&u(),a+=O.lines,h+=O.length+1,c.push(O))}function u(){a!=0&&(l.push(c.length==1?c[0]:r.from(c,h)),h=-1,a=c.length=0)}for(let O of e)f(O);return u(),l.length==1?l[0]:new r(l,t)}};M.empty=new Oe([""],0);function yc(r){let e=-1;for(let t of r)e+=t.length+1;return e}function Hi(r,e,t=0,i=1e9){for(let s=0,n=0,o=!0;n<r.length&&s<=i;n++){let l=r[n],a=s+l.length;a>=t&&(a>i&&(l=l.slice(0,i-s)),s<t&&(l=l.slice(t-s)),o?(e[e.length-1]+=l,o=!1):e.push(l)),s=a+1}return e}function Lo(r,e,t){return Hi(r,[""],e,t)}var yt=class{constructor(e,t=1){this.dir=t,this.done=!1,this.lineBreak=!1,this.value="",this.nodes=[e],this.offsets=[t>0?1:(e instanceof Oe?e.text.length:e.children.length)<<1]}nextInner(e,t){for(this.done=this.lineBreak=!1;;){let i=this.nodes.length-1,s=this.nodes[i],n=this.offsets[i],o=n>>1,l=s instanceof Oe?s.text.length:s.children.length;if(o==(t>0?l:0)){if(i==0)return this.done=!0,this.value="",this;t>0&&this.offsets[i-1]++,this.nodes.pop(),this.offsets.pop()}else if((n&1)==(t>0?0:1)){if(this.offsets[i]+=t,e==0)return this.lineBreak=!0,this.value=`
|
||||
`,this;e--}else if(s instanceof Oe){let a=s.text[o+(t<0?-1:0)];if(this.offsets[i]+=t,a.length>Math.max(0,e))return this.value=e==0?a:t>0?a.slice(e):a.slice(0,a.length-e),this;e-=a.length}else{let a=s.children[o+(t<0?-1:0)];e>a.length?(e-=a.length,this.offsets[i]+=t):(t<0&&this.offsets[i]--,this.nodes.push(a),this.offsets.push(t>0?1:(a instanceof Oe?a.text.length:a.children.length)<<1))}}}next(e=0){return e<0&&(this.nextInner(-e,-this.dir),e=this.value.length),this.nextInner(e,this.dir)}},Ki=class{constructor(e,t,i){this.value="",this.done=!1,this.cursor=new yt(e,t>i?-1:1),this.pos=t>i?e.length:0,this.from=Math.min(t,i),this.to=Math.max(t,i)}nextInner(e,t){if(t<0?this.pos<=this.from:this.pos>=this.to)return this.value="",this.done=!0,this;e+=Math.max(0,t<0?this.pos-this.to:this.from-this.pos);let i=t<0?this.pos-this.from:this.to-this.pos;e>i&&(e=i),i-=e;let{value:s}=this.cursor.next(e);return this.pos+=(s.length+e)*t,this.value=s.length<=i?s:t<0?s.slice(s.length-i):s.slice(0,i),this.done=!this.value,this}next(e=0){return e<0?e=Math.max(e,this.from-this.pos):e>0&&(e=Math.min(e,this.to-this.pos)),this.nextInner(e,this.cursor.dir)}get lineBreak(){return this.cursor.lineBreak&&this.value!=""}},Ji=class{constructor(e){this.inner=e,this.afterBreak=!0,this.value="",this.done=!1}next(e=0){let{done:t,lineBreak:i,value:s}=this.inner.next(e);return t&&this.afterBreak?(this.value="",this.afterBreak=!1):t?(this.done=!0,this.value=""):i?this.afterBreak?this.value="":(this.afterBreak=!0,this.next()):(this.value=s,this.afterBreak=!1),this}get lineBreak(){return!1}};typeof Symbol<"u"&&(M.prototype[Symbol.iterator]=function(){return this.iter()},yt.prototype[Symbol.iterator]=Ki.prototype[Symbol.iterator]=Ji.prototype[Symbol.iterator]=function(){return this});var tr=class{constructor(e,t,i,s){this.from=e,this.to=t,this.number=i,this.text=s}get length(){return this.to-this.from}};function Vt(r,e,t){return e=Math.max(0,Math.min(r.length,e)),[e,Math.max(e,Math.min(r.length,t))]}function ve(r,e,t=!0,i=!0){return Eo(r,e,t,i)}function xc(r){return r>=56320&&r<57344}function wc(r){return r>=55296&&r<56320}function dr(r,e){let t=r.charCodeAt(e);if(!wc(t)||e+1==r.length)return t;let i=r.charCodeAt(e+1);return xc(i)?(t-55296<<10)+(i-56320)+65536:t}function pr(r){return r<65536?1:2}var ir=/\r\n?|\n/,te=(function(r){return r[r.Simple=0]="Simple",r[r.TrackDel=1]="TrackDel",r[r.TrackBefore=2]="TrackBefore",r[r.TrackAfter=3]="TrackAfter",r})(te||(te={})),xt=class r{constructor(e){this.sections=e}get length(){let e=0;for(let t=0;t<this.sections.length;t+=2)e+=this.sections[t];return e}get newLength(){let e=0;for(let t=0;t<this.sections.length;t+=2){let i=this.sections[t+1];e+=i<0?this.sections[t]:i}return e}get empty(){return this.sections.length==0||this.sections.length==2&&this.sections[1]<0}iterGaps(e){for(let t=0,i=0,s=0;t<this.sections.length;){let n=this.sections[t++],o=this.sections[t++];o<0?(e(i,s,n),s+=n):s+=o,i+=n}}iterChangedRanges(e,t=!1){sr(this,e,t)}get invertedDesc(){let e=[];for(let t=0;t<this.sections.length;){let i=this.sections[t++],s=this.sections[t++];s<0?e.push(i,s):e.push(s,i)}return new r(e)}composeDesc(e){return this.empty?e:e.empty?this:Uo(this,e)}mapDesc(e,t=!1){return e.empty?this:rr(this,e,t)}mapPos(e,t=-1,i=te.Simple){let s=0,n=0;for(let o=0;o<this.sections.length;){let l=this.sections[o++],a=this.sections[o++],h=s+l;if(a<0){if(h>e)return n+(e-s);n+=l}else{if(i!=te.Simple&&h>=e&&(i==te.TrackDel&&s<e&&h>e||i==te.TrackBefore&&s<e||i==te.TrackAfter&&h>e))return null;if(h>e||h==e&&t<0&&!l)return e==s||t<0?n:n+a;n+=a}s=h}if(e>s)throw new RangeError(`Position ${e} is out of range for changeset of length ${s}`);return n}touchesRange(e,t=e){for(let i=0,s=0;i<this.sections.length&&s<=t;){let n=this.sections[i++],o=this.sections[i++],l=s+n;if(o>=0&&s<=t&&l>=e)return s<e&&l>t?"cover":!0;s=l}return!1}toString(){let e="";for(let t=0;t<this.sections.length;){let i=this.sections[t++],s=this.sections[t++];e+=(e?" ":"")+i+(s>=0?":"+s:"")}return e}toJSON(){return this.sections}static fromJSON(e){if(!Array.isArray(e)||e.length%2||e.some(t=>typeof t!="number"))throw new RangeError("Invalid JSON representation of ChangeDesc");return new r(e)}static create(e){return new r(e)}},de=class r extends xt{constructor(e,t){super(e),this.inserted=t}apply(e){if(this.length!=e.length)throw new RangeError("Applying change set to a document with the wrong length");return sr(this,(t,i,s,n,o)=>e=e.replace(s,s+(i-t),o),!1),e}mapDesc(e,t=!1){return rr(this,e,t,!0)}invert(e){let t=this.sections.slice(),i=[];for(let s=0,n=0;s<t.length;s+=2){let o=t[s],l=t[s+1];if(l>=0){t[s]=l,t[s+1]=o;let a=s>>1;for(;i.length<a;)i.push(M.empty);i.push(o?e.slice(n,n+o):M.empty)}n+=o}return new r(t,i)}compose(e){return this.empty?e:e.empty?this:Uo(this,e,!0)}map(e,t=!1){return e.empty?this:rr(this,e,t,!0)}iterChanges(e,t=!1){sr(this,e,t)}get desc(){return xt.create(this.sections)}filter(e){let t=[],i=[],s=[],n=new wt(this);e:for(let o=0,l=0;;){let a=o==e.length?1e9:e[o++
Line truncated
|
||||
`}get readOnly(){return this.facet(il)}phrase(e,...t){for(let i of this.facet(r.phrases))if(Object.prototype.hasOwnProperty.call(i,e)){e=i[e];break}return t.length&&(e=e.replace(/\$(\$|\d*)/g,(i,s)=>{if(s=="$")return"$";let n=+(s||1);return!n||n>t.length?i:t[n-1]})),e}languageDataAt(e,t,i=-1){let s=[];for(let n of this.facet(Ho))for(let o of n(this,t,i))Object.prototype.hasOwnProperty.call(o,e)&&s.push(o[e]);return s}charCategorizer(e){let t=this.languageDataAt("wordChars",e);return Rc(t.length?t[0]:"")}wordAt(e){let{text:t,from:i,length:s}=this.doc.lineAt(e),n=this.charCategorizer(e),o=e-i,l=e-i;for(;o>0;){let a=ve(t,o,!1);if(n(t.slice(a,o))!=Pe.Word)break;o=a}for(;l<s;){let a=ve(t,l);if(n(t.slice(l,a))!=Pe.Word)break;l=a}return o==l?null:w.range(o+i,l+i)}};U.allowMultipleSelections=or;U.tabSize=P.define({combine:r=>r.length?r[0]:4});U.lineSeparator=Ko;U.readOnly=il;U.phrases=P.define({compare(r,e){let t=Object.keys(r),i=Object.keys(e);return t.length==i.length&&t.every(s=>r[s]==e[s])}});U.languageData=Ho;U.changeFilter=Jo;U.transactionFilter=el;U.transactionExtender=tl;Et.reconfigure=D.define();function rs(r,e,t={}){let i={};for(let s of r)for(let n of Object.keys(s)){let o=s[n],l=i[n];if(l===void 0)i[n]=o;else if(!(l===o||o===void 0))if(Object.hasOwnProperty.call(t,n))i[n]=t[n](l,o);else throw new Error("Config merge conflict for field "+n)}for(let s in e)i[s]===void 0&&(i[s]=e[s]);return i}var Qe=class{eq(e){return this==e}range(e,t=e){return mi.create(e,t,this)}};Qe.prototype.startSide=Qe.prototype.endSide=0;Qe.prototype.point=!1;Qe.prototype.mapMode=te.TrackDel;function Sr(r,e){return r==e||r.constructor==e.constructor&&r.eq(e)}var mi=class r{constructor(e,t,i){this.from=e,this.to=t,this.value=i}static create(e,t,i){return new r(e,t,i)}};function fr(r,e){return r.from-e.from||r.value.startSide-e.value.startSide}var ur=class r{constructor(e,t,i,s){this.from=e,this.to=t,this.value=i,this.maxPoint=s}get length(){return this.to[this.to.length-1]}findIndex(e,t,i,s=0){let n=i?this.to:this.from;for(let o=s,l=n.length;;){if(o==l)return o;let a=o+l>>1,h=n[a]-e||(i?this.value[a].endSide:this.value[a].startSide)-t;if(a==o)return h>=0?o:l;h>=0?l=a:o=a+1}}between(e,t,i,s){for(let n=this.findIndex(t,-1e9,!0),o=this.findIndex(i,1e9,!1,n);n<o;n++)if(s(this.from[n]+e,this.to[n]+e,this.value[n])===!1)return!1}map(e,t){let i=[],s=[],n=[],o=-1,l=-1;for(let a=0;a<this.value.length;a++){let h=this.value[a],c=this.from[a]+e,f=this.to[a]+e,u,O;if(c==f){let p=t.mapPos(c,h.startSide,h.mapMode);if(p==null||(u=O=p,h.startSide!=h.endSide&&(O=t.mapPos(c,h.endSide),O<u)))continue}else if(u=t.mapPos(c,h.startSide),O=t.mapPos(f,h.endSide),u>O||u==O&&h.startSide>0&&h.endSide<=0)continue;(O-u||h.endSide-h.startSide)<0||(o<0&&(o=u),h.point&&(l=Math.max(l,O-u)),i.push(h),s.push(u-o),n.push(O-o))}return{mapped:i.length?new r(s,n,i,l):null,pos:o}}},z=class r{constructor(e,t,i,s){this.chunkPos=e,this.chunk=t,this.nextLayer=i,this.maxPoint=s}static create(e,t,i,s){return new r(e,t,i,s)}get length(){let e=this.chunk.length-1;return e<0?0:Math.max(this.chunkEnd(e),this.nextLayer.length)}get size(){if(this.isEmpty)return 0;let e=this.nextLayer.size;for(let t of this.chunk)e+=t.value.length;return e}chunkEnd(e){return this.chunkPos[e]+this.chunk[e].length}update(e){let{add:t=[],sort:i=!1,filterFrom:s=0,filterTo:n=this.length}=e,o=e.filter;if(t.length==0&&!o)return this;if(i&&(t=t.slice().sort(fr)),this.isEmpty)return t.length?r.of(t):this;let l=new ss(this,null,-1).goto(0),a=0,h=[],c=new $t;for(;l.value||a<t.length;)if(a<t.length&&(l.from-t[a].from||l.startSide-t[a].value.startSide)>=0){let f=t[a++];c.addInner(f.from,f.to,f.value)||h.push(f)}else l.rangeIndex==1&&l.chunkIndex<this.chunk.length&&(a==t.length||this.chunkEnd(l.chunkIndex)<t[a].from)&&(!o||s>this.chunkEnd(l.chunkIndex)||n<this.chunkPos[l.chunkIndex])&&c.addChunk(this.chunkPos[l.chunkIndex],this.chunk[l.chunkIndex])?l.nextChunk():((!o||s>l.to||n<l.from||o(l.from,l.to,l.value))&&(c.addInner(l.from,l.to,l.value)||h.push(mi.create(l.from,l.to,l.value))),l.next());return c.finishInner(this.nextLayer.isEmpty&&!h.length?r.empty:this.nextLayer.update({add:h,filter:o,filterFrom:s,filterTo:n}))}map(e){if(e.empty||this.isEmpty)return this;let t=[],i=[],s=-1;for(let o=0;o<this.chunk.length;o++){let l=this.chunkPos[o],a=this.chunk[o],h=e.touchesRange(l,l+a.length);if(h===!1)s=Math.max(s,a.maxPoint),t.push(a),i.push(e.mapPos(l));else if(h===!0){let{mapped:c,pos:f}=a.map(l,e);c&&(s=Math.max(s,c.maxPoint),t.push(c),i.push(f))}}let n=this.nextLayer.map(e);return t.length==0?n:new r(i,t,n||r.empty,s)}between(e,t,i){if(!this.isEmpty){for(let s=0;s<this.chunk.length;s++){let n=this.chunkPos[s],o=this.chunk[s];if(t>=n&&e<=n+o.length&&o.between(n,e-n,t-n,i)===!1)return}this.nextLayer.between(e,t,i)}}iter(e=0){return Si.from([this]).goto(e)}get isEmpty(){return this.nextLayer==this}static iter(e,t=0){return Si.from(e).goto(t)}static compare(e,t,i,s,n=-1){let o=e.filter(f=>f.maxPoint>0||!f.isEmpty&&f.maxP
Line truncated
|
||||
`)}static newName(){let e=ll[ol]||1;return ll[ol]=e+1,"\u037C"+e.toString(36)}static mount(e,t,i){let s=e[br],n=i&&i.nonce;s?n&&s.setNonce(n):s=new Qr(e,n),s.mount(Array.isArray(t)?t:[t],e)}},al=new Map,Qr=class{constructor(e,t){let i=e.ownerDocument||e,s=i.defaultView;if(!e.head&&e.adoptedStyleSheets&&s.CSSStyleSheet){let n=al.get(i);if(n)return e[br]=n;this.sheet=new s.CSSStyleSheet,al.set(i,this)}else this.styleTag=i.createElement("style"),t&&this.styleTag.setAttribute("nonce",t);this.modules=[],e[br]=this}mount(e,t){let i=this.sheet,s=0,n=0;for(let o=0;o<e.length;o++){let l=e[o],a=this.modules.indexOf(l);if(a<n&&a>-1&&(this.modules.splice(a,1),n--,a=-1),a==-1){if(this.modules.splice(n++,0,l),i)for(let h=0;h<l.rules.length;h++)i.insertRule(l.rules[h],s++)}else{for(;n<a;)s+=this.modules[n++].rules.length;s+=l.rules.length,n++}}if(i)t.adoptedStyleSheets.indexOf(this.sheet)<0&&(t.adoptedStyleSheets=[this.sheet,...t.adoptedStyleSheets]);else{let o="";for(let a=0;a<this.modules.length;a++)o+=this.modules[a].getRules()+`
|
||||
`;this.styleTag.textContent=o;let l=t.head||t;this.styleTag.parentNode!=l&&l.insertBefore(this.styleTag,l.firstChild)}}setNonce(e){this.styleTag&&this.styleTag.getAttribute("nonce")!=e&&this.styleTag.setAttribute("nonce",e)}};var Ne={8:"Backspace",9:"Tab",10:"Enter",12:"NumLock",13:"Enter",16:"Shift",17:"Control",18:"Alt",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",44:"PrintScreen",45:"Insert",46:"Delete",59:";",61:"=",91:"Meta",92:"Meta",106:"*",107:"+",108:",",109:"-",110:".",111:"/",144:"NumLock",145:"ScrollLock",160:"Shift",161:"Shift",162:"Control",163:"Control",164:"Alt",165:"Alt",173:"-",186:";",187:"=",188:",",189:"-",190:".",191:"/",192:"`",219:"[",220:"\\",221:"]",222:"'"},Wt={48:")",49:"!",50:"@",51:"#",52:"$",53:"%",54:"^",55:"&",56:"*",57:"(",59:":",61:"+",173:"_",186:":",187:"+",188:"<",189:"_",190:">",191:"?",192:"~",219:"{",220:"|",221:"}",222:'"'},Ac=typeof navigator<"u"&&/Mac/.test(navigator.platform),Mc=typeof navigator<"u"&&/MSIE \d|Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(navigator.userAgent);for(K=0;K<10;K++)Ne[48+K]=Ne[96+K]=String(K);var K;for(K=1;K<=24;K++)Ne[K+111]="F"+K;var K;for(K=65;K<=90;K++)Ne[K]=String.fromCharCode(K+32),Wt[K]=String.fromCharCode(K);var K;for(ns in Ne)Wt.hasOwnProperty(ns)||(Wt[ns]=Ne[ns]);var ns;function hl(r){var e=Ac&&r.metaKey&&r.shiftKey&&!r.ctrlKey&&!r.altKey||Mc&&r.shiftKey&&r.key&&r.key.length==1||r.key=="Unidentified",t=!e&&r.key||(r.shiftKey?Wt:Ne)[r.keyCode]||r.key||"Unidentified";return t=="Esc"&&(t="Escape"),t=="Del"&&(t="Delete"),t=="Left"&&(t="ArrowLeft"),t=="Up"&&(t="ArrowUp"),t=="Right"&&(t="ArrowRight"),t=="Down"&&(t="ArrowDown"),t}var ne=typeof navigator<"u"?navigator:{userAgent:"",vendor:"",platform:""},Tr=typeof document<"u"?document:{documentElement:{style:{}}},Zr=/Edge\/(\d+)/.exec(ne.userAgent),Vl=/MSIE \d/.test(ne.userAgent),Cr=/Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(ne.userAgent),Xs=!!(Vl||Cr||Zr),cl=!Xs&&/gecko\/(\d+)/i.test(ne.userAgent),yr=!Xs&&/Chrome\/(\d+)/.exec(ne.userAgent),fl="webkitFontSmoothing"in Tr.documentElement.style,Xr=!Xs&&/Apple Computer/.test(ne.vendor),ul=Xr&&(/Mobile\/\w+/.test(ne.userAgent)||ne.maxTouchPoints>2),y={mac:ul||/Mac/.test(ne.platform),windows:/Win/.test(ne.platform),linux:/Linux|X11/.test(ne.platform),ie:Xs,ie_version:Vl?Tr.documentMode||6:Cr?+Cr[1]:Zr?+Zr[1]:0,gecko:cl,gecko_version:cl?+(/Firefox\/(\d+)/.exec(ne.userAgent)||[0,0])[1]:0,chrome:!!yr,chrome_version:yr?+yr[1]:0,ios:ul,android:/Android\b/.test(ne.userAgent),webkit:fl,webkit_version:fl?+(/\bAppleWebKit\/(\d+)/.exec(ne.userAgent)||[0,0])[1]:0,safari:Xr,safari_version:Xr?+(/\bVersion\/(\d+(\.\d+)?)/.exec(ne.userAgent)||[0,0])[1]:0,tabSize:Tr.documentElement.style.tabSize!=null?"tab-size":"-moz-tab-size"};function gn(r,e){for(let t in r)t=="class"&&e.class?e.class+=" "+r.class:t=="style"&&e.style?e.style+=";"+r.style:e[t]=r[t];return e}var gs=Object.create(null);function mn(r,e,t){if(r==e)return!0;r||(r=gs),e||(e=gs);let i=Object.keys(r),s=Object.keys(e);if(i.length-(t&&i.indexOf(t)>-1?1:0)!=s.length-(t&&s.indexOf(t)>-1?1:0))return!1;for(let n of i)if(n!=t&&(s.indexOf(n)==-1||r[n]!==e[n]))return!1;return!0}function zc(r,e){for(let t=r.attributes.length-1;t>=0;t--){let i=r.attributes[t].name;e[i]==null&&r.removeAttribute(i)}for(let t in e){let i=e[t];t=="style"?r.style.cssText=i:r.getAttribute(t)!=i&&r.setAttribute(t,i)}}function Ol(r,e,t){let i=!1;if(e)for(let s in e)t&&s in t||(i=!0,s=="style"?r.style.cssText="":r.removeAttribute(s));if(t)for(let s in t)e&&e[s]==t[s]||(i=!0,s=="style"?r.style.cssText=t[s]:r.setAttribute(s,t[s]));return i}function Yc(r){let e=Object.create(null);for(let t=0;t<r.attributes.length;t++){let i=r.attributes[t];e[i.name]=i.value}return e}var Fe=class{eq(e){return!1}updateDOM(e,t,i){return!1}compare(e){return this==e||this.constructor==e.constructor&&this.eq(e)}get estimatedHeight(){return-1}get lineBreaks(){return 0}ignoreEvent(e){return!0}coordsAt(e,t,i){return null}get isHidden(){return!1}get editable(){return!1}destroy(e){}},he=(function(r){return r[r.Text=0]="Text",r[r.WidgetBefore=1]="WidgetBefore",r[r.WidgetAfter=2]="WidgetAfter",r[r.WidgetRange=3]="WidgetRange",r})(he||(he={})),_=class extends Qe{constructor(e,t,i,s){super(),this.startSide=e,this.endSide=t,this.widget=i,this.spec=s}get heightRelevant(){return!1}static mark(e){return new Zi(e)}static widget(e){let t=Math.max(-1e4,Math.min(1e4,e.side||0)),i=!!e.block;return t+=i&&!e.inlineOrder?t>0?3e8:-4e8:t>0?1e8:-1e8,new Tt(e,t,t,i,e.widget||null,!1)}static replace(e){let t=!!e.block,i,s;if(e.isBlockGap)i=-5e8,s=4e8;else{let{start:n,end:o}=El(e,t);i=(n?t?-3e8:-1:5e8)-1,s=(o?t?2e8:1:-6e8)+1}return new Tt(e,i,s,t,e.widget||null,!0)}static line(e){return new Ci(e)}static set(e,t=!1){return z.of(e,t)}hasHeight(){return this.widget?this.widget.estimatedHeight>-1:!1}};_.none=z.empty;var Zi=class r extends _{constructor(e){let{start:t,end:i}=El(e);super(t?-1:5e8Line truncated
|
||||
`,s=r.state.doc.line(s.number+(t?1:-1)),n=r.bidiSpans(s),h=r.visualLineSide(s,!t)}if(a){if(!a(c))return l}else{if(!i)return h;a=i(c)}l=h}}function bf(r,e,t){let i=r.state.charCategorizer(e),s=i(t);return n=>{let o=i(n);return s==Pe.Space&&(s=o),s==o}}function Qf(r,e,t,i){let s=e.head,n=t?1:-1;if(s==(t?r.state.doc.length:0))return w.cursor(s,e.assoc);let o=e.goalColumn,l,a=r.contentDOM.getBoundingClientRect(),h=r.coordsAtPos(s,e.assoc||((e.empty?t:e.head==e.from)?1:-1)),c=r.documentTop;if(h)o==null&&(o=h.left-a.left),l=n<0?h.top:h.bottom;else{let p=r.viewState.lineBlockAt(s);o==null&&(o=Math.min(a.right-a.left,r.defaultCharacterWidth*(s-p.from))),l=(n<0?p.top:p.bottom)+c}let f=a.left+o,u=r.viewState.heightOracle.textHeight>>1,O=i??u;for(let p=0;;p+=u){let g=l+(O+p)*n,m=Ir(r,{x:f,y:g},!1,n);if(t?g>a.bottom:g<a.top)return w.cursor(m.pos,m.assoc);let S=r.coordsAtPos(m.pos,m.assoc),b=S?(S.top+S.bottom)/2:0;if(!S||(t?b>l:b<l))return w.cursor(m.pos,m.assoc,void 0,o)}}function Pi(r,e,t){for(;;){let i=0;for(let s of r)s.between(e-1,e+1,(n,o,l)=>{if(e>n&&e<o){let a=i||t||(e-n<o-e?-1:1);e=a<0?n:o,i=a}});if(!i)return e}}function da(r,e){let t=null;for(let i=0;i<e.ranges.length;i++){let s=e.ranges[i],n=null;if(s.empty){let o=Pi(r,s.from,0);o!=s.from&&(n=w.cursor(o,-1))}else{let o=Pi(r,s.from,-1),l=Pi(r,s.to,1);(o!=s.from||l!=s.to)&&(n=w.range(s.from==s.anchor?o:l,s.from==s.head?o:l))}n&&(t||(t=e.ranges.slice()),t[i]=n)}return t?w.create(t,e.mainIndex):e}function $r(r,e,t){let i=Pi(r.state.facet(Ai).map(s=>s(r)),t.from,e.head>t.from?-1:1);return i==t.from?t:w.cursor(i,i<t.from?1:-1)}var we=class{constructor(e,t){this.pos=e,this.assoc=t}};function Ir(r,e,t,i){let s=r.contentDOM.getBoundingClientRect(),n=s.top+r.viewState.paddingTop,{x:o,y:l}=e,a=l-n,h;for(;;){if(a<0)return new we(0,1);if(a>r.viewState.docHeight)return new we(r.state.doc.length,-1);if(h=r.elementAtHeight(a),i==null)break;if(h.type==he.Text){if(i<0?h.to<r.viewport.from:h.from>r.viewport.to)break;let u=r.docView.coordsAt(i<0?h.from:h.to,i>0?-1:1);if(u&&(i<0?u.top<=a+n:u.bottom>=a+n))break}let f=r.viewState.heightOracle.textHeight/2;a=i>0?h.bottom+f:h.top-f}if(r.viewport.from>=h.to||r.viewport.to<=h.from){if(t)return null;if(h.type==he.Text){let f=gf(r,s,h,o,l);return new we(f,f==h.from?1:-1)}}if(h.type!=he.Text)return a<(h.top+h.bottom)/2?new we(h.from,1):new we(h.to,-1);let c=r.docView.lineAt(h.from,2);return(!c||c.length!=h.length)&&(c=r.docView.lineAt(h.from,-2)),new Nr(r,o,l,r.textDirectionAt(h.from)).scanTile(c,h.from)}var Nr=class{constructor(e,t,i,s){this.view=e,this.x=t,this.y=i,this.baseDir=s,this.line=null,this.spans=null}bidiSpansAt(e){return(!this.line||this.line.from>e||this.line.to<e)&&(this.line=this.view.state.doc.lineAt(e),this.spans=this.view.bidiSpans(this.line)),this}baseDirAt(e,t){let{line:i,spans:s}=this.bidiSpansAt(e);return s[$e.find(s,e-i.from,-1,t)].level==this.baseDir}dirAt(e,t){let{line:i,spans:s}=this.bidiSpansAt(e);return s[$e.find(s,e-i.from,-1,t)].dir}bidiIn(e,t){let{spans:i,line:s}=this.bidiSpansAt(e);return i.length>1||i.length&&(i[0].level!=this.baseDir||i[0].to+s.from<t)}scan(e,t,i=!1){let s=0,n=e.length-1,o=new Set,l=this.bidiIn(e[0],e[n]),a,h,c=-1,f=1e9,u;e:for(;s<n;){let p=n-s,g=s+n>>1;t:if(o.has(g)){let S=s+Math.floor(Math.random()*p);for(let b=0;b<p;b++){if(!o.has(S)){g=S;break t}S++,S==n&&(S=s)}break e}o.add(g);let m=t(g);if(m)for(let S=0;S<m.length;S++){let b=m[S],x=0;if(!(b.width==0&&m.length>1)){if(b.bottom<this.y)(!a||a.bottom<b.bottom)&&(a=b),x=1;else if(b.top>this.y)(!h||h.top>b.top)&&(h=b),x=-1;else{let R=b.left>this.x?this.x-b.left:b.right<this.x?this.x-b.right:0,v=Math.abs(R);v<f&&(c=g,f=v,u=b),R&&(x=R<0==(this.baseDir==H.LTR)?-1:1)}x==-1&&(!l||this.baseDirAt(e[g],1))?n=g:x==1&&(!l||this.baseDirAt(e[g+1],-1))&&(s=g+1)}}}if(!u){if(!h&&!a)return{i:e[0],after:!1};let p=a&&(!h||this.y-a.bottom<h.top-this.y)?a:h;return this.y=(p.top+p.bottom)/2,this.scan(e,t,!0)}if(f&&!i){let{top:p,bottom:g}=u;if(a&&a.bottom>(p+p+g)/3)return this.y=a.bottom-1,this.scan(e,t,!0);if(h&&h.top<(p+g+g)/3)return this.y=h.top+1,this.scan(e,t,!0)}let O=(l?this.dirAt(e[c],1):this.baseDir)==H.LTR;return{i:c,after:this.x>(u.left+u.right)/2==O}}scanText(e,t){let i=[];for(let n=0;n<e.length;n=ve(e.text,n))i.push(t+n);i.push(t+e.length);let s=this.scan(i,n=>{let o=i[n]-t,l=i[n+1]-t;return Ri(e.dom,o,l).getClientRects()});return s.after?new we(i[s.i+1],-1):new we(i[s.i],1)}scanTile(e,t){if(!e.length)return new we(t,1);if(e.children.length==1){let l=e.children[0];if(l.isText())return this.scanText(l,t);if(l.isComposite())return this.scanTile(l,t)}let i=[t];for(let l=0,a=t;l<e.children.length;l++)i.push(a+=e.children[l].length);let s=this.scan(i,l=>{let a=e.children[l];return a.flags&48?null:(a.dom.nodeType==1?a.dom:Ri(a.dom,0,a.length)).getClientRects()}),n=e.children[s.i],o=i[s.i];return n.isText()?this.scanText(n,o):n.isComposite()?this.scanTile(n,o):s.after?new we(i[s.i+1],-1):new we(o,1)}},qt="\uFFFF",Gr=class{constructor(e,t){this.points=e,
Line truncated
|
||||
`&&r.lineWrapping&&(i&&(i=w.single(i.main.anchor-1,i.main.head-1)),t={from:n.from,to:n.to,insert:M.of([" "])}),t)return wn(r,t,i,o);if(i&&!$s(i,n)){let l=!1,a="select";return r.inputState.lastSelectionTime>Date.now()-50&&(r.inputState.lastSelectionOrigin=="select"&&(l=!0),a=r.inputState.lastSelectionOrigin,a=="select.pointer"&&(i=da(s.facet(Ai).map(h=>h(r)),i))),r.dispatch({selection:i,scrollIntoView:l,userEvent:a}),!0}else return!1}function wn(r,e,t,i=-1){if(y.ios&&r.inputState.flushIOSKey(e))return!0;let s=r.state.selection.main;if(y.android&&(e.to==s.to&&(e.from==s.from||e.from==s.from-1&&r.state.sliceDoc(e.from,s.from)==" ")&&e.insert.length==1&&e.insert.lines==2&&Nt(r.contentDOM,"Enter",13)||(e.from==s.from-1&&e.to==s.to&&e.insert.length==0||i==8&&e.insert.length<e.to-e.from&&e.to>s.head)&&Nt(r.contentDOM,"Backspace",8)||e.from==s.from&&e.to==s.to+1&&e.insert.length==0&&Nt(r.contentDOM,"Delete",46)))return!0;let n=e.insert.toString();r.inputState.composing>=0&&r.inputState.composing++;let o,l=()=>o||(o=wf(r,e,t));return r.state.facet(ia).some(a=>a(r,e.from,e.to,n,l))||r.dispatch(l()),!0}function wf(r,e,t){let i,s=r.state,n=s.selection.main,o=-1;if(e.from==e.to&&e.from<n.from||e.from>n.to){let a=e.from<n.from?-1:1,h=a<0?n.from:n.to,c=Pi(s.facet(Ai).map(f=>f(r)),h,a);e.from==c&&(o=c)}if(o>-1)i={changes:e,selection:w.cursor(e.from+e.insert.length,-1)};else if(e.from>=n.from&&e.to<=n.to&&e.to-e.from>=(n.to-n.from)/3&&(!t||t.main.empty&&t.main.from==e.from+e.insert.length)&&r.inputState.composing<0){let a=n.from<e.from?s.sliceDoc(n.from,e.from):"",h=n.to>e.to?s.sliceDoc(e.to,n.to):"";i=s.replaceSelection(r.state.toText(a+e.insert.sliceString(0,void 0,r.state.lineBreak)+h))}else{let a=s.changes(e),h=t&&t.main.to<=a.newLength?t.main:void 0;if(s.selection.ranges.length>1&&(r.inputState.composing>=0||r.inputState.compositionPendingChange)&&e.to<=n.to+10&&e.to>=n.to-10){let c=r.state.sliceDoc(e.from,e.to),f,u=t&&Oa(r,t.main.head);if(u){let p=e.insert.length-(e.to-e.from);f={from:u.from,to:u.to-p}}else f=r.state.doc.lineAt(n.head);let O=n.to-e.to;i=s.changeByRange(p=>{if(p.from==n.from&&p.to==n.to)return{changes:a,range:h||p.map(a)};let g=p.to-O,m=g-c.length;if(r.state.sliceDoc(m,g)!=c||g>=f.from&&m<=f.to)return{range:p};let S=s.changes({from:m,to:g,insert:e.insert}),b=p.to-n.to;return{changes:S,range:h?w.range(Math.max(0,h.anchor+b),Math.max(0,h.head+b)):p.map(S)}})}else i={changes:a,selection:h&&s.selection.replaceRange(h)}}let l="input.type";return(r.composing||r.inputState.compositionPendingChange&&r.inputState.compositionEndedAt>Date.now()-50)&&(r.inputState.compositionPendingChange=!1,l+=".compose",r.inputState.compositionFirstChange&&(l+=".start",r.inputState.compositionFirstChange=!1)),s.update(i,{userEvent:l,scrollIntoView:!0})}function ma(r,e,t,i){let s=Math.min(r.length,e.length),n=0;for(;n<s&&r.charCodeAt(n)==e.charCodeAt(n);)n++;if(n==s&&r.length==e.length)return null;let o=r.length,l=e.length;for(;o>0&&l>0&&r.charCodeAt(o-1)==e.charCodeAt(l-1);)o--,l--;if(i=="end"){let a=Math.max(0,n-Math.min(o,l));t-=o+a-n}if(o<n&&r.length<e.length){let a=t<=n&&t>=o?n-t:0;n-=a,l=n+(l-o),o=n}else if(l<n){let a=t<=n&&t>=l?n-t:0;n-=a,o=n+(o-l),l=n}return{from:n,toA:o,toB:l}}function $f(r){let e=[];if(r.root.activeElement!=r.contentDOM)return e;let{anchorNode:t,anchorOffset:i,focusNode:s,focusOffset:n}=r.observer.selectionRange;return t&&(e.push(new ws(t,i)),(s!=t||n!=i)&&e.push(new ws(s,n))),e}function kf(r,e){if(r.length==0)return null;let t=r[0].pos,i=r.length==2?r[1].pos:t;return t>-1&&i>-1?w.single(t+e,i+e):null}function $s(r,e){return e.head==r.main.head&&e.anchor==r.main.anchor}var Fr=class{setSelectionOrigin(e){this.lastSelectionOrigin=e,this.lastSelectionTime=Date.now()}constructor(e){this.view=e,this.lastKeyCode=0,this.lastKeyTime=0,this.lastTouchTime=0,this.lastTouchX=0,this.lastTouchY=0,this.lastFocusTime=0,this.lastScrollTop=0,this.lastScrollLeft=0,this.lastWheelEvent=0,this.pendingIOSKey=void 0,this.tabFocusMode=-1,this.lastSelectionOrigin=null,this.lastSelectionTime=0,this.lastContextMenu=0,this.scrollHandlers=[],this.handlers=Object.create(null),this.composing=-1,this.compositionFirstChange=null,this.compositionEndedAt=0,this.compositionPendingKey=!1,this.compositionPendingChange=!1,this.insertingText="",this.insertingTextAt=0,this.mouseSelection=null,this.draggedContent=null,this.handleEvent=this.handleEvent.bind(this),this.notifiedFocused=e.hasFocus,y.safari&&e.contentDOM.addEventListener("input",()=>null),y.gecko&&Vf(e.contentDOM.ownerDocument)}handleEvent(e){!Rf(this.view,e)||this.ignoreDuringComposition(e)||e.type=="keydown"&&this.keydown(e)||(this.view.updateState!=0?Promise.resolve().then(()=>this.runHandlers(e.type,e)):this.runHandlers(e.type,e))}runHandlers(e,t){let i=this.handlers[e];if(i){for(let s of i.observers)s(this.view,t);for(let s of i.handlers){if(t.defaultPrevented)break;if(s(this.view,t)){t.preventDefault();break}}}}ensureHandlers(e){let t=Pf(e),i=this.handlers,s=this.view.content
Line truncated
|
||||
`))};if((y.mac||y.android)&&f.from==o-1&&/^\. ?$/.test(i.text)&&e.contentDOM.getAttribute("autocorrect")=="off"&&(f={from:l,to:a,insert:M.of([i.text.replace("."," ")])}),this.pendingContextChange=f,!e.state.readOnly){let u=this.to-this.from+(f.to-f.from+f.insert.length);wn(e,f,w.single(this.toEditorPos(i.selectionStart,u),this.toEditorPos(i.selectionEnd,u)))}this.pendingContextChange&&(this.revertPending(e.state),this.setSelection(e.state)),f.from<f.to&&!f.insert.length&&e.inputState.composing>=0&&!/[\\p{Alphabetic}\\p{Number}_]/.test(t.text.slice(Math.max(0,i.updateRangeStart-1),Math.min(t.text.length,i.updateRangeStart+1)))&&this.handlers.compositionend(i)},this.handlers.characterboundsupdate=i=>{let s=[],n=null;for(let o=this.toEditorPos(i.rangeStart),l=this.toEditorPos(i.rangeEnd);o<l;o++){let a=e.coordsForChar(o);n=a&&new DOMRect(a.left,a.top,a.right-a.left,a.bottom-a.top)||n||new DOMRect,s.push(n)}t.updateCharacterBounds(i.rangeStart,s)},this.handlers.textformatupdate=i=>{let s=[];for(let n of i.getTextFormats()){let o=n.underlineStyle,l=n.underlineThickness;if(!/none/i.test(o)&&!/none/i.test(l)){let a=this.toEditorPos(n.rangeStart),h=this.toEditorPos(n.rangeEnd);if(a<h){let c=`text-decoration: underline ${/^[a-z]/.test(o)?o+" ":o=="Dashed"?"dashed ":o=="Squiggle"?"wavy ":""}${/thin/i.test(l)?1:2}px`;s.push(_.mark({attributes:{style:c}}).range(a,h))}}}e.dispatch({effects:oa.of(_.set(s))})},this.handlers.compositionstart=()=>{e.inputState.composing<0&&(e.inputState.composing=0,e.inputState.compositionFirstChange=!0)},this.handlers.compositionend=()=>{if(e.inputState.composing=-1,e.inputState.compositionFirstChange=null,this.composing){let{drifted:i}=this.composing;this.composing=null,i&&this.reset(e.state)}};for(let i in this.handlers)t.addEventListener(i,this.handlers[i]);this.measureReq={read:i=>{this.editContext.updateControlBounds(i.contentDOM.getBoundingClientRect());let s=Xi(i.root);s&&s.rangeCount&&this.editContext.updateSelectionBounds(s.getRangeAt(0).getBoundingClientRect())}}}applyEdits(e){let t=0,i=!1,s=this.pendingContextChange;return e.changes.iterChanges((n,o,l,a,h)=>{if(i)return;let c=h.length-(o-n);if(s&&o>=s.to)if(s.from==n&&s.to==o&&s.insert.eq(h)){s=this.pendingContextChange=null,t+=c,this.to+=c;return}else s=null,this.revertPending(e.state);if(n+=t,o+=t,o<=this.from)this.from+=c,this.to+=c;else if(n<this.to){if(n<this.from||o>this.to||this.to-this.from+h.length>3e4){i=!0;return}this.editContext.updateText(this.toContextPos(n),this.toContextPos(o),h.toString()),this.to+=c}t+=c}),s&&!i&&this.revertPending(e.state),!i}update(e){let t=this.pendingContextChange,i=e.startState.selection.main;this.composing&&(this.composing.drifted||!e.changes.touchesRange(i.from,i.to)&&e.transactions.some(s=>!s.isUserEvent("input.type")&&s.changes.touchesRange(this.from,this.to)))?(this.composing.drifted=!0,this.composing.editorBase=e.changes.mapPos(this.composing.editorBase)):!this.applyEdits(e)||!this.rangeIsValid(e.state)?(this.pendingContextChange=null,this.reset(e.state)):(e.docChanged||e.selectionSet||t)&&this.setSelection(e.state),(e.geometryChanged||e.docChanged||e.selectionSet)&&e.view.requestMeasure(this.measureReq)}resetRange(e){let{head:t}=e.selection.main;this.from=Math.max(0,t-1e4),this.to=Math.min(e.doc.length,t+1e4)}reset(e){this.resetRange(e),this.editContext.updateText(0,this.editContext.text.length,e.doc.sliceString(this.from,this.to)),this.setSelection(e)}revertPending(e){let t=this.pendingContextChange;this.pendingContextChange=null,this.editContext.updateText(this.toContextPos(t.from),this.toContextPos(t.from+t.insert.length),e.doc.sliceString(t.from,t.to))}setSelection(e){let{main:t}=e.selection,i=this.toContextPos(Math.max(this.from,Math.min(this.to,t.anchor))),s=this.toContextPos(t.head);(this.editContext.selectionStart!=i||this.editContext.selectionEnd!=s)&&this.editContext.updateSelection(i,s)}rangeIsValid(e){let{head:t}=e.selection.main;return!(this.from>0&&t-this.from<500||this.to<e.doc.length&&this.to-t<500||this.to-this.from>1e4*3)}toEditorPos(e,t=this.to-this.from){e=Math.min(e,t);let i=this.composing;return i&&i.drifted?i.editorBase+(e-i.contextBase):e+this.from}toContextPos(e){let t=this.composing;return t&&t.drifted?t.contextBase+(e-t.editorBase):e-this.from}destroy(){for(let e in this.handlers)this.editContext.removeEventListener(e,this.handlers[e])}},T=class r{get state(){return this.viewState.state}get viewport(){return this.viewState.viewport}get visibleRanges(){return this.viewState.visibleRanges}get inView(){return this.viewState.inView}get composing(){return!!this.inputState&&this.inputState.composing>0}get compositionStarted(){return!!this.inputState&&this.inputState.composing>=0}get root(){return this._root}get win(){return this.dom.ownerDocument.defaultView||window}constructor(e={}){var t;this.plugins=[],this.pluginMap=new Map,this.editorAttrs={},this.contentAttrs={},this.bidiCache=[],this.destroyed=!1,this.updateState=2,this.measureScheduled=-1,this.measureRe
Line truncated
|
||||
`;this.styleTag.textContent=o;let l=t.head||t;this.styleTag.parentNode!=l&&l.insertBefore(this.styleTag,l.firstChild)}}setNonce(e){this.styleTag&&this.styleTag.getAttribute("nonce")!=e&&this.styleTag.setAttribute("nonce",e)}};var Ne={8:"Backspace",9:"Tab",10:"Enter",12:"NumLock",13:"Enter",16:"Shift",17:"Control",18:"Alt",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",44:"PrintScreen",45:"Insert",46:"Delete",59:";",61:"=",91:"Meta",92:"Meta",106:"*",107:"+",108:",",109:"-",110:".",111:"/",144:"NumLock",145:"ScrollLock",160:"Shift",161:"Shift",162:"Control",163:"Control",164:"Alt",165:"Alt",173:"-",186:";",187:"=",188:",",189:"-",190:".",191:"/",192:"`",219:"[",220:"\\",221:"]",222:"'"},Wt={48:")",49:"!",50:"@",51:"#",52:"$",53:"%",54:"^",55:"&",56:"*",57:"(",59:":",61:"+",173:"_",186:":",187:"+",188:"<",189:"_",190:">",191:"?",192:"~",219:"{",220:"|",221:"}",222:'"'},Mc=typeof navigator<"u"&&/Mac/.test(navigator.platform),jc=typeof navigator<"u"&&/MSIE \d|Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(navigator.userAgent);for(K=0;K<10;K++)Ne[48+K]=Ne[96+K]=String(K);var K;for(K=1;K<=24;K++)Ne[K+111]="F"+K;var K;for(K=65;K<=90;K++)Ne[K]=String.fromCharCode(K+32),Wt[K]=String.fromCharCode(K);var K;for(ns in Ne)Wt.hasOwnProperty(ns)||(Wt[ns]=Ne[ns]);var ns;function hl(r){var e=Mc&&r.metaKey&&r.shiftKey&&!r.ctrlKey&&!r.altKey||jc&&r.shiftKey&&r.key&&r.key.length==1||r.key=="Unidentified",t=!e&&r.key||(r.shiftKey?Wt:Ne)[r.keyCode]||r.key||"Unidentified";return t=="Esc"&&(t="Escape"),t=="Del"&&(t="Delete"),t=="Left"&&(t="ArrowLeft"),t=="Up"&&(t="ArrowUp"),t=="Right"&&(t="ArrowRight"),t=="Down"&&(t="ArrowDown"),t}var ne=typeof navigator<"u"?navigator:{userAgent:"",vendor:"",platform:""},Tr=typeof document<"u"?document:{documentElement:{style:{}}},Zr=/Edge\/(\d+)/.exec(ne.userAgent),Vl=/MSIE \d/.test(ne.userAgent),Cr=/Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(ne.userAgent),Xs=!!(Vl||Cr||Zr),cl=!Xs&&/gecko\/(\d+)/i.test(ne.userAgent),yr=!Xs&&/Chrome\/(\d+)/.exec(ne.userAgent),fl="webkitFontSmoothing"in Tr.documentElement.style,Xr=!Xs&&/Apple Computer/.test(ne.vendor),ul=Xr&&(/Mobile\/\w+/.test(ne.userAgent)||ne.maxTouchPoints>2),y={mac:ul||/Mac/.test(ne.platform),windows:/Win/.test(ne.platform),linux:/Linux|X11/.test(ne.platform),ie:Xs,ie_version:Vl?Tr.documentMode||6:Cr?+Cr[1]:Zr?+Zr[1]:0,gecko:cl,gecko_version:cl?+(/Firefox\/(\d+)/.exec(ne.userAgent)||[0,0])[1]:0,chrome:!!yr,chrome_version:yr?+yr[1]:0,ios:ul,android:/Android\b/.test(ne.userAgent),webkit:fl,webkit_version:fl?+(/\bAppleWebKit\/(\d+)/.exec(ne.userAgent)||[0,0])[1]:0,safari:Xr,safari_version:Xr?+(/\bVersion\/(\d+(\.\d+)?)/.exec(ne.userAgent)||[0,0])[1]:0,tabSize:Tr.documentElement.style.tabSize!=null?"tab-size":"-moz-tab-size"};function gn(r,e){for(let t in r)t=="class"&&e.class?e.class+=" "+r.class:t=="style"&&e.style?e.style+=";"+r.style:e[t]=r[t];return e}var gs=Object.create(null);function mn(r,e,t){if(r==e)return!0;r||(r=gs),e||(e=gs);let i=Object.keys(r),s=Object.keys(e);if(i.length-(t&&i.indexOf(t)>-1?1:0)!=s.length-(t&&s.indexOf(t)>-1?1:0))return!1;for(let n of i)if(n!=t&&(s.indexOf(n)==-1||r[n]!==e[n]))return!1;return!0}function Yc(r,e){for(let t=r.attributes.length-1;t>=0;t--){let i=r.attributes[t].name;e[i]==null&&r.removeAttribute(i)}for(let t in e){let i=e[t];t=="style"?r.style.cssText=i:r.getAttribute(t)!=i&&r.setAttribute(t,i)}}function Ol(r,e,t){let i=!1;if(e)for(let s in e)t&&s in t||(i=!0,s=="style"?r.style.cssText="":r.removeAttribute(s));if(t)for(let s in t)e&&e[s]==t[s]||(i=!0,s=="style"?r.style.cssText=t[s]:r.setAttribute(s,t[s]));return i}function _c(r){let e=Object.create(null);for(let t=0;t<r.attributes.length;t++){let i=r.attributes[t];e[i.name]=i.value}return e}var Fe=class{eq(e){return!1}updateDOM(e,t,i){return!1}compare(e){return this==e||this.constructor==e.constructor&&this.eq(e)}get estimatedHeight(){return-1}get lineBreaks(){return 0}ignoreEvent(e){return!0}coordsAt(e,t,i){return null}get isHidden(){return!1}get editable(){return!1}destroy(e){}},he=(function(r){return r[r.Text=0]="Text",r[r.WidgetBefore=1]="WidgetBefore",r[r.WidgetAfter=2]="WidgetAfter",r[r.WidgetRange=3]="WidgetRange",r})(he||(he={})),_=class extends Qe{constructor(e,t,i,s){super(),this.startSide=e,this.endSide=t,this.widget=i,this.spec=s}get heightRelevant(){return!1}static mark(e){return new Zi(e)}static widget(e){let t=Math.max(-1e4,Math.min(1e4,e.side||0)),i=!!e.block;return t+=i&&!e.inlineOrder?t>0?3e8:-4e8:t>0?1e8:-1e8,new Tt(e,t,t,i,e.widget||null,!1)}static replace(e){let t=!!e.block,i,s;if(e.isBlockGap)i=-5e8,s=4e8;else{let{start:n,end:o}=El(e,t);i=(n?t?-3e8:-1:5e8)-1,s=(o?t?2e8:1:-6e8)+1}return new Tt(e,i,s,t,e.widget||null,!0)}static line(e){return new Ci(e)}static set(e,t=!1){return z.of(e,t)}hasHeight(){return this.widget?this.widget.estimatedHeight>-1:!1}};_.none=z.empty;var Zi=class r extends _{constructor(e){let{start:t,end:i}=El(e);super(t?-1:5e8Line truncated
|
||||
`,s=r.state.doc.line(s.number+(t?1:-1)),n=r.bidiSpans(s),h=r.visualLineSide(s,!t)}if(a){if(!a(c))return l}else{if(!i)return h;a=i(c)}l=h}}function Qf(r,e,t){let i=r.state.charCategorizer(e),s=i(t);return n=>{let o=i(n);return s==Pe.Space&&(s=o),s==o}}function yf(r,e,t,i){let s=e.head,n=t?1:-1;if(s==(t?r.state.doc.length:0))return w.cursor(s,e.assoc);let o=e.goalColumn,l,a=r.contentDOM.getBoundingClientRect(),h=r.coordsAtPos(s,e.assoc||((e.empty?t:e.head==e.from)?1:-1)),c=r.documentTop;if(h)o==null&&(o=h.left-a.left),l=n<0?h.top:h.bottom;else{let p=r.viewState.lineBlockAt(s);o==null&&(o=Math.min(a.right-a.left,r.defaultCharacterWidth*(s-p.from))),l=(n<0?p.top:p.bottom)+c}let f=a.left+o,u=r.viewState.heightOracle.textHeight>>1,O=i??u;for(let p=0;;p+=u){let g=l+(O+p)*n,m=Ir(r,{x:f,y:g},!1,n);if(t?g>a.bottom:g<a.top)return w.cursor(m.pos,m.assoc);let S=r.coordsAtPos(m.pos,m.assoc),b=S?(S.top+S.bottom)/2:0;if(!S||(t?b>l:b<l))return w.cursor(m.pos,m.assoc,void 0,o)}}function Pi(r,e,t){for(;;){let i=0;for(let s of r)s.between(e-1,e+1,(n,o,l)=>{if(e>n&&e<o){let a=i||t||(e-n<o-e?-1:1);e=a<0?n:o,i=a}});if(!i)return e}}function da(r,e){let t=null;for(let i=0;i<e.ranges.length;i++){let s=e.ranges[i],n=null;if(s.empty){let o=Pi(r,s.from,0);o!=s.from&&(n=w.cursor(o,-1))}else{let o=Pi(r,s.from,-1),l=Pi(r,s.to,1);(o!=s.from||l!=s.to)&&(n=w.range(s.from==s.anchor?o:l,s.from==s.head?o:l))}n&&(t||(t=e.ranges.slice()),t[i]=n)}return t?w.create(t,e.mainIndex):e}function $r(r,e,t){let i=Pi(r.state.facet(Ai).map(s=>s(r)),t.from,e.head>t.from?-1:1);return i==t.from?t:w.cursor(i,i<t.from?1:-1)}var we=class{constructor(e,t){this.pos=e,this.assoc=t}};function Ir(r,e,t,i){let s=r.contentDOM.getBoundingClientRect(),n=s.top+r.viewState.paddingTop,{x:o,y:l}=e,a=l-n,h;for(;;){if(a<0)return new we(0,1);if(a>r.viewState.docHeight)return new we(r.state.doc.length,-1);if(h=r.elementAtHeight(a),i==null)break;if(h.type==he.Text){if(i<0?h.to<r.viewport.from:h.from>r.viewport.to)break;let u=r.docView.coordsAt(i<0?h.from:h.to,i>0?-1:1);if(u&&(i<0?u.top<=a+n:u.bottom>=a+n))break}let f=r.viewState.heightOracle.textHeight/2;a=i>0?h.bottom+f:h.top-f}if(r.viewport.from>=h.to||r.viewport.to<=h.from){if(t)return null;if(h.type==he.Text){let f=mf(r,s,h,o,l);return new we(f,f==h.from?1:-1)}}if(h.type!=he.Text)return a<(h.top+h.bottom)/2?new we(h.from,1):new we(h.to,-1);let c=r.docView.lineAt(h.from,2);return(!c||c.length!=h.length)&&(c=r.docView.lineAt(h.from,-2)),new Nr(r,o,l,r.textDirectionAt(h.from)).scanTile(c,h.from)}var Nr=class{constructor(e,t,i,s){this.view=e,this.x=t,this.y=i,this.baseDir=s,this.line=null,this.spans=null}bidiSpansAt(e){return(!this.line||this.line.from>e||this.line.to<e)&&(this.line=this.view.state.doc.lineAt(e),this.spans=this.view.bidiSpans(this.line)),this}baseDirAt(e,t){let{line:i,spans:s}=this.bidiSpansAt(e);return s[$e.find(s,e-i.from,-1,t)].level==this.baseDir}dirAt(e,t){let{line:i,spans:s}=this.bidiSpansAt(e);return s[$e.find(s,e-i.from,-1,t)].dir}bidiIn(e,t){let{spans:i,line:s}=this.bidiSpansAt(e);return i.length>1||i.length&&(i[0].level!=this.baseDir||i[0].to+s.from<t)}scan(e,t,i=!1){let s=0,n=e.length-1,o=new Set,l=this.bidiIn(e[0],e[n]),a,h,c=-1,f=1e9,u;e:for(;s<n;){let p=n-s,g=s+n>>1;t:if(o.has(g)){let S=s+Math.floor(Math.random()*p);for(let b=0;b<p;b++){if(!o.has(S)){g=S;break t}S++,S==n&&(S=s)}break e}o.add(g);let m=t(g);if(m)for(let S=0;S<m.length;S++){let b=m[S],x=0;if(!(b.width==0&&m.length>1)){if(b.bottom<this.y)(!a||a.bottom<b.bottom)&&(a=b),x=1;else if(b.top>this.y)(!h||h.top>b.top)&&(h=b),x=-1;else{let R=b.left>this.x?this.x-b.left:b.right<this.x?this.x-b.right:0,v=Math.abs(R);v<f&&(c=g,f=v,u=b),R&&(x=R<0==(this.baseDir==H.LTR)?-1:1)}x==-1&&(!l||this.baseDirAt(e[g],1))?n=g:x==1&&(!l||this.baseDirAt(e[g+1],-1))&&(s=g+1)}}}if(!u){if(!h&&!a)return{i:e[0],after:!1};let p=a&&(!h||this.y-a.bottom<h.top-this.y)?a:h;return this.y=(p.top+p.bottom)/2,this.scan(e,t,!0)}if(f&&!i){let{top:p,bottom:g}=u;if(a&&a.bottom>(p+p+g)/3)return this.y=a.bottom-1,this.scan(e,t,!0);if(h&&h.top<(p+g+g)/3)return this.y=h.top+1,this.scan(e,t,!0)}let O=(l?this.dirAt(e[c],1):this.baseDir)==H.LTR;return{i:c,after:this.x>(u.left+u.right)/2==O}}scanText(e,t){let i=[];for(let n=0;n<e.length;n=ve(e.text,n))i.push(t+n);i.push(t+e.length);let s=this.scan(i,n=>{let o=i[n]-t,l=i[n+1]-t;return Ri(e.dom,o,l).getClientRects()});return s.after?new we(i[s.i+1],-1):new we(i[s.i],1)}scanTile(e,t){if(!e.length)return new we(t,1);if(e.children.length==1){let l=e.children[0];if(l.isText())return this.scanText(l,t);if(l.isComposite())return this.scanTile(l,t)}let i=[t];for(let l=0,a=t;l<e.children.length;l++)i.push(a+=e.children[l].length);let s=this.scan(i,l=>{let a=e.children[l];return a.flags&48?null:(a.dom.nodeType==1?a.dom:Ri(a.dom,0,a.length)).getClientRects()}),n=e.children[s.i],o=i[s.i];return n.isText()?this.scanText(n,o):n.isComposite()?this.scanTile(n,o):s.after?new we(i[s.i+1],-1):new we(o,1)}},qt="\uFFFF",Gr=class{constructor(e,t){this.points=e,
Line truncated
|
||||
`&&r.lineWrapping&&(i&&(i=w.single(i.main.anchor-1,i.main.head-1)),t={from:n.from,to:n.to,insert:M.of([" "])}),t)return wn(r,t,i,o);if(i&&!$s(i,n)){let l=!1,a="select";return r.inputState.lastSelectionTime>Date.now()-50&&(r.inputState.lastSelectionOrigin=="select"&&(l=!0),a=r.inputState.lastSelectionOrigin,a=="select.pointer"&&(i=da(s.facet(Ai).map(h=>h(r)),i))),r.dispatch({selection:i,scrollIntoView:l,userEvent:a}),!0}else return!1}function wn(r,e,t,i=-1){if(y.ios&&r.inputState.flushIOSKey(e))return!0;let s=r.state.selection.main;if(y.android&&(e.to==s.to&&(e.from==s.from||e.from==s.from-1&&r.state.sliceDoc(e.from,s.from)==" ")&&e.insert.length==1&&e.insert.lines==2&&Nt(r.contentDOM,"Enter",13)||(e.from==s.from-1&&e.to==s.to&&e.insert.length==0||i==8&&e.insert.length<e.to-e.from&&e.to>s.head)&&Nt(r.contentDOM,"Backspace",8)||e.from==s.from&&e.to==s.to+1&&e.insert.length==0&&Nt(r.contentDOM,"Delete",46)))return!0;let n=e.insert.toString();r.inputState.composing>=0&&r.inputState.composing++;let o,l=()=>o||(o=$f(r,e,t));return r.state.facet(ia).some(a=>a(r,e.from,e.to,n,l))||r.dispatch(l()),!0}function $f(r,e,t){let i,s=r.state,n=s.selection.main,o=-1;if(e.from==e.to&&e.from<n.from||e.from>n.to){let a=e.from<n.from?-1:1,h=a<0?n.from:n.to,c=Pi(s.facet(Ai).map(f=>f(r)),h,a);e.from==c&&(o=c)}if(o>-1)i={changes:e,selection:w.cursor(e.from+e.insert.length,-1)};else if(e.from>=n.from&&e.to<=n.to&&e.to-e.from>=(n.to-n.from)/3&&(!t||t.main.empty&&t.main.from==e.from+e.insert.length)&&r.inputState.composing<0){let a=n.from<e.from?s.sliceDoc(n.from,e.from):"",h=n.to>e.to?s.sliceDoc(e.to,n.to):"";i=s.replaceSelection(r.state.toText(a+e.insert.sliceString(0,void 0,r.state.lineBreak)+h))}else{let a=s.changes(e),h=t&&t.main.to<=a.newLength?t.main:void 0;if(s.selection.ranges.length>1&&(r.inputState.composing>=0||r.inputState.compositionPendingChange)&&e.to<=n.to+10&&e.to>=n.to-10){let c=r.state.sliceDoc(e.from,e.to),f,u=t&&Oa(r,t.main.head);if(u){let p=e.insert.length-(e.to-e.from);f={from:u.from,to:u.to-p}}else f=r.state.doc.lineAt(n.head);let O=n.to-e.to;i=s.changeByRange(p=>{if(p.from==n.from&&p.to==n.to)return{changes:a,range:h||p.map(a)};let g=p.to-O,m=g-c.length;if(r.state.sliceDoc(m,g)!=c||g>=f.from&&m<=f.to)return{range:p};let S=s.changes({from:m,to:g,insert:e.insert}),b=p.to-n.to;return{changes:S,range:h?w.range(Math.max(0,h.anchor+b),Math.max(0,h.head+b)):p.map(S)}})}else i={changes:a,selection:h&&s.selection.replaceRange(h)}}let l="input.type";return(r.composing||r.inputState.compositionPendingChange&&r.inputState.compositionEndedAt>Date.now()-50)&&(r.inputState.compositionPendingChange=!1,l+=".compose",r.inputState.compositionFirstChange&&(l+=".start",r.inputState.compositionFirstChange=!1)),s.update(i,{userEvent:l,scrollIntoView:!0})}function ma(r,e,t,i){let s=Math.min(r.length,e.length),n=0;for(;n<s&&r.charCodeAt(n)==e.charCodeAt(n);)n++;if(n==s&&r.length==e.length)return null;let o=r.length,l=e.length;for(;o>0&&l>0&&r.charCodeAt(o-1)==e.charCodeAt(l-1);)o--,l--;if(i=="end"){let a=Math.max(0,n-Math.min(o,l));t-=o+a-n}if(o<n&&r.length<e.length){let a=t<=n&&t>=o?n-t:0;n-=a,l=n+(l-o),o=n}else if(l<n){let a=t<=n&&t>=l?n-t:0;n-=a,o=n+(o-l),l=n}return{from:n,toA:o,toB:l}}function kf(r){let e=[];if(r.root.activeElement!=r.contentDOM)return e;let{anchorNode:t,anchorOffset:i,focusNode:s,focusOffset:n}=r.observer.selectionRange;return t&&(e.push(new ws(t,i)),(s!=t||n!=i)&&e.push(new ws(s,n))),e}function Pf(r,e){if(r.length==0)return null;let t=r[0].pos,i=r.length==2?r[1].pos:t;return t>-1&&i>-1?w.single(t+e,i+e):null}function $s(r,e){return e.head==r.main.head&&e.anchor==r.main.anchor}var Fr=class{setSelectionOrigin(e){this.lastSelectionOrigin=e,this.lastSelectionTime=Date.now()}constructor(e){this.view=e,this.lastKeyCode=0,this.lastKeyTime=0,this.lastTouchTime=0,this.lastTouchX=0,this.lastTouchY=0,this.lastFocusTime=0,this.lastScrollTop=0,this.lastScrollLeft=0,this.lastWheelEvent=0,this.pendingIOSKey=void 0,this.tabFocusMode=-1,this.lastSelectionOrigin=null,this.lastSelectionTime=0,this.lastContextMenu=0,this.scrollHandlers=[],this.handlers=Object.create(null),this.composing=-1,this.compositionFirstChange=null,this.compositionEndedAt=0,this.compositionPendingKey=!1,this.compositionPendingChange=!1,this.insertingText="",this.insertingTextAt=0,this.mouseSelection=null,this.draggedContent=null,this.handleEvent=this.handleEvent.bind(this),this.notifiedFocused=e.hasFocus,y.safari&&e.contentDOM.addEventListener("input",()=>null),y.gecko&&Ef(e.contentDOM.ownerDocument)}handleEvent(e){!Af(this.view,e)||this.ignoreDuringComposition(e)||e.type=="keydown"&&this.keydown(e)||(this.view.updateState!=0?Promise.resolve().then(()=>this.runHandlers(e.type,e)):this.runHandlers(e.type,e))}runHandlers(e,t){let i=this.handlers[e];if(i){for(let s of i.observers)s(this.view,t);for(let s of i.handlers){if(t.defaultPrevented)break;if(s(this.view,t)){t.preventDefault();break}}}}ensureHandlers(e){let t=vf(e),i=this.handlers,s=this.view.content
Line truncated
|
||||
`))};if((y.mac||y.android)&&f.from==o-1&&/^\. ?$/.test(i.text)&&e.contentDOM.getAttribute("autocorrect")=="off"&&(f={from:l,to:a,insert:M.of([i.text.replace("."," ")])}),this.pendingContextChange=f,!e.state.readOnly){let u=this.to-this.from+(f.to-f.from+f.insert.length);wn(e,f,w.single(this.toEditorPos(i.selectionStart,u),this.toEditorPos(i.selectionEnd,u)))}this.pendingContextChange&&(this.revertPending(e.state),this.setSelection(e.state)),f.from<f.to&&!f.insert.length&&e.inputState.composing>=0&&!/[\\p{Alphabetic}\\p{Number}_]/.test(t.text.slice(Math.max(0,i.updateRangeStart-1),Math.min(t.text.length,i.updateRangeStart+1)))&&this.handlers.compositionend(i)},this.handlers.characterboundsupdate=i=>{let s=[],n=null;for(let o=this.toEditorPos(i.rangeStart),l=this.toEditorPos(i.rangeEnd);o<l;o++){let a=e.coordsForChar(o);n=a&&new DOMRect(a.left,a.top,a.right-a.left,a.bottom-a.top)||n||new DOMRect,s.push(n)}t.updateCharacterBounds(i.rangeStart,s)},this.handlers.textformatupdate=i=>{let s=[];for(let n of i.getTextFormats()){let o=n.underlineStyle,l=n.underlineThickness;if(!/none/i.test(o)&&!/none/i.test(l)){let a=this.toEditorPos(n.rangeStart),h=this.toEditorPos(n.rangeEnd);if(a<h){let c=`text-decoration: underline ${/^[a-z]/.test(o)?o+" ":o=="Dashed"?"dashed ":o=="Squiggle"?"wavy ":""}${/thin/i.test(l)?1:2}px`;s.push(_.mark({attributes:{style:c}}).range(a,h))}}}e.dispatch({effects:oa.of(_.set(s))})},this.handlers.compositionstart=()=>{e.inputState.composing<0&&(e.inputState.composing=0,e.inputState.compositionFirstChange=!0)},this.handlers.compositionend=()=>{if(e.inputState.composing=-1,e.inputState.compositionFirstChange=null,this.composing){let{drifted:i}=this.composing;this.composing=null,i&&this.reset(e.state)}};for(let i in this.handlers)t.addEventListener(i,this.handlers[i]);this.measureReq={read:i=>{this.editContext.updateControlBounds(i.contentDOM.getBoundingClientRect());let s=Xi(i.root);s&&s.rangeCount&&this.editContext.updateSelectionBounds(s.getRangeAt(0).getBoundingClientRect())}}}applyEdits(e){let t=0,i=!1,s=this.pendingContextChange;return e.changes.iterChanges((n,o,l,a,h)=>{if(i)return;let c=h.length-(o-n);if(s&&o>=s.to)if(s.from==n&&s.to==o&&s.insert.eq(h)){s=this.pendingContextChange=null,t+=c,this.to+=c;return}else s=null,this.revertPending(e.state);if(n+=t,o+=t,o<=this.from)this.from+=c,this.to+=c;else if(n<this.to){if(n<this.from||o>this.to||this.to-this.from+h.length>3e4){i=!0;return}this.editContext.updateText(this.toContextPos(n),this.toContextPos(o),h.toString()),this.to+=c}t+=c}),s&&!i&&this.revertPending(e.state),!i}update(e){let t=this.pendingContextChange,i=e.startState.selection.main;this.composing&&(this.composing.drifted||!e.changes.touchesRange(i.from,i.to)&&e.transactions.some(s=>!s.isUserEvent("input.type")&&s.changes.touchesRange(this.from,this.to)))?(this.composing.drifted=!0,this.composing.editorBase=e.changes.mapPos(this.composing.editorBase)):!this.applyEdits(e)||!this.rangeIsValid(e.state)?(this.pendingContextChange=null,this.reset(e.state)):(e.docChanged||e.selectionSet||t)&&this.setSelection(e.state),(e.geometryChanged||e.docChanged||e.selectionSet)&&e.view.requestMeasure(this.measureReq)}resetRange(e){let{head:t}=e.selection.main;this.from=Math.max(0,t-1e4),this.to=Math.min(e.doc.length,t+1e4)}reset(e){this.resetRange(e),this.editContext.updateText(0,this.editContext.text.length,e.doc.sliceString(this.from,this.to)),this.setSelection(e)}revertPending(e){let t=this.pendingContextChange;this.pendingContextChange=null,this.editContext.updateText(this.toContextPos(t.from),this.toContextPos(t.from+t.insert.length),e.doc.sliceString(t.from,t.to))}setSelection(e){let{main:t}=e.selection,i=this.toContextPos(Math.max(this.from,Math.min(this.to,t.anchor))),s=this.toContextPos(t.head);(this.editContext.selectionStart!=i||this.editContext.selectionEnd!=s)&&this.editContext.updateSelection(i,s)}rangeIsValid(e){let{head:t}=e.selection.main;return!(this.from>0&&t-this.from<500||this.to<e.doc.length&&this.to-t<500||this.to-this.from>1e4*3)}toEditorPos(e,t=this.to-this.from){e=Math.min(e,t);let i=this.composing;return i&&i.drifted?i.editorBase+(e-i.contextBase):e+this.from}toContextPos(e){let t=this.composing;return t&&t.drifted?t.contextBase+(e-t.editorBase):e-this.from}destroy(){for(let e in this.handlers)this.editContext.removeEventListener(e,this.handlers[e])}},T=class r{get state(){return this.viewState.state}get viewport(){return this.viewState.viewport}get visibleRanges(){return this.viewState.visibleRanges}get inView(){return this.viewState.inView}get composing(){return!!this.inputState&&this.inputState.composing>0}get compositionStarted(){return!!this.inputState&&this.inputState.composing>=0}get root(){return this._root}get win(){return this.dom.ownerDocument.defaultView||window}constructor(e={}){var t;this.plugins=[],this.pluginMap=new Map,this.editorAttrs={},this.contentAttrs={},this.bidiCache=[],this.destroyed=!1,this.updateState=2,this.measureScheduled=-1,this.measureRe
Line truncated
|
||||
\${}
|
||||
} catch (\${error}) {
|
||||
\${}
|
||||
@@ -19,4 +19,4 @@
|
||||
constructor(\${params}) {
|
||||
\${}
|
||||
}
|
||||
}`,{label:"class",detail:"definition",type:"keyword"}),le('import {${names}} from "${module}"\n${}',{label:"import",detail:"named",type:"keyword"}),le('import ${name} from "${module}"\n${}',{label:"import",detail:"default",type:"keyword"})],Wd=Uh.concat([le("interface ${name} {\n ${}\n}",{label:"interface",detail:"definition",type:"keyword"}),le("type ${name} = ${type}",{label:"type",detail:"definition",type:"keyword"}),le("enum ${name} {\n ${}\n}",{label:"enum",detail:"definition",type:"keyword"})]),Ih=new ei,Fh=new Set(["Script","Block","FunctionExpression","FunctionDeclaration","ArrowFunction","MethodDeclaration","ForStatement"]);function Li(r){return(e,t)=>{let i=e.node.getChild("VariableDefinition");return i&&t(i,r),!0}}var qd=["FunctionDeclaration"],Dd={FunctionDeclaration:Li("function"),ClassDeclaration:Li("class"),ClassExpression:()=>!0,EnumDeclaration:Li("constant"),TypeAliasDeclaration:Li("type"),NamespaceDeclaration:Li("namespace"),VariableDefinition(r,e){r.matchContext(qd)||e(r,"variable")},TypeDefinition(r,e){e(r,"type")},__proto__:null};function Hh(r,e){let t=Ih.get(e);if(t)return t;let i=[],s=!0;function n(o,l){let a=r.sliceString(o.from,o.to);i.push({label:a,type:l})}return e.cursor(j.IncludeAnonymous).iterate(o=>{if(s)s=!1;else if(o.name){let l=Dd[o.name];if(l&&l(o,n)||Fh.has(o.name))return!1}else if(o.to-o.from>8192){for(let l of Hh(r,o.node))i.push(l);return!1}}),Ih.set(e,i),i}var Nh=/^[\w$\xa1-\uffff][\w$\d\xa1-\uffff]*$/,Kh=["TemplateString","String","RegExp","LineComment","BlockComment","VariableDefinition","TypeDefinition","Label","PropertyDefinition","PropertyName","PrivatePropertyDefinition","PrivatePropertyName","JSXText","JSXAttributeValue","JSXOpenTag","JSXCloseTag","JSXSelfClosingTag",".","?."];function Ld(r){let e=oe(r.state).resolveInner(r.pos,-1);if(Kh.indexOf(e.name)>-1)return null;let t=e.name=="VariableName"||e.to-e.from<20&&Nh.test(r.state.sliceDoc(e.from,e.to));if(!t&&!r.explicit)return null;let i=[];for(let s=e;s;s=s.parent)Fh.has(s.name)&&(i=i.concat(Hh(r.state.doc,s)));return{options:i,from:t?e.from:r.pos,validFor:Nh}}var Me=De.define({name:"javascript",parser:Vh.configure({props:[Ot.add({IfStatement:et({except:/^\s*({|else\b)/}),TryStatement:et({except:/^\s*({|catch\b|finally\b)/}),LabeledStatement:Ka,SwitchBody:r=>{let e=r.textAfter,t=/^\s*\}/.test(e),i=/^\s*(case|default)\b/.test(e);return r.baseIndent+(t?0:i?1:2)*r.unit},Block:Ha({closing:"}"}),ArrowFunction:r=>r.baseIndent+r.unit,"TemplateString BlockComment":()=>null,"Statement Property":et({except:/^\s*{/}),JSXElement(r){let e=/^\s*<\//.test(r.textAfter);return r.lineIndent(r.node.from)+(e?0:r.unit)},JSXEscape(r){let e=/\s*\}/.test(r.textAfter);return r.lineIndent(r.node.from)+(e?0:r.unit)},"JSXOpenTag JSXSelfClosingTag"(r){return r.column(r.node.from)+r.unit}}),dt.add({"Block ClassBody SwitchBody EnumBody ObjectExpression ArrayExpression ObjectType":ni,BlockComment(r){return{from:r.from+2,to:r.to-2}},JSXElement(r){let e=r.firstChild;if(!e||e.name=="JSXSelfClosingTag")return null;let t=r.lastChild;return{from:e.to,to:t.type.isError?r.to:t.from}},"JSXSelfClosingTag JSXOpenTag"(r){var e;let t=(e=r.firstChild)===null||e===void 0?void 0:e.nextSibling,i=r.lastChild;return!t||t.type.isError?null:{from:t.to,to:i.type.isError?r.to:i.from}}})]}),languageData:{closeBrackets:{brackets:["(","[","{","'",'"',"`"]},commentTokens:{line:"//",block:{open:"/*",close:"*/"}},indentOnInput:/^\s*(?:case |default:|\{|\}|<\/)$/,wordChars:"$"}}),Jh={test:r=>/^JSX/.test(r.name),facet:Gn({commentTokens:{block:{open:"{/*",close:"*/}"}}})},$o=Me.configure({dialect:"ts"},"typescript"),ko=Me.configure({dialect:"jsx",props:[Ds.add(r=>r.isTop?[Jh]:void 0)]}),Po=Me.configure({dialect:"jsx ts",props:[Ds.add(r=>r.isTop?[Jh]:void 0)]},"typescript"),ec=r=>({label:r,type:"keyword"}),tc="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(ec),Bd=tc.concat(["declare","implements","private","protected","public"].map(ec));function Us(r={}){let e=r.jsx?r.typescript?Po:ko:r.typescript?$o:Me,t=r.typescript?Wd.concat(Bd):Uh.concat(tc);return new Le(e,[Me.data.of({autocomplete:Dh(Kh,qh(t))}),Me.data.of({autocomplete:Ld}),r.jsx?Gd:[]])}function Id(r){for(;;){if(r.name=="JSXOpenTag"||r.name=="JSXSelfClosingTag"||r.name=="JSXFragmentTag")return r;if(r.name=="JSXEscape"||!r.parent)return null;r=r.parent}}function Gh(r,e,t=r.length){for(let i=e?.firstChild;i;i=i.nextSibling)if(i.name=="JSXIdentifier"||i.name=="JSXBuiltin"||i.name=="JSXNamespacedName"||i.name=="JSXMemberExpression")return r.sliceString(i.from,Math.min(i.to,t));return""}var Nd=typeof navigator=="object"&&/Android\b/.test(navigator.userAgent),Gd=T.inputHandler.of((r,e,t,i,s)=>{if((Nd?r.composing:r.compositionStarted)||r.state.readOnly||e!=t||i!=">"&&i!="/"||!Me.isActiveAt(r.state,e,-1))return!1;let n=s(),{state:o}=n,l=o.changeByRange(a=>{var h;let{head:c}=a,f=oe(o).resolveInner(c-1,-1)
Line truncated
|
||||
}`,{label:"class",detail:"definition",type:"keyword"}),le('import {${names}} from "${module}"\n${}',{label:"import",detail:"named",type:"keyword"}),le('import ${name} from "${module}"\n${}',{label:"import",detail:"default",type:"keyword"})],qd=Uh.concat([le("interface ${name} {\n ${}\n}",{label:"interface",detail:"definition",type:"keyword"}),le("type ${name} = ${type}",{label:"type",detail:"definition",type:"keyword"}),le("enum ${name} {\n ${}\n}",{label:"enum",detail:"definition",type:"keyword"})]),Ih=new ei,Fh=new Set(["Script","Block","FunctionExpression","FunctionDeclaration","ArrowFunction","MethodDeclaration","ForStatement"]);function Li(r){return(e,t)=>{let i=e.node.getChild("VariableDefinition");return i&&t(i,r),!0}}var Dd=["FunctionDeclaration"],Ld={FunctionDeclaration:Li("function"),ClassDeclaration:Li("class"),ClassExpression:()=>!0,EnumDeclaration:Li("constant"),TypeAliasDeclaration:Li("type"),NamespaceDeclaration:Li("namespace"),VariableDefinition(r,e){r.matchContext(Dd)||e(r,"variable")},TypeDefinition(r,e){e(r,"type")},__proto__:null};function Hh(r,e){let t=Ih.get(e);if(t)return t;let i=[],s=!0;function n(o,l){let a=r.sliceString(o.from,o.to);i.push({label:a,type:l})}return e.cursor(j.IncludeAnonymous).iterate(o=>{if(s)s=!1;else if(o.name){let l=Ld[o.name];if(l&&l(o,n)||Fh.has(o.name))return!1}else if(o.to-o.from>8192){for(let l of Hh(r,o.node))i.push(l);return!1}}),Ih.set(e,i),i}var Nh=/^[\w$\xa1-\uffff][\w$\d\xa1-\uffff]*$/,Kh=["TemplateString","String","RegExp","LineComment","BlockComment","VariableDefinition","TypeDefinition","Label","PropertyDefinition","PropertyName","PrivatePropertyDefinition","PrivatePropertyName","JSXText","JSXAttributeValue","JSXOpenTag","JSXCloseTag","JSXSelfClosingTag",".","?."];function Bd(r){let e=oe(r.state).resolveInner(r.pos,-1);if(Kh.indexOf(e.name)>-1)return null;let t=e.name=="VariableName"||e.to-e.from<20&&Nh.test(r.state.sliceDoc(e.from,e.to));if(!t&&!r.explicit)return null;let i=[];for(let s=e;s;s=s.parent)Fh.has(s.name)&&(i=i.concat(Hh(r.state.doc,s)));return{options:i,from:t?e.from:r.pos,validFor:Nh}}var Me=De.define({name:"javascript",parser:Vh.configure({props:[Ot.add({IfStatement:et({except:/^\s*({|else\b)/}),TryStatement:et({except:/^\s*({|catch\b|finally\b)/}),LabeledStatement:Ka,SwitchBody:r=>{let e=r.textAfter,t=/^\s*\}/.test(e),i=/^\s*(case|default)\b/.test(e);return r.baseIndent+(t?0:i?1:2)*r.unit},Block:Ha({closing:"}"}),ArrowFunction:r=>r.baseIndent+r.unit,"TemplateString BlockComment":()=>null,"Statement Property":et({except:/^\s*{/}),JSXElement(r){let e=/^\s*<\//.test(r.textAfter);return r.lineIndent(r.node.from)+(e?0:r.unit)},JSXEscape(r){let e=/\s*\}/.test(r.textAfter);return r.lineIndent(r.node.from)+(e?0:r.unit)},"JSXOpenTag JSXSelfClosingTag"(r){return r.column(r.node.from)+r.unit}}),dt.add({"Block ClassBody SwitchBody EnumBody ObjectExpression ArrayExpression ObjectType":ni,BlockComment(r){return{from:r.from+2,to:r.to-2}},JSXElement(r){let e=r.firstChild;if(!e||e.name=="JSXSelfClosingTag")return null;let t=r.lastChild;return{from:e.to,to:t.type.isError?r.to:t.from}},"JSXSelfClosingTag JSXOpenTag"(r){var e;let t=(e=r.firstChild)===null||e===void 0?void 0:e.nextSibling,i=r.lastChild;return!t||t.type.isError?null:{from:t.to,to:i.type.isError?r.to:i.from}}})]}),languageData:{closeBrackets:{brackets:["(","[","{","'",'"',"`"]},commentTokens:{line:"//",block:{open:"/*",close:"*/"}},indentOnInput:/^\s*(?:case |default:|\{|\}|<\/)$/,wordChars:"$"}}),Jh={test:r=>/^JSX/.test(r.name),facet:Gn({commentTokens:{block:{open:"{/*",close:"*/}"}}})},$o=Me.configure({dialect:"ts"},"typescript"),ko=Me.configure({dialect:"jsx",props:[Ds.add(r=>r.isTop?[Jh]:void 0)]}),Po=Me.configure({dialect:"jsx ts",props:[Ds.add(r=>r.isTop?[Jh]:void 0)]},"typescript"),ec=r=>({label:r,type:"keyword"}),tc="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(ec),Id=tc.concat(["declare","implements","private","protected","public"].map(ec));function Us(r={}){let e=r.jsx?r.typescript?Po:ko:r.typescript?$o:Me,t=r.typescript?qd.concat(Id):Uh.concat(tc);return new Le(e,[Me.data.of({autocomplete:Dh(Kh,qh(t))}),Me.data.of({autocomplete:Bd}),r.jsx?Ud:[]])}function Nd(r){for(;;){if(r.name=="JSXOpenTag"||r.name=="JSXSelfClosingTag"||r.name=="JSXFragmentTag")return r;if(r.name=="JSXEscape"||!r.parent)return null;r=r.parent}}function Gh(r,e,t=r.length){for(let i=e?.firstChild;i;i=i.nextSibling)if(i.name=="JSXIdentifier"||i.name=="JSXBuiltin"||i.name=="JSXNamespacedName"||i.name=="JSXMemberExpression")return r.sliceString(i.from,Math.min(i.to,t));return""}var Gd=typeof navigator=="object"&&/Android\b/.test(navigator.userAgent),Ud=T.inputHandler.of((r,e,t,i,s)=>{if((Gd?r.composing:r.compositionStarted)||r.state.readOnly||e!=t||i!=">"&&i!="/"||!Me.isActiveAt(r.state,e,-1))return!1;let n=s(),{state:o}=n,l=o.changeByRange(a=>{var h;let{head:c}=a,f=oe(o).resolveInner(c-1,-1)
Line truncated
|
||||
Reference in new issue
Block a user