printSummary method

void printSummary()

Print a beautiful summary to the console

Implementation

void printSummary() {
  print('');
  print('\u256d${'─' * 45}\u256e');
  print('\u2502 ${'Generation Summary'.padRight(43)} \u2502');
  print('\u251c${'─' * 45}\u2524');
  print('\u2502 Files Processed:    ${filesProcessed.toString().padLeft(20)} \u2502');
  print('\u2502 Files Ignored:      ${filesIgnored.toString().padLeft(20)} \u2502');
  print('\u2502 Output Files:       ${outputFilesCreated.toString().padLeft(20)} \u2502');

  // Show individual output files
  for (final file in outputFiles) {
    final name = file.length > 38 ? '...${file.substring(file.length - 35)}' : file;
    print('\u2502   \u2022 ${name.padRight(40)} \u2502');
  }

  print('\u2502 Total Size:         ${formattedSize.padLeft(20)} \u2502');
  print('\u2502 Duration:           ${formattedDuration.padLeft(20)} \u2502');
  print('\u2570${'─' * 45}\u256f');

  // Show ignore breakdown if there are ignored files
  if (ignoreReasons.isNotEmpty) {
    print('');
    info('Ignore breakdown:');
    for (final entry in ignoreReasons.entries) {
      print('  \u2022 ${entry.key}: ${entry.value} file(s)');
    }
  }
}