aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/line/cursor.h29
-rw-r--r--include/line/getter.h14
-rw-r--r--include/line/mode.h2
-rw-r--r--include/line/type.h18
4 files changed, 41 insertions, 22 deletions
diff --git a/include/line/cursor.h b/include/line/cursor.h
index 7cae165..6e62bce 100644
--- a/include/line/cursor.h
+++ b/include/line/cursor.h
@@ -2,53 +2,38 @@
#include <string>
+#include "line/type.h"
+
using namespace std; // TODO: remove
namespace ov4
{
-struct T_position
-{
- int row;
- int col;
-};
-
-enum class T_cursor_movement_direction
-{
- LEFT,
- RIGHT,
-};
-
// 1-based
inline int cursor_row;
inline int cursor_col;
inline int line_end_pos;
-inline int line_begin_pos;
+
+inline int prompt_pos;
inline int window_size_row;
inline int window_size_col;
// 0-based index
-inline int line_buffer_index_cursor;
+inline int 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 int _buffer_index_display_begin;
+//inline int buffer_index_display_end;
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(char c);
-int get_cursor_real_pos();
-
void update_window_size();
void update_line_end_pos();
diff --git a/include/line/getter.h b/include/line/getter.h
new file mode 100644
index 0000000..a1c3765
--- /dev/null
+++ b/include/line/getter.h
@@ -0,0 +1,14 @@
+#pragma once
+
+#include "line/type.h"
+
+namespace ov4
+{
+
+int get_terminal_pos_cursor();
+int get_buffer_index_display_begin();
+int get_buffer_index_display_end();
+
+T_position get_cursor_position();
+
+} \ No newline at end of file
diff --git a/include/line/mode.h b/include/line/mode.h
index be0a453..d080fc3 100644
--- a/include/line/mode.h
+++ b/include/line/mode.h
@@ -3,6 +3,8 @@
#include <termios.h>
#include <string>
+#include "line/type.h"
+
using namespace std; // TODO: remove
namespace ov4
diff --git a/include/line/type.h b/include/line/type.h
new file mode 100644
index 0000000..b85a81c
--- /dev/null
+++ b/include/line/type.h
@@ -0,0 +1,18 @@
+#pragma once
+
+namespace ov4
+{
+
+struct T_position
+{
+ int row;
+ int col;
+};
+
+enum class T_cursor_movement_direction
+{
+ LEFT,
+ RIGHT,
+};
+
+} \ No newline at end of file