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;