From 02deaab3a73a965d5bfb79ba8de8babca176035f Mon Sep 17 00:00:00 2001 From: CJ van den Berg Date: Tue, 28 Oct 2025 16:34:44 +0100 Subject: [PATCH] fix: always call reload_file when re-openning an hidden non-ephemeral buffer This is less confusing than just restoring the buffer as is. If the file has changed on disk the usual expectation is to load the new contents on re-opening the file. closes #339 --- src/buffer/Manager.zig | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/buffer/Manager.zig b/src/buffer/Manager.zig index 6cb1d99..be4075f 100644 --- a/src/buffer/Manager.zig +++ b/src/buffer/Manager.zig @@ -41,7 +41,11 @@ pub fn delete_buffer(self: *Self, buffer_: *Buffer) void { } pub fn open_file(self: *Self, file_path: []const u8) Buffer.LoadFromFileError!*Buffer { - const buffer = if (self.get_buffer(file_path)) |buffer| buffer else blk: { + const buffer = if (self.get_buffer(file_path)) |buffer| blk: { + if (!buffer.ephemeral and buffer.hidden) + try buffer.refresh_from_file(); + break :blk buffer; + } else blk: { var buffer = try Buffer.create(self.allocator); errdefer buffer.deinit(); try buffer.load_from_file_and_update(file_path);