import { AnsiTerminalDisplay } from "./ansi.ts"; import { UIConfig } from "./config.ts"; import { Display } from "./display.ts"; import { TextUI } from "./ui.ts"; export { TextUI } from "./ui.ts"; export const UI_DISPLAY_TYPES = { autodetect: undefined, ansi: AnsiTerminalDisplay, dummy: Display, } as const; export async function createTextUI( config: Partial, display_type: keyof typeof UI_DISPLAY_TYPES = "autodetect", ): Promise { if (display_type == "autodetect") { // TODO detect platform display_type = "ansi"; } var display = new UI_DISPLAY_TYPES[display_type](); var ui = new TextUI(display, config); await ui.init(); return ui; }