MCPcopy Index your code
hub / github.com/ChinaSiro/claude-code-sourcemap / deleteToLineEnd

Method deleteToLineEnd

package/cli.js:5207–5209  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

5205`,q-1);return K===-1?0:K+1}findLogicalLineEnd(q=this.offset){let K=this.text.indexOf(`
5206`,q);return K===-1?this.text.length:K}getLogicalLineBounds(){return{start:this.findLogicalLineStart(),end:this.findLogicalLineEnd()}}createCursorWithColumn(q,K,_){let z=K-q,Y=Math.min(_,z),$=q+Y,A=this.measuredText.snapToGraphemeBoundary($);return new k5(this.measuredText,A,0)}endOfLogicalLine(){return new k5(this.measuredText,this.findLogicalLineEnd(),0)}startOfLogicalLine(){return new k5(this.measuredText,this.findLogicalLineStart(),0)}firstNonBlankInLogicalLine(){let{start:q,end:K}=this.getLogicalLineBounds(),z=this.text.slice(q,K).match(/\S/),Y=q+(z?.index??0);return new k5(this.measuredText,Y,0)}upLogicalLine(){let{start:q}=this.getLogicalLineBounds();if(q===0)return new k5(this.measuredText,0,0);let K=this.offset-q,_=q-1,z=this.findLogicalLineStart(_);return this.createCursorWithColumn(z,_,K)}downLogicalLine(){let{start:q,end:K}=this.getLogicalLineBounds();if(K>=this.text.length)return new k5(this.measuredText,this.text.length,0);let _=this.offset-q,z=K+1,Y=this.findLogicalLineEnd(z);return this.createCursorWithColumn(z,Y,_)}nextWord(){if(this.isAtEnd())return this;let q=this.measuredText.getWordBoundaries();for(let K of q)if(K.isWordLike&&K.start>this.offset)return new k5(this.measuredText,K.start);return new k5(this.measuredText,this.text.length)}endOfWord(){if(this.isAtEnd())return this;let q=this.measuredText.getWordBoundaries();for(let K of q){if(!K.isWordLike)continue;if(this.offset>=K.start&&this.offset<K.end-1)return new k5(this.measuredText,K.end-1);if(this.offset===K.end-1){for(let _ of q)if(_.isWordLike&&_.start>this.offset)return new k5(this.measuredText,_.end-1);return this}}for(let K of q)if(K.isWordLike&&K.start>this.offset)return new k5(this.measuredText,K.end-1);return this}prevWord(){if(this.isAtStart())return this;let q=this.measuredText.getWordBoundaries(),K=null;for(let _ of q){if(!_.isWordLike)continue;if(_.start<this.offset){if(this.offset>_.start&&this.offset<=_.end)return new k5(this.measuredText,_.start);K=_.start}}if(K!==null)return new k5(this.measuredText,K);return new k5(this.measuredText,0)}nextVimWord(){if(this.isAtEnd())return this;let q=this.offset,K=(z)=>this.measuredText.nextOffset(z),_=this.graphemeAt(q);if(!_)return this;if(ia(_))while(q<this.text.length&&ia(this.graphemeAt(q)))q=K(q);else if(w56(_))while(q<this.text.length&&w56(this.graphemeAt(q)))q=K(q);while(q<this.text.length&&e18.test(this.graphemeAt(q)))q=K(q);return new k5(this.measuredText,q)}endOfVimWord(){if(this.isAtEnd())return this;let q=this.text,K=this.offset,_=(Y)=>this.measuredText.nextOffset(Y);if(this.graphemeAt(K)==="")return this;K=_(K);while(K<q.length&&e18.test(this.graphemeAt(K)))K=_(K);if(K>=q.length)return new k5(this.measuredText,q.length);let z=this.graphemeAt(K);if(ia(z))while(K<q.length){let Y=_(K);if(Y>=q.length||!ia(this.graphemeAt(Y)))break;K=Y}else if(w56(z))while(K<q.length){let Y=_(K);if(Y>=q.length||!w56(this.graphemeAt(Y)))break;K=Y}return new k5(this.measuredText,K)}prevVimWord(){if(this.isAtStart())return this;let q=this.offset,K=(z)=>this.measuredText.prevOffset(z);q=K(q);while(q>0&&e18.test(this.graphemeAt(q)))q=K(q);if(q===0&&e18.test(this.graphemeAt(0)))return new k5(this.measuredText,0);let _=this.graphemeAt(q);if(ia(_))while(q>0){let z=K(q);if(!ia(this.graphemeAt(z)))break;q=z}else if(w56(_))while(q>0){let z=K(q);if(!w56(this.graphemeAt(z)))break;q=z}return new k5(this.measuredText,q)}nextWORD(){let q=this;while(!q.isOverWhitespace()&&!q.isAtEnd())q=q.right();while(q.isOverWhitespace()&&!q.isAtEnd())q=q.right();return q}endOfWORD(){if(this.isAtEnd())return this;let q=this;if(!q.isOverWhitespace()&&(q.right().isOverWhitespace()||q.right().isAtEnd()))return q=q.right(),q.endOfWORD();if(q.isOverWhitespace())q=q.nextWORD();while(!q.right().isOverWhitespace()&&!q.isAtEnd())q=q.right();return q}prevWORD(){let q=this;if(q.left().isOverWhitespace())q=q.left();while(q.isOverWhitespace()&&!q.isAtStart())q=q.left();if(!q.isOverWhitespace())while(!q.left().isOverWhitespace()&&!q.isAtStart())q=q.left();return q}modifyText(q,K=""){let _=this.offset,z=q.offset,Y=this.text.slice(0,_)+K+this.text.slice(z);return k5.fromText(Y,this.columns,_+K.normalize("NFC").length)}insert(q){return this.modifyText(this,q)}del(){if(this.isAtEnd())return this;return this.modifyText(this.right())}backspace(){if(this.isAtStart())return this;return this.left().modifyText(this)}deleteToLineStart(){if(this.offset>0&&this.text[this.offset-1]===`
5207`)return{cursor:this.left().modifyText(this),killed:`
5208`};let q=this.startOfLine(),K=this.text.slice(q.offset,this.offset);return{cursor:q.modifyText(this),killed:K}}deleteToLineEnd(){if(this.text[this.offset]===`
5209`)return{cursor:this.modifyText(this.right()),killed:`
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(`

Callers 2

FFunction · 0.45
WFunction · 0.45

Calls 4

modifyTextMethod · 0.95
rightMethod · 0.95
endOfLineMethod · 0.95
sliceMethod · 0.45

Tested by

no test coverage detected