summaryrefslogtreecommitdiff
path: root/README.md
diff options
context:
space:
mode:
authorGabriel Schneider <[email protected]>2026-09-29 18:32:37 -0300
committerGabriel Schneider <[email protected]>2026-10-01 00:12:17 -0300
commita22129c343d9236277dcc0353c48cb53bc3417ce (patch)
tree6a1d07cfc2881b6701991c2fa167400400341952 /README.md
parent1db5ba2b267f030e2de54a2cb4de9fb155c4139d (diff)
downloadpardes-a22129c343d9236277dcc0353c48cb53bc3417ce.tar.gz
pardes-a22129c343d9236277dcc0353c48cb53bc3417ce.zip
pardes --wait (-w) in a pane returns only once the pane its file landed in is deleted, so it can be $EDITOR
A launch inside a pane forwards its file to the session's look and returned at once, so fish's Ctrl-O (edit_command_buffer), git commit and crontab -e read their still-unedited file back and went on. With --wait, as acme's E against B and read the way plan9port's E reads acme's log, it finds the pane /index names the file by (the one already showing it, if open), follows /log on one connection with 'follow new', reads /index once more to catch a Del that came first, and then blocks with no deadline until that pane's del record: exit 0, or 1 when the connection ends with the session. The 9P client's one-shot requests keep their 2 s deadline; its new follow takes it for the setup only. Outside pardes nothing changes. --help, docs/fs.md, the README and the 9P skill say to set EDITOR='pardes --wait', which GIT_EDITOR follows. Tested in fs.py (it returns within 50 ms of the Del, a second -w waits on the same pane, one whose session is killed exits 1) and end to end: fish 4.8 in a detached session, echo hi, Ctrl-O, the waiting launch idle in poll, the line edited over 9P, Save, Del, and fish ran echo edited. Co-Authored-By: Claude Opus 5.5 <[email protected]>
Diffstat (limited to 'README.md')
-rw-r--r--README.md6
1 files changed, 6 insertions, 0 deletions
diff --git a/README.md b/README.md
index f60b0ed7..14803aef 100644
--- a/README.md
+++ b/README.md
@@ -36,6 +36,12 @@ serves the layout: `/layout` lists the columns, their places and panes, and
`/tag` and `/col/<serial>/tag` are the workspace and column tags, editable like a
window's ([the tree](docs/fs.md#the-served-tree)).
+`pardes FILE` in a pane opens FILE in that session and returns at once. As
+`$EDITOR`, use `EDITOR='pardes --wait'` (`GIT_EDITOR` follows it): `--wait`
+returns when that pane is deleted, so fish's Ctrl-O, `git commit` and
+`crontab -e` read the file after you edit it
+([forwarding](docs/fs.md#filesystem)).
+
plan9port's `9p write` always opens with OTRUNC, so `echo x | 9p write
pardes/<id>/body` replaces the whole body where acme would append. To append,
write through a mount with `>>` (`echo x >> $PARDES_MOUNT/<id>/body`).