diff options
| author | Gabriel Schneider <[email protected]> | 2026-09-28 10:55:10 -0300 |
|---|---|---|
| committer | Gabriel Schneider <[email protected]> | 2026-10-01 00:12:14 -0300 |
| commit | 2a71bff5f06ba3e785a5eb96a8377e2cab8e2cdd (patch) | |
| tree | 05ba873c6696b4e88261e8fe20482c498ed52eb6 /src/pardes.zig | |
| parent | 68a74ec034a24c9b016497880e375f291498ae5f (diff) | |
| download | pardes-2a71bff5f06ba3e785a5eb96a8377e2cab8e2cdd.tar.gz pardes-2a71bff5f06ba3e785a5eb96a8377e2cab8e2cdd.zip | |
A refused or failed write is an err record in the log, naming the file and the reason
Through a mount every refusal reads as Invalid argument, so a shell user
could not tell a missing regexp match from a bad ctl word. Every write or
truncation the tree refuses or that fails now adds err <serial|-> <file>:
<why> to /log. No per-pane readable error file: acme's errors only takes
text, and one stream is simpler to watch.
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Diffstat (limited to 'src/pardes.zig')
| -rw-r--r-- | src/pardes.zig | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/src/pardes.zig b/src/pardes.zig index 084b2216..9d336db3 100644 --- a/src/pardes.zig +++ b/src/pardes.zig @@ -4642,6 +4642,7 @@ pub const Pardes = struct { p.raw_hover_intent = false; look.cancelLookHover(p); const reply = ctlfs.handle(p, req); + if (reply.status == .err and (req.op == .write or req.op == .setattr)) ctlfs.events.noteError(p, req, reply); // The request was a whole step of its own, so it settles the way a // step does: the cursor and scroll reconciled, the scripted panes // told, and the panes it made announced to /log now rather than at |
