UNPKG

@opentui/core

Version:

OpenTUI is a TypeScript library on a native Zig core for building terminal user interfaces (TUIs)

43 lines (42 loc) 2.04 kB
import { RGBA } from "./lib/RGBA.js"; import { type LineInfo, type MeasureResult, type RenderLib, type TextBufferViewHandle } from "./zig.js"; import type { TextBuffer } from "./text-buffer.js"; import type { SelectionBehavior, SelectionOccupancy } from "./types.js"; export declare class TextBufferView { private lib; private viewPtr; private textBuffer; private _destroyed; constructor(lib: RenderLib, ptr: TextBufferViewHandle, textBuffer: TextBuffer); static create(textBuffer: TextBuffer): TextBufferView; private guard; get ptr(): TextBufferViewHandle; setSelection(start: number, end: number, bgColor?: RGBA, fgColor?: RGBA): void; updateSelection(end: number, bgColor?: RGBA, fgColor?: RGBA): void; resetSelection(): void; getSelection(): { start: number; end: number; } | null; hasSelection(): boolean; setLocalSelection(anchorX: number, anchorY: number, focusX: number, focusY: number, bgColor?: RGBA, fgColor?: RGBA, behavior?: SelectionBehavior): boolean; updateLocalSelection(anchorX: number, anchorY: number, focusX: number, focusY: number, bgColor?: RGBA, fgColor?: RGBA, behavior?: SelectionBehavior): boolean; resetLocalSelection(): void; setSelectionOccupancy(occupancy: SelectionOccupancy): void; getSelectionOccupancy(): SelectionOccupancy; setWrapWidth(width: number | null): void; setWrapMode(mode: "none" | "char" | "word"): void; setFirstLineOffset(offset: number): void; setViewportSize(width: number, height: number): void; setViewport(x: number, y: number, width: number, height: number): void; get lineInfo(): LineInfo; get logicalLineInfo(): LineInfo; getSelectedText(): string; getPlainText(): string; setTabIndicator(indicator: string | number): void; setTabIndicatorColor(color: RGBA): void; setTruncate(truncate: boolean): void; measureForDimensions(width: number, height: number): MeasureResult | null; getVirtualLineCount(): number; destroy(): void; }