diff options
| author | Gabriel Schneider <[email protected]> | 2026-09-28 22:17:49 -0300 |
|---|---|---|
| committer | Gabriel Schneider <[email protected]> | 2026-10-01 00:12:15 -0300 |
| commit | 4793520998969439bb569c968c3143ae46aefc66 (patch) | |
| tree | 2777799bd5f2cad34c3305b5ff50e2710040836c /docs/fs.md | |
| parent | 754ffc99799c3a251634c1eff9a16eabbd73b31c (diff) | |
| download | pardes-4793520998969439bb569c968c3143ae46aefc66.tar.gz pardes-4793520998969439bb569c968c3143ae46aefc66.zip | |
A pane's question is logged as ask, and answer on its ctl answers it
A script could not answer the several-REPLs question, which only a key
could. Every question a pane asks on its notice band (which REPL takes an
exec, Del's side from the keyboard) is now logged as `ask <serial> <what>
<choices>`, and `answer <choice>` on the pane's ctl answers it as that key
would, `answer -` taking it back as Esc does. One function answers for a
key and for the ctl.
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Diffstat (limited to 'docs/fs.md')
| -rw-r--r-- | docs/fs.md | 13 |
1 files changed, 10 insertions, 3 deletions
@@ -356,7 +356,13 @@ tab width — followed by rio's `current` or `notcurrent` (rio(4), `wctl`): whether the pane has the keyboard. It takes the pane's builtins (below), `get`, which reloads the buffer from the name it carries (unsaved edits are refused once, `<name>: Modified (get again to -discard)`, as acme's get asks winclean, exec.c:513), and acme's `lock` and `unlock` (editors/acme/xfid.c:603-611), for an +discard)`, as acme's get asks winclean, exec.c:513), `answer <choice>` +for the question the pane asks on its notice band, which the log names as +`ask <serial> <what> <choices>` -- `ask 4 del k j` for Del's side from the +keyboard (`k` the pane above takes the rows, `j` the one below), `ask 4 +repl a b` for which bound REPL takes an exec (a REPL's letter) -- `answer -` +taking it back as Esc does (with no question standing, `answer` is refused), +and acme's `lock` and `unlock` (editors/acme/xfid.c:603-611), for an edit of several writes to `addr` and `data` that another client must not land in the middle of. As in acme the lock binds only the clients that take it: a `lock` while another open holds it fails at once with `file in use` @@ -499,8 +505,9 @@ an open renders its frame; stat the entry. `/log` is one ring (64 KiB) that records whether or not anyone reads it: `new`, `del`, `rename` (a terminal's too, as its shell changes directory, since a terminal is named by its directory), `exit <serial> <N>` before -the `del` of a terminal whose shell exited by itself, and `save <serial> -<name>`, +the `del` of a terminal whose shell exited by itself, `ask <serial> <what> +<choices>` when a pane asks a question (answered by `answer` on its ctl), +and `save <serial> <name>`, `dump <path>` when a Dump is written and `restore <path>` in a Restore's new log after its panes' `new`s, and `msg <serial|-> <text>` for every line the editor says, repeats included (with `verbose` on, that |
