UNPKG

build-in-public-bot

Version:

AI-powered CLI bot for automating build-in-public tweets with code screenshots

118 lines 2.86 kB
import { ParsedLine } from './ansi-parser'; export interface TerminalData { lines: ParsedLine[]; width: number; height: number; cursorPosition?: { line: number; col: number; }; } export interface CaptureOptions { height?: number; theme?: string; includeColors?: boolean; fontSize?: number; padding?: number; } export interface Selection { type: 'line' | 'pattern' | 'command'; start: { line: number; col: number; }; end: { line: number; col: number; }; style?: string; } export interface ArrowAnnotation { from: { line: number; col: number; }; to: { line: number; col: number; }; label?: string; } export interface BoxAnnotation { startLine: number; endLine: number; startCol: number; endCol?: number; } export interface NoteAnnotation { line: number; text: string; } export interface Annotation { type: 'arrow' | 'box' | 'note'; data: ArrowAnnotation | BoxAnnotation | NoteAnnotation; } export declare class TerminalCapture { private ansiParser; private terminalData?; private selections; private annotations; private themeLoader; private theme?; constructor(); capture(options?: CaptureOptions): Promise<TerminalData>; private getTerminalContent; private detectEditor; private captureMacOS; private captureLinux; private captureGeneric; selectLines(ranges: Array<{ start: number; end: number; }>): void; highlightPattern(pattern: string, style?: string): void; highlightRegex(regex: RegExp, style?: string): void; selectLastCommand(): void; selectCommand(index: number): void; selectErrors(): void; selectDiff(): void; showCursor(line: number, col: number): void; dimExcept(ranges: Array<{ start: number; end: number; }>): void; addArrow(from: { line: number; col: number; }, to: { line: number; col: number; }, label?: string): void; addBox(box: { startLine: number; endLine: number; startCol: number; endCol: number; }): void; addNote(line: number, text: string): void; render(_format?: 'png' | 'svg'): Promise<Buffer>; private renderSelections; private renderLines; private renderCursor; private renderAnnotations; private renderArrow; private renderBox; private renderNote; private findPrompts; private applyANSIStyle; private getSelectionStyle; getAvailableThemes(): string[]; getEditorInfo(): { isEditor: boolean; editor?: string; mode?: string; }; private drawRoundedRect; private drawWindowControls; } //# sourceMappingURL=terminal-capture.d.ts.map