@@ -67,7 +67,7 @@ module ts.formatting {
6767 }
6868
6969 export function formatOnEnter ( position : number , sourceFile : SourceFile , rulesProvider : RulesProvider , options : FormatCodeOptions ) : TextChange [ ] {
70- var line = sourceFile . getLineAndCharacterFromPosition ( position ) . line ;
70+ var line = sourceFile . getOneBasedLineAndCharacterFromPosition ( position ) . line ;
7171 if ( line === 1 ) {
7272 return [ ] ;
7373 }
@@ -100,7 +100,7 @@ module ts.formatting {
100100 export function formatSelection ( start : number , end : number , sourceFile : SourceFile , rulesProvider : RulesProvider , options : FormatCodeOptions ) : TextChange [ ] {
101101 // format from the beginning of the line
102102 var span = {
103- pos : getStartLinePositionForPosition ( start , sourceFile ) ,
103+ pos : getLineStartPositionForPosition ( start , sourceFile ) ,
104104 end : end
105105 } ;
106106 return formatSpan ( span , sourceFile , options , rulesProvider , FormattingRequestKind . FormatSelection ) ;
@@ -112,7 +112,7 @@ module ts.formatting {
112112 return [ ] ;
113113 }
114114 var span = {
115- pos : getStartLinePositionForPosition ( parent . getStart ( sourceFile ) , sourceFile ) ,
115+ pos : getLineStartPositionForPosition ( parent . getStart ( sourceFile ) , sourceFile ) ,
116116 end : parent . end
117117 } ;
118118 return formatSpan ( span , sourceFile , options , rulesProvider , requestKind ) ;
@@ -283,7 +283,7 @@ module ts.formatting {
283283 var previousLine = Constants . Unknown ;
284284 var childKind = SyntaxKind . Unknown ;
285285 while ( n ) {
286- var line = sourceFile . getLineAndCharacterFromPosition ( n . getStart ( sourceFile ) ) . line ;
286+ var line = sourceFile . getOneBasedLineAndCharacterFromPosition ( n . getStart ( sourceFile ) ) . line ;
287287 if ( previousLine !== Constants . Unknown && line !== previousLine ) {
288288 break ;
289289 }
@@ -327,7 +327,7 @@ module ts.formatting {
327327 formattingScanner . advance ( ) ;
328328
329329 if ( formattingScanner . isOnToken ( ) ) {
330- var startLine = sourceFile . getLineAndCharacterFromPosition ( enclosingNode . getStart ( sourceFile ) ) . line ;
330+ var startLine = sourceFile . getOneBasedLineAndCharacterFromPosition ( enclosingNode . getStart ( sourceFile ) ) . line ;
331331 var delta = getOwnOrInheritedDelta ( enclosingNode , options , sourceFile ) ;
332332 processNode ( enclosingNode , enclosingNode , startLine , initialIndentation , delta ) ;
333333 }
@@ -357,8 +357,8 @@ module ts.formatting {
357357 }
358358 }
359359 else {
360- var startLine = sourceFile . getLineAndCharacterFromPosition ( startPos ) . line ;
361- var startLinePosition = getStartLinePositionForPosition ( startPos , sourceFile ) ;
360+ var startLine = sourceFile . getOneBasedLineAndCharacterFromPosition ( startPos ) . line ;
361+ var startLinePosition = getLineStartPositionForPosition ( startPos , sourceFile ) ;
362362 var column = SmartIndenter . findFirstNonWhitespaceColumn ( startLinePosition , startPos , sourceFile , options ) ;
363363 if ( startLine !== parentStartLine || startPos === column ) {
364364 return column
@@ -521,7 +521,7 @@ module ts.formatting {
521521
522522 var childStartPos = child . getStart ( sourceFile ) ;
523523
524- var childStart = sourceFile . getLineAndCharacterFromPosition ( childStartPos ) ;
524+ var childStart = sourceFile . getOneBasedLineAndCharacterFromPosition ( childStartPos ) ;
525525
526526 // if child is a list item - try to get its indentation
527527 var childIndentationAmount = Constants . Unknown ;
@@ -594,7 +594,7 @@ module ts.formatting {
594594 }
595595 else if ( tokenInfo . token . kind === listStartToken ) {
596596 // consume list start token
597- startLine = sourceFile . getLineAndCharacterFromPosition ( tokenInfo . token . pos ) . line ;
597+ startLine = sourceFile . getOneBasedLineAndCharacterFromPosition ( tokenInfo . token . pos ) . line ;
598598 var indentation =
599599 computeIndentation ( tokenInfo . token , startLine , Constants . Unknown , parent , parentDynamicIndentation , startLine ) ;
600600
@@ -641,7 +641,7 @@ module ts.formatting {
641641 var lineAdded : boolean ;
642642 var isTokenInRange = rangeContainsRange ( originalRange , currentTokenInfo . token ) ;
643643
644- var tokenStart = sourceFile . getLineAndCharacterFromPosition ( currentTokenInfo . token . pos ) ;
644+ var tokenStart = sourceFile . getOneBasedLineAndCharacterFromPosition ( currentTokenInfo . token . pos ) ;
645645 if ( isTokenInRange ) {
646646 var rangeHasError = rangeContainsError ( currentTokenInfo . token ) ;
647647 // save prevStartLine since processRange will overwrite this value with current ones
@@ -674,7 +674,7 @@ module ts.formatting {
674674 continue ;
675675 }
676676
677- var triviaStartLine = sourceFile . getLineAndCharacterFromPosition ( triviaItem . pos ) . line ;
677+ var triviaStartLine = sourceFile . getOneBasedLineAndCharacterFromPosition ( triviaItem . pos ) . line ;
678678 switch ( triviaItem . kind ) {
679679 case SyntaxKind . MultiLineCommentTrivia :
680680 var commentIndentation = dynamicIndentation . getIndentationForComment ( currentTokenInfo . token . kind ) ;
@@ -712,7 +712,7 @@ module ts.formatting {
712712 for ( var i = 0 , len = trivia . length ; i < len ; ++ i ) {
713713 var triviaItem = trivia [ i ] ;
714714 if ( isComment ( triviaItem . kind ) && rangeContainsRange ( originalRange , triviaItem ) ) {
715- var triviaItemStart = sourceFile . getLineAndCharacterFromPosition ( triviaItem . pos ) ;
715+ var triviaItemStart = sourceFile . getOneBasedLineAndCharacterFromPosition ( triviaItem . pos ) ;
716716 processRange ( triviaItem , triviaItemStart , parent , contextNode , dynamicIndentation ) ;
717717 }
718718 }
@@ -729,7 +729,7 @@ module ts.formatting {
729729 if ( ! rangeHasError && ! previousRangeHasError ) {
730730 if ( ! previousRange ) {
731731 // trim whitespaces starting from the beginning of the span up to the current line
732- var originalStart = sourceFile . getLineAndCharacterFromPosition ( originalRange . pos ) ;
732+ var originalStart = sourceFile . getOneBasedLineAndCharacterFromPosition ( originalRange . pos ) ;
733733 trimTrailingWhitespacesForLines ( originalStart . line , rangeStart . line ) ;
734734 }
735735 else {
@@ -807,7 +807,7 @@ module ts.formatting {
807807 recordReplace ( pos , 0 , indentationString ) ;
808808 }
809809 else {
810- var tokenStart = sourceFile . getLineAndCharacterFromPosition ( pos ) ;
810+ var tokenStart = sourceFile . getOneBasedLineAndCharacterFromPosition ( pos ) ;
811811 if ( indentation !== tokenStart . character - 1 ) {
812812 var startLinePosition = getStartPositionOfLine ( tokenStart . line , sourceFile ) ;
813813 recordReplace ( startLinePosition , tokenStart . character - 1 , indentationString ) ;
@@ -817,8 +817,8 @@ module ts.formatting {
817817
818818 function indentMultilineComment ( commentRange : TextRange , indentation : number , firstLineIsIndented : boolean ) {
819819 // split comment in lines
820- var startLine = sourceFile . getLineAndCharacterFromPosition ( commentRange . pos ) . line ;
821- var endLine = sourceFile . getLineAndCharacterFromPosition ( commentRange . end ) . line ;
820+ var startLine = sourceFile . getOneBasedLineAndCharacterFromPosition ( commentRange . pos ) . line ;
821+ var endLine = sourceFile . getOneBasedLineAndCharacterFromPosition ( commentRange . end ) . line ;
822822
823823 if ( startLine === endLine ) {
824824 if ( ! firstLineIsIndented ) {
0 commit comments