From a532665afbe1055db7eeca6346fae50aa12d0b59 Mon Sep 17 00:00:00 2001 From: CJ van den Berg Date: Tue, 20 Jan 2026 16:16:32 +0100 Subject: [PATCH] fix: make create_scratch_buffer work correctly across splits --- src/tui/mainview.zig | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/src/tui/mainview.zig b/src/tui/mainview.zig index 76f8556..3ac429f 100644 --- a/src/tui/mainview.zig +++ b/src/tui/mainview.zig @@ -724,6 +724,21 @@ const cmds = struct { const args = try ctx.args.clone(self.allocator); defer self.allocator.free(args.buf); tui.reset_drag_context(); + + var file_path: []const u8 = undefined; + if (ctx.args.match(.{ tp.extract(&file_path), tp.string, tp.string }) catch false or + ctx.args.match(.{ tp.extract(&file_path), tp.string }) catch false or + ctx.args.match(.{tp.extract(&file_path)}) catch false) + { + if (self.buffer_manager.get_buffer_for_file(file_path)) |_| { + var buf: [tp.max_message_size]u8 = undefined; + try command.executeName("navigate", try command.fmtbuf(&buf, .{ .file = file_path })); + tui.need_render(@src()); + self.location_update_from_editor(); + return; + } + } + try self.create_editor(); try command.executeName("open_scratch_buffer", .{ .args = args }); tui.need_render(@src());