on master help sign in
allow for higher F keys to be used (#7672)
579f68bChristian Holman
helix-view/src/input.rs+2−2
@@ -379,7 +379,7 @@ impl std::str::FromStr for KeyEvent {
379 function if function.len() > 1 && function.starts_with('F') => {
379 function if function.len() > 1 && function.starts_with('F') => {
380 let function: String = function.chars().skip(1).collect();
380 let function: String = function.chars().skip(1).collect();
381 let function = str::parse::<u8>(&function)?;
381 let function = str::parse::<u8>(&function)?;
382− (function > 0 && function < 13)
382+ (function > 0 && function < 25)
383 .then_some(KeyCode::F(function))
383 .then_some(KeyCode::F(function))
384 .ok_or_else(|| anyhow!("Invalid function key '{}'", function))?
384 .ok_or_else(|| anyhow!("Invalid function key '{}'", function))?
385 }
385 }
@@ -682,7 +682,7 @@ mod test {
682
682
683 #[test]
683 #[test]
684 fn parsing_nonsensical_keys_fails() {
684 fn parsing_nonsensical_keys_fails() {
685− assert!(str::parse::<KeyEvent>("F13").is_err());
685+ assert!(str::parse::<KeyEvent>("F25").is_err());
686 assert!(str::parse::<KeyEvent>("F0").is_err());
686 assert!(str::parse::<KeyEvent>("F0").is_err());
687 assert!(str::parse::<KeyEvent>("aaa").is_err());
687 assert!(str::parse::<KeyEvent>("aaa").is_err());
688 assert!(str::parse::<KeyEvent>("S-S-a").is_err());
688 assert!(str::parse::<KeyEvent>("S-S-a").is_err());