import { importForRuntime } from "./runtime"; import { ctrl_key, is_control } from "./strings"; export * from './runtime.ts'; export * from './strings.ts'; export * from './termios.ts'; export type { ITestBase } from './test_base.ts'; const decoder = new TextDecoder(); export function readKey(chunk): string { const char = String(decoder.decode(chunk)) return char; } export async function main() { const { inputLoop, init } = await importForRuntime('mod.ts'); // Set up handlers to enable/disable raw mode for each runtime await init(); // The main event loop for await (const chunk of inputLoop()) { const char = readKey(chunk); if (char === ctrl_key('q')) { return 0; } if (is_control(char)) { console.log(char.codePointAt(0) + '\r'); } else { console.log(`${char} ('${char.codePointAt(0)}')\r`); } } return -1; }