From 579f68b52d2d95bb28b52133c0a41ffaa3da644a Mon Sep 17 00:00:00 2001
From: Christian Holman <chrisholm2@yahoo.com>
Date: Wed, 19 Jul 2023 03:05:32 +0100
Subject: [PATCH] allow for higher F keys to be used (#7672)

---
 helix-view/src/input.rs | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/helix-view/src/input.rs b/helix-view/src/input.rs
index d8832adc..5566a265 100644
--- a/helix-view/src/input.rs
+++ b/helix-view/src/input.rs
@@ -379,7 +379,7 @@ impl std::str::FromStr for KeyEvent {
             function if function.len() > 1 && function.starts_with('F') => {
                 let function: String = function.chars().skip(1).collect();
                 let function = str::parse::<u8>(&function)?;
-                (function > 0 && function < 13)
+                (function > 0 && function < 25)
                     .then_some(KeyCode::F(function))
                     .ok_or_else(|| anyhow!("Invalid function key '{}'", function))?
             }
@@ -682,7 +682,7 @@ mod test {
 
     #[test]
     fn parsing_nonsensical_keys_fails() {
-        assert!(str::parse::<KeyEvent>("F13").is_err());
+        assert!(str::parse::<KeyEvent>("F25").is_err());
         assert!(str::parse::<KeyEvent>("F0").is_err());
         assert!(str::parse::<KeyEvent>("aaa").is_err());
         assert!(str::parse::<KeyEvent>("S-S-a").is_err());