|
|
|
@ -348,6 +348,7 @@ fn parse_keybind(
|
|
|
|
|
.map(|s| s.to_string())
|
|
|
|
|
.collect::<Vec<String>>()
|
|
|
|
|
.len() == 1 { true } else { false };
|
|
|
|
|
log::trace!("Consume: {}", consume);
|
|
|
|
|
let mode = match tokens
|
|
|
|
|
.iter()
|
|
|
|
|
.filter(|s| s.starts_with("[") && s.ends_with("]"))
|
|
|
|
@ -360,8 +361,11 @@ fn parse_keybind(
|
|
|
|
|
None
|
|
|
|
|
}
|
|
|
|
|
};
|
|
|
|
|
let mod_index = if mode.is_some() { 1 } else { 0 };
|
|
|
|
|
|
|
|
|
|
let mut mod_index = if mode.is_some() { 1 } else { 0 };
|
|
|
|
|
// make sure to push index forward
|
|
|
|
|
if consume {
|
|
|
|
|
mod_index += 1;
|
|
|
|
|
}
|
|
|
|
|
let modifiers: Vec<Modifier> = tokens[mod_index..(tokens.len() - 1)]
|
|
|
|
|
.iter()
|
|
|
|
|
.map(|token| *mod_to_mod_enum.get(token.as_str()).unwrap())
|
|
|
|
|