Skip to content

Commit 7055765

Browse files
committed
Fix incorrect end range calculation in stub text document
1 parent 0ac9af7 commit 7055765

1 file changed

Lines changed: 7 additions & 7 deletions

File tree

test/stubs/markdownTextDocumentStub.ts

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import * as vscode from "vscode";
2-
import * as os from "os";
2+
import { EOL } from "os";
33
import { TextLineStub } from "./textLineStub";
44

55
export class MarkdownTextDocumentStub implements vscode.TextDocument {
@@ -24,30 +24,30 @@ export class MarkdownTextDocumentStub implements vscode.TextDocument {
2424
}
2525

2626
getFullRange(): vscode.Range {
27-
return this.getRangeForLines(0, this._lines.length);
27+
return this.getRangeForLines(0, this._lines.length - 1);
2828
}
2929

3030
getRangeForLines(startLine: number, endLine: number): vscode.Range {
3131
return new vscode.Range(
3232
new vscode.Position(startLine, 0),
33-
new vscode.Position(endLine, this._lines[endLine - 1].length)
33+
new vscode.Position(endLine, this._lines[endLine].length)
3434
);
3535
}
3636

3737
lineAt(param: number): vscode.TextLine;
3838
lineAt(param: vscode.Position): vscode.TextLine;
3939
lineAt(param: any) {
4040
const lineNumber = param * 1;
41-
const lineRange = this.getRangeForLines(lineNumber, lineNumber + 1);
41+
const lineRange = this.getRangeForLines(lineNumber, lineNumber);
4242
return new TextLineStub(lineNumber, this._lines[lineNumber], lineRange);
4343
}
4444

4545
getText(range?: vscode.Range): string {
4646
range = range == null ? this.getFullRange() : range;
4747
let buffer: string = "";
48-
for (let row = range.start.line; row < range.end.line; row++) {
48+
for (let row = range.start.line; row <= range.end.line; row++) {
4949
const isFirstRow = row == range.start.line;
50-
const isLastRow = row == range.end.line - 1;
50+
const isLastRow = row == range.end.line;
5151
const line = this._lines[row];
5252

5353
if (isFirstRow)
@@ -60,7 +60,7 @@ export class MarkdownTextDocumentStub implements vscode.TextDocument {
6060
buffer += line.substring(0, range.end.character);
6161

6262
if (!isLastRow)
63-
buffer += os.EOL;
63+
buffer += EOL;
6464
}
6565
return buffer;
6666
}

0 commit comments

Comments
 (0)