summaryrefslogtreecommitdiff
path: root/.agents
diff options
context:
space:
mode:
Diffstat (limited to '.agents')
-rw-r--r--.agents/skills/pardes-9p/SKILL.md8
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