printConfigPreview static method

void printConfigPreview(
  1. Map<String, String> config, {
  2. String title = 'Configuration Preview',
})

Show a pretty configuration preview box

Implementation

static void printConfigPreview(
  Map<String, String> config, {
  String title = 'Configuration Preview',
}) {
  // Calculate width based on longest content
  int maxContentLen = title.length;
  for (final MapEntry<String, String> entry in config.entries) {
    final int lineLen = '${entry.key}: ${entry.value}'.length;
    if (lineLen > maxContentLen) maxContentLen = lineLen;
  }
  // Box structure: │ content │ = content + 4 chars for "│ " and " │"
  // Line width = content width + 2 for the spaces inside borders
  final int innerWidth = (maxContentLen + 2).clamp(38, 78);
  final String line = '\u2500' * innerWidth;

  print('');
  print('\u256d$line\u256e');
  _printBoxLine(title, innerWidth, center: true);
  print('\u251c$line\u2524');

  for (final MapEntry<String, String> entry in config.entries) {
    _printBoxLine('${entry.key}: ${entry.value}', innerWidth);
  }

  print('\u2570$line\u256f');
}