runProgramDebug<M extends Model> function

Future<void> runProgramDebug<M extends Model>(
  1. M model, {
  2. ProgramOptions? options,
  3. ProgramHost? host,
  4. TuiTerminal? terminal,
})

Runs a TUI program without panic catching (for debugging).

This is useful when you want exceptions to propagate normally so a debugger can catch them.

void main() async {
  await runProgramDebug(MyModel());
}

Implementation

Future<void> runProgramDebug<M extends Model>(
  M model, {
  ProgramOptions? options,
  ProgramHost? host,
  TuiTerminal? terminal,
}) async {
  final resolved = _resolveProgramHost(
    options: options ?? const ProgramOptions(),
    host: host,
    terminal: terminal,
  );
  final program = Program<M>._resolved(
    model,
    ProgramHostBinding(
      options: resolved.options.withoutCatchPanics(),
      terminal: resolved.terminal,
    ),
  );
  await program.run();
}