fix: unicode input in mini modes and palettes

closes: #81
This commit is contained in:
CJ van den Berg 2024-12-17 18:35:47 +01:00
parent e17345eff7
commit ff0987c108
Signed by: neurocyte
GPG key ID: 8EB1E1BB660E3FB9
8 changed files with 37 additions and 22 deletions

View file

@ -115,7 +115,7 @@ pub fn Create(options: type) type {
}
if (tui.current().mini_mode) |*mini_mode| {
mini_mode.text = self.file_path.items;
mini_mode.cursor = self.file_path.items.len;
mini_mode.cursor = tui.current().stdplane().egc_chunk_width(self.file_path.items, 0, 8);
}
return;
}
@ -139,7 +139,7 @@ pub fn Create(options: type) type {
defer {
if (tui.current().mini_mode) |*mini_mode| {
mini_mode.text = self.file_path.items;
mini_mode.cursor = self.file_path.items.len;
mini_mode.cursor = tui.current().stdplane().egc_chunk_width(self.file_path.items, 0, 8);
}
}
var count: usize = undefined;
@ -243,7 +243,7 @@ pub fn Create(options: type) type {
fn update_mini_mode_text(self: *Self) void {
if (tui.current().mini_mode) |*mini_mode| {
mini_mode.text = self.file_path.items;
mini_mode.cursor = self.file_path.items.len;
mini_mode.cursor = tui.current().stdplane().egc_chunk_width(self.file_path.items, 0, 8);
}
}
@ -273,7 +273,7 @@ pub fn Create(options: type) type {
pub fn mini_mode_delete_backwards(self: *Self, _: Ctx) Result {
if (self.file_path.items.len > 0) {
self.complete_trigger_count = 0;
self.file_path.shrinkRetainingCapacity(self.file_path.items.len - 1);
self.file_path.shrinkRetainingCapacity(self.file_path.items.len - tui.current().stdplane().egc_last(self.file_path.items).len);
}
self.update_mini_mode_text();
}