11import * as vscode from "vscode" ;
2- import * as os from "os" ;
2+ import { EOL } from "os" ;
33import { TextLineStub } from "./textLineStub" ;
44
55export 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