runTaskSession<T> method
Future<T>
runTaskSession<T>(
- Future<
T> run(- Terminal terminal,
- TerminiceFallbackMode directFallbackMode
- required String plainStart,
inherited
Adds the one start line required by task-like indicator sugar while the existing task renderer remains responsible for its single final line.
Implementation
Future<T> runTaskSession<T>(
Future<T> Function(
Terminal terminal,
TerminiceFallbackMode directFallbackMode,
) run, {
required String plainStart,
}) async {
final usesPlainOutput = _usesPlainOutput;
final directFallbackMode = usesPlainOutput
? TerminiceFallbackMode.fallback
: TerminiceFallbackMode.interactive;
if (!usesPlainOutput) {
// A task helper uses its own renderer. Clear any manually rendered frame
// before handing off so its RenderOutput is never abandoned on screen.
_withTerminal(_clearRich);
try {
return await run(_terminal!, directFallbackMode);
} finally {
_resetLifecycleState();
}
}
_showPlain(plainStart);
try {
return await run(_terminal!, directFallbackMode);
} finally {
_resetLifecycleState();
}
}