diff options
| author | Gabriel Schneider <[email protected]> | 2026-09-29 18:32:37 -0300 |
|---|---|---|
| committer | Gabriel Schneider <[email protected]> | 2026-10-01 00:12:17 -0300 |
| commit | a22129c343d9236277dcc0353c48cb53bc3417ce (patch) | |
| tree | 6a1d07cfc2881b6701991c2fa167400400341952 /README.md | |
| parent | 1db5ba2b267f030e2de54a2cb4de9fb155c4139d (diff) | |
| download | pardes-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.md | 6 |
1 files changed, 6 insertions, 0 deletions
@@ -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`). |
