From ab02942670f37520833bc7dc8d0ff55d94eda7d7 Mon Sep 17 00:00:00 2001 From: _ov4 Date: Tue, 22 Sep 2026 02:00:52 +0000 Subject: add print_override --- src/line/mode.cc | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) (limited to 'src/line/mode.cc') diff --git a/src/line/mode.cc b/src/line/mode.cc index 83eda67..9eb54b1 100644 --- a/src/line/mode.cc +++ b/src/line/mode.cc @@ -71,7 +71,7 @@ string readline() { clear_below(); } - else if (c == 'R') + else if (c == 'P') { get_cursor_position(); } @@ -87,9 +87,14 @@ string readline() } else { - print("{}", c); buffer += c; - fflush(stdout); + print_override(buffer); + + // esc sequence + if (buffer.size() <= 2 && buffer[0] == '\x1b' && buffer[1] == '[') + { + ; + } } } return buffer; @@ -127,4 +132,12 @@ T_position get_cursor_position() return pos; } +void print_override(const std::string &s) +{ + print("\r"); + fflush(stdout); + print("{}", s); + fflush(stdout); +} + } -- cgit v1.3.1-4-g156e