Make getting keybinding for display more efficient (#27046)
No longer iterates all the matching bindings, and no longer clones the result. Release Notes: - N/A
This commit is contained in:
parent
33faa66e35
commit
3ec69a5bc0
3 changed files with 13 additions and 9 deletions
|
@ -202,10 +202,16 @@ impl Keymap {
|
|||
/// couple times. The decision as of now is to pick a side and leave it
|
||||
/// as is, until we have a better way to decide which binding to display
|
||||
/// that is consistent and not confusing.
|
||||
pub fn binding_to_display_from_bindings<'a>(
|
||||
bindings: impl IntoIterator<Item = &'a KeyBinding>,
|
||||
pub fn binding_to_display_from_bindings(mut bindings: Vec<KeyBinding>) -> Option<KeyBinding> {
|
||||
bindings.pop()
|
||||
}
|
||||
|
||||
/// Like `bindings_to_display_from_bindings` but takes a `DoubleEndedIterator` and returns a
|
||||
/// reference.
|
||||
pub fn binding_to_display_from_bindings_iterator<'a>(
|
||||
mut bindings: impl DoubleEndedIterator<Item = &'a KeyBinding>,
|
||||
) -> Option<&'a KeyBinding> {
|
||||
return bindings.into_iter().last();
|
||||
bindings.next_back()
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue