text-manipulation
Version:
A NPM library that assists in text range manipulation
34 lines (33 loc) • 1.49 kB
TypeScript
import { TextBuffer } from './text-buffer';
import { TextPosition } from './text-position';
import { TextRange } from './text-range';
export declare class BasicTextBuffer implements TextBuffer {
private originalText;
private lineDelimiter;
private table;
constructor(originalText: string, lineDelimiter?: string);
getLineCount(): number;
getText(): string;
replaceRange(range: TextRange, text: string): TextRange | undefined;
removeRange(range: TextRange): TextPosition;
getRangeText(range: TextRange): string;
removeLineRange(lineStart: number, lineEnd: number): void;
removeFirstLine(): void;
removeLastLine(): void;
removeLine(line: number): void;
isLineEmpty(line: number): boolean;
replaceTextInLine(line: number, lineText: string): void;
insertTextAtLine(line: number, text: string): void;
lineExists(line: number): boolean;
getLine(line: number): string;
getLineRange(lineStart: number, lineEnd: number): string;
columnExists(column: number, line: number): boolean;
getColumnCount(line: number): number;
charAt(column: number, line: number): string | undefined;
insertText(column: number, line: number, text: string): void;
removeColumn(column: number, line: number): void;
getColumnRange(columnStart: number, columnEnd: number, line: number): string;
removeColumnRange(columnStart: number, columnEnd: number, line: number): void;
private init;
private buildTable;
}