Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
microsoft
GitHub Repository: microsoft/vscode
Path: blob/main/src/vs/editor/common/model/textModelText.ts
3294 views
1
/*---------------------------------------------------------------------------------------------
2
* Copyright (c) Microsoft Corporation. All rights reserved.
3
* Licensed under the MIT License. See License.txt in the project root for license information.
4
*--------------------------------------------------------------------------------------------*/
5
6
import { Range } from '../core/range.js';
7
import { AbstractText } from '../core/text/abstractText.js';
8
import { TextLength } from '../core/text/textLength.js';
9
import { ITextModel } from '../model.js';
10
11
export class TextModelText extends AbstractText {
12
constructor(private readonly _textModel: ITextModel) {
13
super();
14
}
15
16
override getValueOfRange(range: Range): string {
17
return this._textModel.getValueInRange(range);
18
}
19
20
override getLineLength(lineNumber: number): number {
21
return this._textModel.getLineLength(lineNumber);
22
}
23
24
get length(): TextLength {
25
const lastLineNumber = this._textModel.getLineCount();
26
const lastLineLen = this._textModel.getLineLength(lastLineNumber);
27
return new TextLength(lastLineNumber - 1, lastLineLen);
28
}
29
}
30
31