From 01bf68b3bc34a685823a352eb09ed5717a3b4961 Mon Sep 17 00:00:00 2001 From: _ov4 Date: Thu, 8 Oct 2026 14:08:46 +0000 Subject: prepare for page --- include/line/cursor.h | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) (limited to 'include/line') diff --git a/include/line/cursor.h b/include/line/cursor.h index cdea934..7cae165 100644 --- a/include/line/cursor.h +++ b/include/line/cursor.h @@ -13,6 +13,12 @@ struct T_position int col; }; +enum class T_cursor_movement_direction +{ + LEFT, + RIGHT, +}; + // 1-based inline int cursor_row; inline int cursor_col; @@ -23,17 +29,23 @@ inline int window_size_row; inline int window_size_col; // 0-based index -inline int line_buffer_index; +inline int line_buffer_index_cursor; +// index [begin, end] is displayed +// NB: CLOSE interval +inline int line_buffer_index_begin; +inline int line_buffer_index_end; inline int buffer_len; +inline std::string line_buffer; + T_position get_cursor_position(); void print_override(const std::string &s); void move_cursor(char c); -void cursor_input(char c, std::string &buffer); +void cursor_input_char(char c); int get_cursor_real_pos(); @@ -41,5 +53,7 @@ void update_window_size(); void update_line_end_pos(); +void move_cursor(T_cursor_movement_direction d); + } -- cgit v1.3.1-4-g156e