label method
Implementation
Iterable<String?> label(String? loading) sync* {
yield 'Running tasks for $nameOfHook';
if (debug) {
final PendingHook(:isDead, :wasKilled, :completedTasks, :startedTasks) =
pendingHook;
yield darkGray.wrap('');
yield darkGray.wrap('Started Tasks: ${startedTasks.join(', ')}');
yield darkGray.wrap('Completed Tasks: ${completedTasks.join(', ')}');
yield darkGray.wrap('Killed: $wasKilled');
yield darkGray.wrap('Dead: $isDead');
}
for (final task in pendingHook.topLevelTasks) {
final PendingTask(
resolvedTask: ResolvedHookTask(label: TaskLabel(:depth)),
:isError,
:isHalted,
:isRunning,
:hasStarted,
:hasCompleted,
:wasSkipped,
) = task;
if (debug) {
yield '';
yield darkGray.wrap('Total depth: $depth');
final status = switch ('') {
_ when isRunning => 'Running',
_ when isHalted => 'Halted',
_ when isError => 'Error',
_ when hasStarted => 'Started',
_ when hasCompleted => 'Completed',
_ when wasSkipped => 'Skipped',
_ when !isRunning => 'Pending',
_ => '???',
};
yield darkGray.wrap('Status: $status');
}
yield* retrieveLabels(task, loading: loading, spacing: spacer);
}
yield '\n';
}