findConflicts method
Find conflicting bindings for a given keystroke in a context.
Implementation
List<ParsedBinding> findConflicts(
String keyString,
KeybindingContext context,
) {
final targetChord = parseChord(keyString);
final conflicts = <ParsedBinding>[];
for (final binding in _bindings) {
if (binding.context != context &&
binding.context != KeybindingContext.global) {
continue;
}
if (binding.chord.length != targetChord.length) continue;
var matches = true;
for (var i = 0; i < targetChord.length; i++) {
if (!keystrokesEqual(targetChord[i], binding.chord[i])) {
matches = false;
break;
}
}
if (matches) conflicts.add(binding);
}
return conflicts;
}