checkReservedShortcuts function

List<KeybindingWarning> checkReservedShortcuts(
  1. List<ParsedBinding> bindings
)

Check for reserved shortcuts that may not work.

Implementation

List<KeybindingWarning> checkReservedShortcuts(List<ParsedBinding> bindings) {
  final warnings = <KeybindingWarning>[];
  final reserved = getReservedShortcuts();

  for (final binding in bindings) {
    final keyDisplay = chordToString(binding.chord);
    final normalizedKey = normalizeKeyForComparison(keyDisplay);
    for (final res in reserved) {
      if (normalizeKeyForComparison(res.key) == normalizedKey) {
        warnings.add(
          KeybindingWarning(
            type: KeybindingWarningType.reserved,
            severity: res.severity == ReservedSeverity.error
                ? ReservedSeverity.error
                : ReservedSeverity.warning,
            message: '"$keyDisplay" may not work: ${res.reason}',
            key: keyDisplay,
            context: binding.context.name,
            action: binding.action,
          ),
        );
      }
    }
  }

  return warnings;
}