Path: blob/main/src/vs/editor/common/model/textModelText.ts
3294 views
/*---------------------------------------------------------------------------------------------1* Copyright (c) Microsoft Corporation. All rights reserved.2* Licensed under the MIT License. See License.txt in the project root for license information.3*--------------------------------------------------------------------------------------------*/45import { Range } from '../core/range.js';6import { AbstractText } from '../core/text/abstractText.js';7import { TextLength } from '../core/text/textLength.js';8import { ITextModel } from '../model.js';910export class TextModelText extends AbstractText {11constructor(private readonly _textModel: ITextModel) {12super();13}1415override getValueOfRange(range: Range): string {16return this._textModel.getValueInRange(range);17}1819override getLineLength(lineNumber: number): number {20return this._textModel.getLineLength(lineNumber);21}2223get length(): TextLength {24const lastLineNumber = this._textModel.getLineCount();25const lastLineLen = this._textModel.getLineLength(lastLineNumber);26return new TextLength(lastLineNumber - 1, lastLineLen);27}28}293031