@opentui/core
Version:
OpenTUI is a TypeScript library for building terminal user interfaces (TUIs)
73 lines (72 loc) • 2.54 kB
TypeScript
import { Renderable, type RenderableOptions } from "../Renderable";
import { OptimizedBuffer } from "../buffer";
import type { RenderContext, LineInfoProvider } from "../types";
import { RGBA } from "../lib/RGBA";
export interface LineSign {
before?: string;
beforeColor?: string | RGBA;
after?: string;
afterColor?: string | RGBA;
}
export interface LineColorConfig {
gutter?: string | RGBA;
content?: string | RGBA;
}
export interface LineNumberOptions extends RenderableOptions<LineNumberRenderable> {
target?: Renderable & LineInfoProvider;
fg?: string | RGBA;
bg?: string | RGBA;
minWidth?: number;
paddingRight?: number;
lineColors?: Map<number, string | RGBA | LineColorConfig>;
lineSigns?: Map<number, LineSign>;
lineNumberOffset?: number;
hideLineNumbers?: Set<number>;
lineNumbers?: Map<number, number>;
showLineNumbers?: boolean;
}
export declare class LineNumberRenderable extends Renderable {
private gutter;
private target;
private _lineColorsGutter;
private _lineColorsContent;
private _lineSigns;
private _fg;
private _bg;
private _minWidth;
private _paddingRight;
private _lineNumberOffset;
private _hideLineNumbers;
private _lineNumbers;
private _isDestroying;
private handleLineInfoChange;
private parseLineColor;
constructor(ctx: RenderContext, options: LineNumberOptions);
private setTarget;
add(child: Renderable): number;
remove(id: string): void;
destroyRecursively(): void;
clearTarget(): void;
protected renderSelf(buffer: OptimizedBuffer): void;
set showLineNumbers(value: boolean);
get showLineNumbers(): boolean;
setLineColor(line: number, color: string | RGBA | LineColorConfig): void;
clearLineColor(line: number): void;
clearAllLineColors(): void;
setLineColors(lineColors: Map<number, string | RGBA | LineColorConfig>): void;
getLineColors(): {
gutter: Map<number, RGBA>;
content: Map<number, RGBA>;
};
setLineSign(line: number, sign: LineSign): void;
clearLineSign(line: number): void;
clearAllLineSigns(): void;
setLineSigns(lineSigns: Map<number, LineSign>): void;
getLineSigns(): Map<number, LineSign>;
set lineNumberOffset(value: number);
get lineNumberOffset(): number;
setHideLineNumbers(hideLineNumbers: Set<number>): void;
getHideLineNumbers(): Set<number>;
setLineNumbers(lineNumbers: Map<number, number>): void;
getLineNumbers(): Map<number, number>;
}