From 0dc177433643d6fd25c4d3867716b26406cd21bc Mon Sep 17 00:00:00 2001 From: CJ van den Berg Date: Tue, 14 Apr 2026 23:28:04 +0200 Subject: [PATCH] feat: add toggle_gutter_diffs command and gutter_diffs config option closes #533 --- src/config.zig | 1 + src/tui/editor_gutter.zig | 1 + src/tui/mainview.zig | 7 +++++++ 3 files changed, 9 insertions(+) diff --git a/src/config.zig b/src/config.zig index 26a8ce73..edeea8b7 100644 --- a/src/config.zig +++ b/src/config.zig @@ -7,6 +7,7 @@ input_mode: []const u8 = "flow", gutter_line_numbers_mode: ?LineNumberMode = null, gutter_line_numbers_style: DigitStyle = .ascii, gutter_symbols: bool = true, +gutter_diffs: bool = true, gutter_width_mode: GutterWidthMode = .local, gutter_width_minimum: usize = 4, gutter_width_maximum: usize = 8, diff --git a/src/tui/editor_gutter.zig b/src/tui/editor_gutter.zig index 7f2e2583..c7c3840f 100644 --- a/src/tui/editor_gutter.zig +++ b/src/tui/editor_gutter.zig @@ -262,6 +262,7 @@ inline fn render_line_highlight(self: *Self, pos: usize, theme: *const Widget.Th } inline fn render_diff_symbols(self: *Self, diff_symbols: *[]Diff, pos: usize, linenum_: usize, theme: *const Widget.Theme) void { + if (!tui.config().gutter_diffs) return; const linenum = linenum_ - 1; if (diff_symbols.len == 0) return; while ((diff_symbols.*)[0].line < linenum) { diff --git a/src/tui/mainview.zig b/src/tui/mainview.zig index c1d705df..91c3d2a5 100644 --- a/src/tui/mainview.zig +++ b/src/tui/mainview.zig @@ -1048,6 +1048,13 @@ const cmds = struct { } pub const toggle_inline_diagnostics_meta: Meta = .{ .description = "Toggle display of diagnostics inline" }; + pub fn toggle_gutter_diffs(_: *Self, _: Ctx) Result { + const config = tui.config_mut(); + config.gutter_diffs = !config.gutter_diffs; + try tui.save_config(); + } + pub const toggle_gutter_diffs_meta: Meta = .{ .description = "Toggle gutter diff markers" }; + pub fn goto_next_file_or_diagnostic(self: *Self, ctx: Ctx) Result { if (self.is_panel_view_showing(filelist_view)) { switch (self.file_list_type) {