printSummary method

void printSummary()

Print a summary to console

Implementation

void printSummary() {
  print('');
  print('Tool Check Results:');
  print('\u2500' * 60);

  for (final ToolStatus tool in tools) {
    final String status = tool.isInstalled ? '\u2713' : '\u2717';
    final String required = tool.isRequired ? ' (required)' : '';
    final String version = tool.isInstalled ? ' - ${tool.version}' : '';
    print('  [$status] ${tool.name}$required$version');
  }

  print('\u2500' * 60);

  if (allRequiredInstalled) {
    print('\u2713 All required tools are installed');
  } else {
    print('\u2717 Missing required tools:');
    for (final ToolStatus tool in missingRequired) {
      print('  - ${tool.name}');
      if (tool.installInstructions != null) {
        print('    Install: ${tool.installInstructions}');
      }
    }
  }

  if (missingOptional.isNotEmpty) {
    print('');
    print('Optional tools not installed:');
    for (final ToolStatus tool in missingOptional) {
      print('  - ${tool.name}');
      if (tool.installInstructions != null) {
        print('    Install: ${tool.installInstructions}');
      }
    }
  }
}