From fdabe03e91b49253ccaa0b5697a4c7a938a6f9ed Mon Sep 17 00:00:00 2001 From: CJ van den Berg Date: Wed, 19 Feb 2025 18:41:46 +0100 Subject: [PATCH 1/2] refactor: run zig fmt --- src/tui/editor.zig | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/tui/editor.zig b/src/tui/editor.zig index 7e248cd..60649c6 100644 --- a/src/tui/editor.zig +++ b/src/tui/editor.zig @@ -2088,7 +2088,7 @@ pub const Editor = struct { fn move_cursor_up_vim(root: Buffer.Root, cursor: *Cursor, metrics: Buffer.Metrics) !void { try cursor.move_up(root, metrics); - if(is_eol_vim(root, cursor, metrics)) try move_cursor_left_vim(root, cursor, metrics); + if (is_eol_vim(root, cursor, metrics)) try move_cursor_left_vim(root, cursor, metrics); } fn move_cursor_down(root: Buffer.Root, cursor: *Cursor, metrics: Buffer.Metrics) !void { @@ -2097,7 +2097,7 @@ pub const Editor = struct { fn move_cursor_down_vim(root: Buffer.Root, cursor: *Cursor, metrics: Buffer.Metrics) !void { try cursor.move_down(root, metrics); - if(is_eol_vim(root, cursor, metrics)) try move_cursor_left_vim(root, cursor, metrics); + if (is_eol_vim(root, cursor, metrics)) try move_cursor_left_vim(root, cursor, metrics); } fn move_cursor_buffer_begin(_: Buffer.Root, cursor: *Cursor, _: Buffer.Metrics) !void { @@ -2122,7 +2122,7 @@ pub const Editor = struct { fn move_cursor_half_page_up_vim(root: Buffer.Root, cursor: *Cursor, view: *const View, metrics: Buffer.Metrics) !void { cursor.move_half_page_up(root, view, metrics); - if(is_eol_vim(root, cursor, metrics)) try move_cursor_left_vim(root, cursor, metrics); + if (is_eol_vim(root, cursor, metrics)) try move_cursor_left_vim(root, cursor, metrics); } fn move_cursor_half_page_down(root: Buffer.Root, cursor: *Cursor, view: *const View, metrics: Buffer.Metrics) !void { @@ -2131,7 +2131,7 @@ pub const Editor = struct { fn move_cursor_half_page_down_vim(root: Buffer.Root, cursor: *Cursor, view: *const View, metrics: Buffer.Metrics) !void { cursor.move_half_page_down(root, view, metrics); - if(is_eol_vim(root, cursor, metrics)) try move_cursor_left_vim(root, cursor, metrics); + if (is_eol_vim(root, cursor, metrics)) try move_cursor_left_vim(root, cursor, metrics); } pub fn primary_click(self: *Self, y: c_int, x: c_int) !void { @@ -3480,7 +3480,7 @@ pub const Editor = struct { for (self.cursels.items) |*cursel_| if (cursel_.*) |*cursel| try self.select_line_around_cursor(cursel); self.collapse_cursors(); - + self.clamp(); } pub const select_line_vim_meta = .{ .description = "Select the line around the cursor (vim)" }; From c7cca545b9ceaf0a66885544caf020ecb63e66c5 Mon Sep 17 00:00:00 2001 From: CJ van den Berg Date: Wed, 19 Feb 2025 18:42:14 +0100 Subject: [PATCH 2/2] fix: make move_cursor_up/_down fallback to move_begin/_end closes #185 --- src/tui/editor.zig | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/tui/editor.zig b/src/tui/editor.zig index 60649c6..158c9d5 100644 --- a/src/tui/editor.zig +++ b/src/tui/editor.zig @@ -2083,7 +2083,9 @@ pub const Editor = struct { } fn move_cursor_up(root: Buffer.Root, cursor: *Cursor, metrics: Buffer.Metrics) !void { - try cursor.move_up(root, metrics); + cursor.move_up(root, metrics) catch |e| switch (e) { + error.Stop => cursor.move_begin(), + }; } fn move_cursor_up_vim(root: Buffer.Root, cursor: *Cursor, metrics: Buffer.Metrics) !void { @@ -2092,7 +2094,9 @@ pub const Editor = struct { } fn move_cursor_down(root: Buffer.Root, cursor: *Cursor, metrics: Buffer.Metrics) !void { - try cursor.move_down(root, metrics); + cursor.move_down(root, metrics) catch |e| switch (e) { + error.Stop => cursor.move_end(root, metrics), + }; } fn move_cursor_down_vim(root: Buffer.Root, cursor: *Cursor, metrics: Buffer.Metrics) !void {