From 6dba3609af95fd4a72690343125390616ef72fc7 Mon Sep 17 00:00:00 2001 From: CJ van den Berg Date: Wed, 17 Dec 2025 21:12:41 +0100 Subject: [PATCH] feat: request vcs id and content when opening or restoring files --- src/tui/editor.zig | 2 ++ src/tui/mainview.zig | 3 ++- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/src/tui/editor.zig b/src/tui/editor.zig index a3f317f..6130dc2 100644 --- a/src/tui/editor.zig +++ b/src/tui/editor.zig @@ -709,6 +709,8 @@ pub const Editor = struct { new_buf.is_ephemeral(), ) catch |e| self.logger.print("project_manager.did_open failed: {any}", .{e}); + if (!new_buf.is_ephemeral()) + project_manager.request_vcs_id(file_path) catch {}; }; break :syntax syn; }; diff --git a/src/tui/mainview.zig b/src/tui/mainview.zig index 947839a..988373d 100644 --- a/src/tui/mainview.zig +++ b/src/tui/mainview.zig @@ -1860,6 +1860,8 @@ fn send_buffer_did_open(allocator: std.mem.Allocator, buffer: *Buffer) !void { try content.toOwnedSlice(), buffer.is_ephemeral(), ); + if (!buffer.is_ephemeral()) + project_manager.request_vcs_id(buffer.get_file_path()) catch {}; } fn get_next_mru_buffer(self: *Self, mode: enum { all, hidden, non_hidden }) ?[]const u8 { @@ -1964,6 +1966,5 @@ pub fn vcs_content_update(self: *Self, m: tp.message) void { if (m.match(.{ "PRJ", "vcs_content", tp.extract(&file_path), tp.extract(&vcs_id), tp.extract(&content) }) catch return) { const buffer = self.buffer_manager.get_buffer_for_file(file_path) orelse return; buffer.set_vcs_content(vcs_id, content) catch {}; - std.log.debug("vcs_content: {d} bytes of {d} id:{s}", .{ content.len, (buffer.get_vcs_content() orelse &.{}).len, vcs_id }); } }