summaryrefslogtreecommitdiff
path: root/src/ninep
diff options
context:
space:
mode:
authorGabriel Schneider <[email protected]>2026-09-29 07:09:14 -0300
committerGabriel Schneider <[email protected]>2026-10-01 00:12:16 -0300
commite3e698fd14c9c7eb6906c95beeeb8e12f08f8b94 (patch)
tree3c0e8cf2c65265dc9220004bfd2d032fd048463c /src/ninep
parent1b513045336b3c7381c447ffa8c9167f8b1a5a0a (diff)
downloadpardes-e3e698fd14c9c7eb6906c95beeeb8e12f08f8b94.tar.gz
pardes-e3e698fd14c9c7eb6906c95beeeb8e12f08f8b94.zip
A refusal over unsaved panes logs each as `unsaved <serial> <name>`, and its err never cuts a list
Exit's refusal joined every name into one err, cut at the record's cap in mid-name, so a script could not tell which panes held it up. Each pane is now an `unsaved` record before the err, and the err names the one pane or counts them: `4 unsaved panes: Modified (Exit again to discard)`. Restore, Del and Delcol refuse the same way. Co-Authored-By: Claude Opus 5.5 <[email protected]>
Diffstat (limited to 'src/ninep')
-rw-r--r--src/ninep/events.zig4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/ninep/events.zig b/src/ninep/events.zig
index 44ad560e..fb0141f4 100644
--- a/src/ninep/events.zig
+++ b/src/ninep/events.zig
@@ -110,7 +110,9 @@ pub fn readQueue(p: *Pardes, req: Req, q: *Queue) Reply {
// ---- the editor-wide log ----
-pub const LogKind = enum { new, del, rename, save };
+/// `unsaved`: a pane a refusal (Exit, Restore, Del, Delcol) is about,
+/// logged before the write's err so a script reads which, whole.
+pub const LogKind = enum { new, del, rename, save, unsaved };
/// A pane leaving, before its state goes with it; one never announced
/// leaves silently.