formatWarnings function

String formatWarnings(
  1. List<KeybindingWarning> warnings
)

Format multiple warnings for display.

Implementation

String formatWarnings(List<KeybindingWarning> warnings) {
  if (warnings.isEmpty) return '';
  final errors = warnings
      .where((w) => w.severity == ReservedSeverity.error)
      .toList();
  final warns = warnings
      .where((w) => w.severity == ReservedSeverity.warning)
      .toList();
  final lines = <String>[];
  if (errors.isNotEmpty) {
    lines.add(
      'Found ${errors.length} keybinding error${errors.length == 1 ? '' : 's'}:',
    );
    for (final e in errors) {
      lines.add(formatWarning(e));
    }
  }
  if (warns.isNotEmpty) {
    if (lines.isNotEmpty) lines.add('');
    lines.add(
      'Found ${warns.length} keybinding warning${warns.length == 1 ? '' : 's'}:',
    );
    for (final w in warns) {
      lines.add(formatWarning(w));
    }
  }
  return lines.join('\n');
}