@opentui/core
Version:
OpenTUI is a TypeScript library for building terminal user interfaces (TUIs)
48 lines (47 loc) • 1.95 kB
TypeScript
import { EventEmitter } from "events";
import type { TreeSitterClientOptions, TreeSitterClientEvents, BufferState, FiletypeParserOptions, Edit, PerformanceStats, SimpleHighlight } from "./types";
declare global {
const OTUI_TREE_SITTER_WORKER_PATH: string;
}
export declare function addDefaultParsers(parsers: FiletypeParserOptions[]): void;
export declare class TreeSitterClient extends EventEmitter<TreeSitterClientEvents> {
private initialized;
private worker;
private buffers;
private initializePromise;
private initializeResolvers;
private messageCallbacks;
private messageIdCounter;
private editQueues;
private debouncer;
private options;
constructor(options: TreeSitterClientOptions);
private emitError;
private emitWarning;
private startWorker;
private stopWorker;
private handleReset;
initialize(): Promise<void>;
private registerDefaultParsers;
private resolvePath;
addFiletypeParser(filetypeParser: FiletypeParserOptions): void;
getPerformance(): Promise<PerformanceStats>;
highlightOnce(content: string, filetype: string): Promise<{
highlights?: SimpleHighlight[];
warning?: string;
error?: string;
}>;
private handleWorkerMessage;
preloadParser(filetype: string): Promise<boolean>;
createBuffer(id: number, content: string, filetype: string, version?: number, autoInitialize?: boolean): Promise<boolean>;
updateBuffer(id: number, edits: Edit[], newContent: string, version: number): Promise<void>;
private processEdit;
removeBuffer(bufferId: number): Promise<void>;
destroy(): Promise<void>;
resetBuffer(bufferId: number, version: number, content: string): Promise<void>;
getBuffer(bufferId: number): BufferState | undefined;
getAllBuffers(): BufferState[];
isInitialized(): boolean;
setDataPath(dataPath: string): Promise<void>;
clearCache(): Promise<void>;
}