From f6b202f24af4b796df2ce08cb7bd7de2b7a31d34 Mon Sep 17 00:00:00 2001 From: Mitchell Hashimoto Date: Tue, 20 Feb 2024 10:12:09 -0800 Subject: [PATCH] terminal/new: todos --- src/terminal/new/Terminal.zig | 2 ++ src/terminal/new/page.zig | 6 ++++++ 2 files changed, 8 insertions(+) diff --git a/src/terminal/new/Terminal.zig b/src/terminal/new/Terminal.zig index a7cf7ecfd..089981cf9 100644 --- a/src/terminal/new/Terminal.zig +++ b/src/terminal/new/Terminal.zig @@ -303,6 +303,8 @@ fn printCell(self: *Terminal, unmapped_c: u21) void { // If the prior value had graphemes, clear those //if (cell.attrs.grapheme) row.clearGraphemes(self.screen.cursor.x); + // TODO: prev cell overwriting style + // Write self.screen.cursor.page_cell.* = .{ .style_id = self.screen.cursor.style_id, diff --git a/src/terminal/new/page.zig b/src/terminal/new/page.zig index 4f6be3a8f..8628d0ea9 100644 --- a/src/terminal/new/page.zig +++ b/src/terminal/new/page.zig @@ -53,6 +53,12 @@ pub const Page = struct { /// first column, all cells in that row are laid out in column order. cells: Offset(Cell), + /// The multi-codepoint grapheme data for this page. This is where + /// any cell that has more than one codepoint will be stored. This is + /// relatively rare (typically only emoji) so this defaults to a very small + /// size and we force page realloc when it grows. + __todo_graphemes: void = {}, + /// The available set of styles in use on this page. styles: style.Set,