From 1b67fae9f4eabf0899dda441971b8a338cb45a15 Mon Sep 17 00:00:00 2001
From: Rowan Herbert <rlherbert.dev@gmail.com>
Date: Wed, 2 Jun 2021 16:30:40 -0700
Subject: [PATCH] Fix panic when buffer larger than terminal width

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

diff --git a/helix-view/src/view.rs b/helix-view/src/view.rs
index f82de90e..b7bfaa17 100644
--- a/helix-view/src/view.rs
+++ b/helix-view/src/view.rs
@@ -143,8 +143,9 @@ impl View {
             }
         }
 
-        let row = line - self.first_line as usize;
-        let col = col - self.first_col as usize;
+        // It is possible for underflow to occur if the buffer length is larger than the terminal width.
+        let row = line.saturating_sub(self.first_line);
+        let col = col.saturating_sub(self.first_col);
 
         Some(Position::new(row, col))
     }