@@ -830,7 +830,7 @@ export class ViewModelLinesFromProjectedModel implements IViewModelLines {
830830 return new Range ( start . lineNumber , start . column , end . lineNumber , end . column ) ;
831831 }
832832
833- public convertModelPositionToViewPosition ( _modelLineNumber : number , _modelColumn : number , affinity : PositionAffinity = PositionAffinity . None ) : Position {
833+ public convertModelPositionToViewPosition ( _modelLineNumber : number , _modelColumn : number , affinity : PositionAffinity = PositionAffinity . None , allowZeroLineNumber : boolean = false ) : Position {
834834
835835 const validPosition = this . model . validatePosition ( new Position ( _modelLineNumber , _modelColumn ) ) ;
836836 const inputLineNumber = validPosition . lineNumber ;
@@ -844,7 +844,8 @@ export class ViewModelLinesFromProjectedModel implements IViewModelLines {
844844 if ( lineIndex === 0 && ! this . modelLineProjections [ lineIndex ] . isVisible ( ) ) {
845845 // Could not reach a real line
846846 // console.log('in -> out ' + inputLineNumber + ',' + inputColumn + ' ===> ' + 1 + ',' + 1);
847- return new Position ( 1 , 1 ) ;
847+ // TODO@alexdima @hediet this isn't soo pretty
848+ return new Position ( allowZeroLineNumber ? 0 : 1 , 1 ) ;
848849 }
849850 const deltaLineNumber = 1 + this . projectedModelLineLineCounts . getPrefixSum ( lineIndex ) ;
850851
@@ -1070,8 +1071,8 @@ class CoordinatesConverter implements ICoordinatesConverter {
10701071
10711072 // Model -> View conversion and related methods
10721073
1073- public convertModelPositionToViewPosition ( modelPosition : Position , affinity ?: PositionAffinity ) : Position {
1074- return this . _lines . convertModelPositionToViewPosition ( modelPosition . lineNumber , modelPosition . column , affinity ) ;
1074+ public convertModelPositionToViewPosition ( modelPosition : Position , affinity ?: PositionAffinity , allowZero ?: boolean ) : Position {
1075+ return this . _lines . convertModelPositionToViewPosition ( modelPosition . lineNumber , modelPosition . column , affinity , allowZero ) ;
10751076 }
10761077
10771078 public convertModelRangeToViewRange ( modelRange : Range , affinity ?: PositionAffinity ) : Range {
0 commit comments