Add text mode handling.

This commit is contained in:
2026-08-30 14:33:39 +01:00
parent 87d9148b82
commit 7a18aa0db2
10 changed files with 254 additions and 61 deletions
-3
View File
@@ -71,9 +71,6 @@ struct IO {
std::pair<uint16_t, uint16_t> cursor_position();
void move_cursor(uint16_t row, uint16_t col);
std::pair<std::string, bool> get_command(BEd &);
std::pair<std::string, bool> get_text(BEd &);
KeyEvent read_key();
void write(const char *, uint64_t);
void write(std::string_view);
+2 -3
View File
@@ -1,6 +1,6 @@
#pragma once
#include "internal/io/io.h"
#include "definitions.h"
#include "pch.h"
namespace bed::internal::ui {
@@ -38,9 +38,8 @@ struct CommandIO {
uint16_t term_height;
uint16_t term_width;
BEd &bed;
io::IO &io;
CommandIO(BEd &, io::IO &);
CommandIO(BEd &);
std::pair<std::string, bool> run();
void redraw();
};
+21
View File
@@ -0,0 +1,21 @@
#pragma once
#include "definitions.h"
#include "pch.h"
namespace bed::internal::ui {
struct TextMode {
std::string cmd;
uint16_t cursor;
uint16_t start;
uint16_t height;
uint16_t term_height;
uint16_t term_width;
BEd &bed;
TextMode(BEd &);
std::pair<vase::Shard *, bool> run();
void grow(size_t required_height);
void redraw();
};
} // namespace bed::internal::ui