feat: add toggle_gutter_diffs command and gutter_diffs config option

closes #533
This commit is contained in:
CJ van den Berg 2026-04-14 23:28:04 +02:00
parent a35fc00f31
commit 0dc1774336
Signed by: neurocyte
GPG key ID: 8EB1E1BB660E3FB9
3 changed files with 9 additions and 0 deletions

View file

@ -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,

View file

@ -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) {

View file

@ -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) {