From 1755ecb3dd44f75f2972769c9c9b1e4af6b4ea4e Mon Sep 17 00:00:00 2001 From: CJ van den Berg Date: Thu, 27 Nov 2025 16:16:05 +0100 Subject: [PATCH] refactor: simplify disable_selection to never move the cursor --- src/tui/editor.zig | 28 +++++----------------------- 1 file changed, 5 insertions(+), 23 deletions(-) diff --git a/src/tui/editor.zig b/src/tui/editor.zig index 58f2f89..cd094ff 100644 --- a/src/tui/editor.zig +++ b/src/tui/editor.zig @@ -137,37 +137,19 @@ pub const CurSel = struct { } fn to_selection_inclusive(self: *const Self, root: Buffer.Root, metrics: Buffer.Metrics) Selection { - return if (self.selection) |sel| - sel - else cod: { - var sel = Selection.from_cursor(&self.cursor); - sel.end.move_right(root, metrics) catch {}; - break :cod sel; - }; + return self.selection orelse Selection.from_cursor_inclusive(&self.cursor, root, metrics); } - pub fn disable_selection(self: *Self, root: Buffer.Root, metrics: Buffer.Metrics) void { - switch (tui.get_selection_style()) { - .normal => self.disable_selection_normal(), - .inclusive => self.disable_selection_inclusive(root, metrics), - } + pub fn disable_selection(self: *Self, _: Buffer.Root, _: Buffer.Metrics) void { + self.selection = null; } pub fn disable_selection_normal(self: *Self) void { self.selection = null; } - fn disable_selection_inclusive(self: *Self, root: Buffer.Root, metrics: Buffer.Metrics) void { - if (self.selection) |sel| { - if (!sel.is_reversed()) self.cursor.move_left(root, metrics) catch {}; - self.selection = null; - } - } - - pub fn check_selection(self: *Self, root: Buffer.Root, metrics: Buffer.Metrics) void { - if (self.selection) |sel| if (sel.empty()) { - self.disable_selection(root, metrics); - }; + pub fn check_selection(self: *Self, _: Buffer.Root, _: Buffer.Metrics) void { + self.selection = if (self.selection) |sel| if (sel.empty()) null else sel else null; } fn expand_selection_to_line(self: *Self, root: Buffer.Root, metrics: Buffer.Metrics) *Selection {