From d52eca78a2a3a13a05dfe7699418cdf112ad71df Mon Sep 17 00:00:00 2001
From: "Adam D. Ruppe" <destructionator@gmail.com>
Date: Thu, 9 Apr 2020 11:09:51 -0400
Subject: [PATCH] fix ctrl+arrow bug in getline

---
 terminal.d | 18 ++++++------------
 1 file changed, 6 insertions(+), 12 deletions(-)

diff --git a/terminal.d b/terminal.d
index c962ef6..f9fe786 100644
--- a/terminal.d
+++ b/terminal.d
@@ -4905,12 +4905,9 @@ class LineGetter {
 								cursorPosition--;
 						}
 						aligned(cursorPosition, -1);
-						if(!multiLineMode) {
-							if(cursorPosition < horizontalScrollPosition) {
-								horizontalScrollPosition--;
-								aligned(horizontalScrollPosition, -1);
-							}
-						}
+
+						if(cursorPosition < horizontalScrollPosition)
+							positionCursor();
 
 						redraw();
 					break;
@@ -4927,12 +4924,9 @@ class LineGetter {
 								cursorPosition = cast(int) line.length;
 						}
 						aligned(cursorPosition, 1);
-						if(!multiLineMode) {
-							if(cursorPosition >= horizontalScrollPosition + availableLineLength()) {
-								horizontalScrollPosition++;
-								aligned(horizontalScrollPosition, 1);
-							}
-						}
+
+						if(cursorPosition > horizontalScrollPosition + availableLineLength())
+							positionCursor();
 
 						redraw();
 					break;