Do not clone Key

This commit is contained in:
Jeremy Soller 2024-02-08 16:03:26 -07:00
parent 1c82463dfb
commit 8b5a235129
No known key found for this signature in database
GPG key ID: D02FD439211AF56F
3 changed files with 4 additions and 5 deletions

View file

@ -22,8 +22,8 @@ pub struct KeyBind {
}
impl KeyBind {
pub fn matches(&self, modifiers: Modifiers, key: Key) -> bool {
self.key == key
pub fn matches(&self, modifiers: Modifiers, key: &Key) -> bool {
key == &self.key
&& modifiers.logo() == self.modifiers.contains(&Modifier::Super)
&& modifiers.control() == self.modifiers.contains(&Modifier::Ctrl)
&& modifiers.alt() == self.modifiers.contains(&Modifier::Alt)

View file

@ -1019,7 +1019,7 @@ impl Application for App {
},
Message::Key(modifiers, key) => {
for (key_bind, action) in self.key_binds.iter() {
if key_bind.matches(modifiers, key.clone()) {
if key_bind.matches(modifiers, &key) {
return self.update(action.message(None));
}
}

View file

@ -682,8 +682,7 @@ where
status = Status::Captured;
}
Named::Space if !modifiers.control() => {
terminal
.input_scroll(format!("{}{}", alt_prefix, " ").as_bytes().to_vec());
terminal.input_scroll(format!("{}{}", alt_prefix, " ").as_bytes().to_vec());
status = Status::Captured;
}
Named::Tab => {