printStatusBoard method

void printStatusBoard({
  1. StatusBoardTag? tag,
  2. List<MetaRoute>? routes,
  3. bool clear = true,
})

Stable status board reprinted after clear, reload, and c.

Implementation

void printStatusBoard({
  StatusBoardTag? tag,
  List<MetaRoute>? routes,
  bool clear = true,
}) {
  final resolvedTag =
      tag ??
      (_hasReloadedOnce ? StatusBoardTag.reload : StatusBoardTag.ready);

  if (clear) {
    _wipeOrDivide(
      label: resolvedTag == StatusBoardTag.reload ? 'reload' : 'ready',
    );
  }

  var header = '${yellow.wrap(_formatTime(DateTime.now()))}';
  if (canHotReload) {
    final label = switch (resolvedTag) {
      StatusBoardTag.ready => '[READY]',
      StatusBoardTag.reload => '[RELOAD]',
    };
    header += ' ${darkGray.wrap(label)}';
  }
  logger.info(header);

  if (_servingAt case final serving?) {
    logger.success(serving);
  }

  if (_vmServiceUri.isNotEmpty) {
    for (final line in _vmServiceUri.split('\n')) {
      if (line.isEmpty) continue;
      logger.info(darkGray.wrap(line));
    }
  }

  if (_enableHotReload || canHotReload) {
    printInputCommands();
  }

  printParsedRoutes(routes);
  _statusBoardPrinted = true;
}