diff options
| author | Gabriel Schneider <[email protected]> | 2026-09-29 07:09:14 -0300 |
|---|---|---|
| committer | Gabriel Schneider <[email protected]> | 2026-10-01 00:12:16 -0300 |
| commit | e3e698fd14c9c7eb6906c95beeeb8e12f08f8b94 (patch) | |
| tree | 3c0e8cf2c65265dc9220004bfd2d032fd048463c /src/ninep/events.zig | |
| parent | 1b513045336b3c7381c447ffa8c9167f8b1a5a0a (diff) | |
| download | pardes-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/events.zig')
| -rw-r--r-- | src/ninep/events.zig | 4 |
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. |
