From 53ea08a41e382c57bcf90d566822323f3e8e2c69 Mon Sep 17 00:00:00 2001 From: CJ van den Berg Date: Tue, 24 Jun 2025 12:20:06 +0200 Subject: [PATCH] fix: don't truncate scratch buffer names in tabs and terminal title --- src/tui/status/filestate.zig | 7 ++++++- src/tui/status/tabs.zig | 2 ++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/src/tui/status/filestate.zig b/src/tui/status/filestate.zig index 6c00088..e9a92e0 100644 --- a/src/tui/status/filestate.zig +++ b/src/tui/status/filestate.zig @@ -180,7 +180,12 @@ fn render_terminal_title(self: *Self) void { const project_path = tp.env.get().str("project"); const project_name = project_manager.abbreviate_home(&project_name_buf, project_path); - const file_name = if (std.mem.lastIndexOfScalar(u8, self.name, '/')) |pos| self.name[pos + 1 ..] else self.name; + const file_name = if (self.name.len > 0 and self.name[0] == '*') + self.name + else if (std.mem.lastIndexOfScalar(u8, self.name, '/')) |pos| + self.name[pos + 1 ..] + else + self.name; const edit_state = if (!self.file_exists) "◌ " else if (self.file_dirty) " " else ""; const new_title = if (self.file) diff --git a/src/tui/status/tabs.zig b/src/tui/status/tabs.zig index dbf5bf6..45a2b69 100644 --- a/src/tui/status/tabs.zig +++ b/src/tui/status/tabs.zig @@ -420,6 +420,8 @@ const Tab = struct { fn name_from_buffer(buffer: *Buffer) []const u8 { const file_path = buffer.file_path; + if (file_path.len > 0 and file_path[0] == '*') + return file_path; const basename_begin = std.mem.lastIndexOfScalar(u8, file_path, std.fs.path.sep); const basename = if (basename_begin) |begin| file_path[begin + 1 ..] else file_path; return basename;