14
15
export abstract class AbstractText {
17
>
abstract readonly length: TextLength;
18
>
19
>
get endPositionExclusive(): Position {
20
>
return this.length.addToPosition(new Position(1, 1));
21
>
}
22
>
23
>
get lineRange(): LineRange {
24
return this.length.toLineRange();
25
}
27
>
getValue(): string {
28
return this.getValueOfRange(this.length.toRange());
29
}
31
>
getValueOfOffsetRange(range: OffsetRange): string {
32
return this.getValueOfRange(this.getTransformer().getRange(range));
33
}
35
>
getLineLength(lineNumber: number): number {
36
return this.getValueOfRange(new Range(lineNumber, 1, lineNumber, Number.MAX_SAFE_INTEGER)).length;
37
}
39
>
private _transformer: PositionOffsetTransformer | undefined = undefined;
40
41
getTransformer(): PositionOffsetTransformer {