(q)
| 5210 | `};let q=this.endOfLine(),K=this.text.slice(this.offset,q.offset);return{cursor:this.modifyText(q),killed:K}}deleteToLogicalLineEnd(){if(this.text[this.offset]===` |
| 5211 | `)return this.modifyText(this.right());return this.modifyText(this.endOfLogicalLine())}deleteWordBefore(){if(this.isAtStart())return{cursor:this,killed:""};let q=this.snapOutOfImageRef(this.prevWord().offset,"start"),K=new k5(this.measuredText,q),_=this.text.slice(K.offset,this.offset);return{cursor:K.modifyText(this),killed:_}}deleteTokenBefore(){let q=this.imageRefStartingAt(this.offset);if(q){let Y=this.text[q.end]===" "?q.end+1:q.end;return this.modifyText(new k5(this.measuredText,Y))}if(this.isAtStart())return null;let K=this.text[this.offset];if(K!==void 0&&!/\s/.test(K))return null;let z=this.text.slice(0,this.offset).match(/(^|\s)\[(Pasted text #\d+(?: \+\d+ lines)?|Image #\d+|\.\.\.Truncated text #\d+ \+\d+ lines\.\.\.)\]$/);if(z){let Y=z.index+z[1].length;return new k5(this.measuredText,Y).modifyText(this)}return null}deleteWordAfter(){if(this.isAtEnd())return this;let q=this.snapOutOfImageRef(this.nextWord().offset,"end");return this.modifyText(new k5(this.measuredText,q))}graphemeAt(q){if(q>=this.text.length)return"";let K=this.measuredText.nextOffset(q);return this.text.slice(q,K)}isOverWhitespace(){let q=this.text[this.offset]??"";return/\s/.test(q)}equals(q){return this.offset===q.offset&&this.measuredText===q.measuredText}isAtStart(){return this.offset===0}isAtEnd(){return this.offset>=this.text.length}startOfFirstLine(){return new k5(this.measuredText,0,0)}startOfLastLine(){let q=this.text.lastIndexOf(` |
| 5212 | `);if(q===-1)return this.startOfLine();return new k5(this.measuredText,q+1,0)}goToLine(q){let K=this.text.split(` |
| 5213 | `),_=Math.min(Math.max(0,q-1),K.length-1),z=0;for(let Y=0;Y<_;Y++)z+=(K[Y]?.length??0)+1;return new k5(this.measuredText,z,0)}endOfFile(){return new k5(this.measuredText,this.text.length,0)}get text(){return this.measuredText.text}get columns(){return this.measuredText.columns+1}getPosition(){return this.measuredText.getPositionFromOffset(this.offset)}getOffset(q){return this.measuredText.getOffsetFromPosition(q)}findCharacter(q,K,_=1){let z=this.text,Y=K==="f"||K==="t",$=K==="t"||K==="T",A=0;if(Y){let O=this.measuredText.nextOffset(this.offset);while(O<z.length){if(this.graphemeAt(O)===q){if(A++,A===_)return $?Math.max(this.offset,this.measuredText.prevOffset(O)):O}O=this.measuredText.nextOffset(O)}}else{if(this.offset===0)return null;let O=this.measuredText.prevOffset(this.offset);while(O>=0){if(this.graphemeAt(O)===q){if(A++,A===_)return $?Math.min(this.offset,this.measuredText.nextOffset(O)):O}if(O===0)break;O=this.measuredText.prevOffset(O)}}return null}}class iB8{text;startOffset;isPrecededByNewline;endsWithNewline;constructor(q,K,_,z=!1){this.text=q;this.startOffset=K;this.isPrecededByNewline=_;this.endsWithNewline=z}equals(q){return this.text===q.text&&this.startOffset===q.startOffset}get length(){return this.text.length+(this.endsWithNewline?1:0)}}class MGK{columns;_wrappedLines;text;navigationCache;graphemeBoundaries;constructor(q,K){this.columns=K;this.text=q.normalize("NFC"),this.navigationCache=new Map}get wrappedLines(){if(!this._wrappedLines)this._wrappedLines=this.measureWrappedText();return this._wrappedLines}getGraphemeBoundaries(){if(!this.graphemeBoundaries){this.graphemeBoundaries=[];for(let{index:q}of YH().segment(this.text))this.graphemeBoundaries.push(q);this.graphemeBoundaries.push(this.text.length)}return this.graphemeBoundaries}wordBoundariesCache;getWordBoundaries(){if(!this.wordBoundariesCache){this.wordBoundariesCache=[];for(let q of iJ7().segment(this.text))this.wordBoundariesCache.push({start:q.index,end:q.index+q.segment.length,isWordLike:q.isWordLike??!1})}return this.wordBoundariesCache}binarySearchBoundary(q,K,_){let z=0,Y=q.length-1,$=_?this.text.length:0;while(z<=Y){let A=Math.floor((z+Y)/2),O=q[A];if(O===void 0)break;if(_)if(O>K)$=O,Y=A-1;else z=A+1;else if(O<K)$=O,z=A+1;else Y=A-1}return $}stringIndexToDisplayWidth(q,K){if(K<=0)return 0;if(K>=q.length)return O1(q);return O1(q.substring(0,K))}displayWidthToStringIndex(q,K){if(K<=0)return 0;if(!q)return 0;if(q===this.text)return this.offsetAtDisplayWidth(K);let _=0,z=0;for(let{segment:Y,index:$}of YH().segment(q)){let A=O1(Y);if(_+A>K)break;_+=A,z=$+Y.length}return z}offsetAtDisplayWidth(q){if(q<=0)return 0;let K=0,_=this.getGraphemeBoundaries();for(let z=0;z<_.length-1;z++){let Y=_[z],$=_[z+1];if(Y===void 0||$===void 0)continue;let A=this.text.substring(Y,$),O=O1(A);if(K+O>q)return Y;K+=O}return this.text.length}measureWrappedText(){let q=b16(this.text,this.columns,{hard:!0,trim:!1}),K=[],_=0,z=-1,Y=q.split(` |
| 5214 | `);for(let $=0;$<Y.length;$++){let A=Y[$],O=(w)=>$===0||w>0&&this.text[w-1]===` |
| 5215 | `;if(A.length===0)if(z=this.text.indexOf(` |
no test coverage detected