mirror of
https://github.com/Microsoft/vscode
synced 2024-09-13 21:55:38 +00:00
Fix #45770. FindInNode should not cross node boundary.
This commit is contained in:
parent
9160e85b1a
commit
410abe91b4
|
@ -616,8 +616,9 @@ export class PieceTreeBase {
|
||||||
if (lineBreakCnt >= 1) {
|
if (lineBreakCnt >= 1) {
|
||||||
// last line break position
|
// last line break position
|
||||||
let lineStarts = this._buffers[currentNode.piece.bufferIndex].lineStarts;
|
let lineStarts = this._buffers[currentNode.piece.bufferIndex].lineStarts;
|
||||||
|
let startOffsetInBuffer = this.offsetInBuffer(currentNode.piece.bufferIndex, currentNode.piece.start);
|
||||||
let nextLineStartOffset = lineStarts[start.line + lineBreakCnt];
|
let nextLineStartOffset = lineStarts[start.line + lineBreakCnt];
|
||||||
resultLen = this.findMatchesInNode(currentNode, searcher, startLineNumber, start, this.positionInBuffer(currentNode, nextLineStartOffset), searchData, captureMatches, limitResultCount, resultLen, result);
|
resultLen = this.findMatchesInNode(currentNode, searcher, startLineNumber, start, this.positionInBuffer(currentNode, nextLineStartOffset - startOffsetInBuffer), searchData, captureMatches, limitResultCount, resultLen, result);
|
||||||
|
|
||||||
if (resultLen >= limitResultCount) {
|
if (resultLen >= limitResultCount) {
|
||||||
return result;
|
return result;
|
||||||
|
|
Loading…
Reference in a new issue