From d9affca09b6a85998d0a3be186c6e571a1da1a44 Mon Sep 17 00:00:00 2001 From: CJ van den Berg Date: Mon, 21 Apr 2025 19:08:35 +0200 Subject: [PATCH] feat: add config option to enable jit-in-time debugging This option tells flow to start gdbserver and pause the process waiting for gdb to connect when a crash happens. --- src/config.zig | 2 ++ src/tui/tui.zig | 3 +++ 2 files changed, 5 insertions(+) diff --git a/src/config.zig b/src/config.zig index af5da11..31f76fe 100644 --- a/src/config.zig +++ b/src/config.zig @@ -27,6 +27,8 @@ bottom_bar: []const u8 = "mode file log selection diagnostics keybind linenumber show_scrollbars: bool = true, show_fileicons: bool = true, +start_debugger_on_crash: bool = false, + include_files: []const u8 = "", pub const DigitStyle = enum { diff --git a/src/tui/tui.zig b/src/tui/tui.zig index f42401d..083e715 100644 --- a/src/tui/tui.zig +++ b/src/tui/tui.zig @@ -103,6 +103,9 @@ fn init(allocator: Allocator) InitError!*Self { var conf, const conf_bufs = root.read_config(@import("config"), allocator); defer root.free_config(allocator, conf_bufs); + if (conf.start_debugger_on_crash) + tp.install_debugger(); + const theme_, const parsed_theme = get_theme_by_name(allocator, conf.theme) orelse get_theme_by_name(allocator, "dark_modern") orelse return error.UnknownTheme; conf.theme = theme_.name; conf.whitespace_mode = try allocator.dupe(u8, conf.whitespace_mode);