pub async fn run_event_loop(
terminal: &mut Terminal<CrosstermBackend<Stdout>>,
app: &mut App,
cwd: &Path,
registry: Option<Arc<ProviderRegistry>>,
session: &mut Session,
bus_handle: &mut BusHandle,
worker_bridge: Option<TuiWorkerBridge>,
event_tx: Sender<SessionEvent>,
event_rx: Receiver<SessionEvent>,
result_tx: Sender<Result<Session>>,
result_rx: Receiver<Result<Session>>,
) -> Result<()>Expand description
Drive the TUI draw-event-dispatch loop until quit.
Continuously redraws the UI, then uses tokio::select!
to multiplex terminal events, session events, results,
a watchdog stall timer, and a 50 ms background tick.
§Examples
ⓘ
run_event_loop(
&mut terminal, &mut app, cwd, registry,
&mut session, &mut bus, bridge, tx, rx, rtx, rrx,
).await?;