From 1e9138e75cef70891daf273fb1b7ffbd12874e8e Mon Sep 17 00:00:00 2001
From: Jeffrey Phillips Freeman <jeffrey.freeman@syncleus.com>
Date: Thu, 18 Apr 2019 13:52:50 -0400
Subject: [PATCH] Reset buffer position when a new command is typed.

---
 lib/aethyr/core/render/display.rb | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/lib/aethyr/core/render/display.rb b/lib/aethyr/core/render/display.rb
index 089198a..d1cb5b9 100644
--- a/lib/aethyr/core/render/display.rb
+++ b/lib/aethyr/core/render/display.rb
@@ -83,6 +83,7 @@ class Display
       @window_main.clear
       @window_main.move(@window_main.getmaxy - 2,1)
       @buffer[:main] = [] if @buffer[:main].nil?
+      @buffer_pos = 0
       parse_buffer
       buffer_from = [@buffer_lines[:main].length * -1, -1 * (@height - 3 + @buffer_pos + 1)].max
       buffer_to = [@buffer_lines[:main].length * -1, (@buffer_pos + 1) * -1].max
@@ -123,6 +124,7 @@ class Display
       @window_main.clear
       @window_main.move(@window_main.getmaxy - 2,1)
       @buffer[:main] = [] if @buffer[:main].nil?
+      @buffer_pos = 0
       parse_buffer
       buffer_from = [@buffer_lines[:main].length * -1, -1 * (33 + @buffer_pos + 1)].max
       buffer_to = [@buffer_lines[:main].length * -1, (@buffer_pos + 1) * -1].max
@@ -711,6 +713,8 @@ CONF
           window.clear
           send("≫≫≫≫≫ #{string}") if echo?
           @selected = :input
+          @buffer_pos = 0
+          render_buffer(channel: :main)
           update
           return string#, cursor_pos, ch # Which return key has been used?
         #when Ncurses::KEY_BACKSPACE
-- 
GitLab