@@ -830,7 +830,7 @@ export class ViewModelLinesFromProjectedModel implements IViewModelLines {
830
830
return new Range ( start . lineNumber , start . column , end . lineNumber , end . column ) ;
831
831
}
832
832
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 {
834
834
835
835
const validPosition = this . model . validatePosition ( new Position ( _modelLineNumber , _modelColumn ) ) ;
836
836
const inputLineNumber = validPosition . lineNumber ;
@@ -844,7 +844,8 @@ export class ViewModelLinesFromProjectedModel implements IViewModelLines {
844
844
if ( lineIndex === 0 && ! this . modelLineProjections [ lineIndex ] . isVisible ( ) ) {
845
845
// Could not reach a real line
846
846
// 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 ) ;
848
849
}
849
850
const deltaLineNumber = 1 + this . projectedModelLineLineCounts . getPrefixSum ( lineIndex ) ;
850
851
@@ -1070,8 +1071,8 @@ class CoordinatesConverter implements ICoordinatesConverter {
1070
1071
1071
1072
// Model -> View conversion and related methods
1072
1073
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 ) ;
1075
1076
}
1076
1077
1077
1078
public convertModelRangeToViewRange ( modelRange : Range , affinity ?: PositionAffinity ) : Range {
0 commit comments