import { CreateKeyboardListeners } from './input/keyboard' import { Wush } from './shell/Wush' import { Terminal } from './terminal/Terminal' import { EventBroadcaster } from './utils/EventBroadcaster' // Initializes the app const init = () => { const localBroadcaster = new EventBroadcaster() // creates keyboard listeners for the local event broadcaster CreateKeyboardListeners( (key: string, isCharacter: boolean) => localBroadcaster.emit('keydown', key, isCharacter), (key: string, isCharacter: boolean) => localBroadcaster.emit('keyup', key, isCharacter), ) const terminal = new Terminal() terminal.LoadShell(new Wush(localBroadcaster, terminal)) } init()