summaryrefslogtreecommitdiff
path: root/src/pardes.zig
diff options
context:
space:
mode:
authorGabriel Schneider <[email protected]>2026-09-28 10:49:56 -0300
committerGabriel Schneider <[email protected]>2026-10-01 00:12:14 -0300
commit68a74ec034a24c9b016497880e375f291498ae5f (patch)
tree968a3eeec731d3ea632ab98f872074863ec6183b /src/pardes.zig
parent73e797e3f31eb52b0074b86cd16949c827b75670 (diff)
downloadpardes-68a74ec034a24c9b016497880e375f291498ae5f.tar.gz
pardes-68a74ec034a24c9b016497880e375f291498ae5f.zip
A terminal's new directory is a rename in the log, and its ctl counts its body
The log said new N / and later del N <cwd> for a terminal, with no rename in between, though a terminal is named by its directory. setCwd now logs the rename once the pane has been announced. A terminal's ctl line gave body length 0 while its body reads its history; it now counts that history (without keeping a copy). Co-Authored-By: Claude Opus 5.5 <[email protected]>
Diffstat (limited to 'src/pardes.zig')
-rw-r--r--src/pardes.zig3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/pardes.zig b/src/pardes.zig
index 405e7839..084b2216 100644
--- a/src/pardes.zig
+++ b/src/pardes.zig
@@ -4298,6 +4298,9 @@ pub const Pardes = struct {
if (std.mem.eql(u8, cur, cwd)) return;
pane.setOwnedCwd(cwd) catch |err| return p.reportError(id, "directory", err);
if (look.lookHoverPane(p) == id) look.cancelLookHover(p);
+ // A terminal is named by its directory, so /log hears it renamed; one
+ // not announced yet is announced under the new name.
+ if (pane.isTerminal() and !pane.fs.unannounced) ctlfs.events.noteLog(p, .rename, pane);
}
pub fn shellBin(p: *const Pardes) []const u8 {