diff options
Diffstat (limited to '.agents')
| -rw-r--r-- | .agents/skills/pardes-9p/SKILL.md | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/.agents/skills/pardes-9p/SKILL.md b/.agents/skills/pardes-9p/SKILL.md index 1fe2aed8..4a9c0940 100644 --- a/.agents/skills/pardes-9p/SKILL.md +++ b/.agents/skills/pardes-9p/SKILL.md @@ -219,7 +219,8 @@ Rename everywhere, or any sam edit, is one write: `echo 'Edit ,x/foo/c/bar/' v c a i d s p = m t u` and `{ }` (commands in braces one to a line, so from exec or a tag, not a one-line ctl write). Its changes are one undo step, and one that fails changes nothing and fails the write with acme's words (`Edit: -no substitution`), logged as `err`. A block goes to the pane's `ctl`, the +no substitution`), logged as `err`; an `x` that finds nothing is no failure +(sam's), so `,x/zzz/c/bar/` with no `zzz` succeeds silently. A block goes to the pane's `ctl`, the root `ctl` (the active pane) or `exec` on one open, in one write or several (bash's `printf` writes line by line): an `Edit` line takes the lines after it until its `{` closes or its `a`/`c`/`i` text ends with `.`, and runs then. `sel` @@ -264,8 +265,9 @@ env printf 'Edit ,x/foo/{\ni/</\na/>/\n}\n' > $pane/ctl | Delete that range | `: > $pane/data` | truncate `data` (open with OTRUNC) | A write leaves `addr` just past what it wrote, so a second `echo x > data` -inserts after the first: write `addr` again before each replacement. Each -`data` write is one undo step; to make a loop's writes one, `echo 1 > mark` +inserts after the first: write `addr` again before each replacement. The +writes of one open of `data` are one undo step (a multi-line `printf` too); +to make a loop's writes one, `echo 1 > mark` (an undo point now), `echo 0 > mark`, the writes, then `echo 1 > mark`. A `+New` scratch counts as unsaved (and holds up Exit, Restore, Del) only once it holds 100 bytes or more. A read |
