@opentui/core
Version:
OpenTUI is a TypeScript library for building terminal user interfaces (TUIs)
129 lines (128 loc) • 4.51 kB
TypeScript
import { Renderable, type RenderableOptions } from "../Renderable";
import type { RenderContext } from "../types";
import { RGBA } from "../lib/RGBA";
import { SyntaxStyle } from "../syntax-style";
import type { TreeSitterClient } from "../lib/tree-sitter";
export interface DiffRenderableOptions extends RenderableOptions<DiffRenderable> {
diff?: string;
view?: "unified" | "split";
fg?: string | RGBA;
filetype?: string;
syntaxStyle?: SyntaxStyle;
wrapMode?: "word" | "char" | "none";
conceal?: boolean;
selectionBg?: string | RGBA;
selectionFg?: string | RGBA;
treeSitterClient?: TreeSitterClient;
showLineNumbers?: boolean;
lineNumberFg?: string | RGBA;
lineNumberBg?: string | RGBA;
addedBg?: string | RGBA;
removedBg?: string | RGBA;
contextBg?: string | RGBA;
addedContentBg?: string | RGBA;
removedContentBg?: string | RGBA;
contextContentBg?: string | RGBA;
addedSignColor?: string | RGBA;
removedSignColor?: string | RGBA;
addedLineNumberBg?: string | RGBA;
removedLineNumberBg?: string | RGBA;
}
export declare class DiffRenderable extends Renderable {
private _diff;
private _view;
private _parsedDiff;
private _parseError;
private _fg?;
private _filetype?;
private _syntaxStyle?;
private _wrapMode?;
private _conceal;
private _selectionBg?;
private _selectionFg?;
private _treeSitterClient?;
private _showLineNumbers;
private _lineNumberFg;
private _lineNumberBg;
private _addedBg;
private _removedBg;
private _contextBg;
private _addedContentBg;
private _removedContentBg;
private _contextContentBg;
private _addedSignColor;
private _removedSignColor;
private _addedLineNumberBg;
private _removedLineNumberBg;
private leftSide;
private rightSide;
private leftSideAdded;
private rightSideAdded;
private leftCodeRenderable;
private rightCodeRenderable;
private pendingRebuild;
private _lastWidth;
private errorTextRenderable;
private errorCodeRenderable;
private _waitingForHighlight;
private _lineInfoChangeHandler;
constructor(ctx: RenderContext, options: DiffRenderableOptions);
private parseDiff;
private buildView;
protected onResize(width: number, height: number): void;
private requestRebuild;
private rebuildView;
private handleLineInfoChange;
private attachLineInfoListeners;
private detachLineInfoListeners;
destroyRecursively(): void;
private buildErrorView;
private createOrUpdateCodeRenderable;
private createOrUpdateSide;
private buildUnifiedView;
private buildSplitView;
get diff(): string;
set diff(value: string);
get view(): "unified" | "split";
set view(value: "unified" | "split");
get filetype(): string | undefined;
set filetype(value: string | undefined);
get syntaxStyle(): SyntaxStyle | undefined;
set syntaxStyle(value: SyntaxStyle | undefined);
get wrapMode(): "word" | "char" | "none" | undefined;
set wrapMode(value: "word" | "char" | "none" | undefined);
get showLineNumbers(): boolean;
set showLineNumbers(value: boolean);
get addedBg(): RGBA;
set addedBg(value: string | RGBA);
get removedBg(): RGBA;
set removedBg(value: string | RGBA);
get contextBg(): RGBA;
set contextBg(value: string | RGBA);
get addedSignColor(): RGBA;
set addedSignColor(value: string | RGBA);
get removedSignColor(): RGBA;
set removedSignColor(value: string | RGBA);
get addedLineNumberBg(): RGBA;
set addedLineNumberBg(value: string | RGBA);
get removedLineNumberBg(): RGBA;
set removedLineNumberBg(value: string | RGBA);
get lineNumberFg(): RGBA;
set lineNumberFg(value: string | RGBA);
get lineNumberBg(): RGBA;
set lineNumberBg(value: string | RGBA);
get addedContentBg(): RGBA | null;
set addedContentBg(value: string | RGBA | null);
get removedContentBg(): RGBA | null;
set removedContentBg(value: string | RGBA | null);
get contextContentBg(): RGBA | null;
set contextContentBg(value: string | RGBA | null);
get selectionBg(): RGBA | undefined;
set selectionBg(value: string | RGBA | undefined);
get selectionFg(): RGBA | undefined;
set selectionFg(value: string | RGBA | undefined);
get conceal(): boolean;
set conceal(value: boolean);
get fg(): RGBA | undefined;
set fg(value: string | RGBA | undefined);
}