aboutsummaryrefslogtreecommitdiffstats
path: root/src/path.c
diff options
context:
space:
mode:
authoruser <user@clank>2026-08-15 16:13:46 +0200
committeruser <user@clank>2026-08-15 16:13:46 +0200
commitee6288a7eadeb43c83a5ab78f6c65cffa4748a53 (patch)
tree8fc137687f47a7f20f0a2766bca17cd53e0400dc /src/path.c
parentmake coverage: a number, cheaply (diff)
downloadslosh-ee6288a7eadeb43c83a5ab78f6c65cffa4748a53.tar.gz
slosh-ee6288a7eadeb43c83a5ab78f6c65cffa4748a53.tar.xz
slosh-ee6288a7eadeb43c83a5ab78f6c65cffa4748a53.zip
sl0ppty: C-a e opens the config, in a pane, in your editor
The config watcher's whole point is the loop -- edit, save, watch the session change under you, edit again -- and the loop had a hole in the middle of it: you had to leave the session, or remember where the file lives, to start. So: one keystroke opens `$EDITOR <config>` in a new pane, down rather than across because a config file is lines and half the height beats half the width for reading them. `editor` in the config beats $EDITOR, and vi is the fallback, being the one editor a POSIX system must have -- a wrong guess you can see and change beats a pane that opens empty. The interesting part is what kind of pane it is. Panes given a command keep their corpse (D14), which is right for a dev server and wrong for this: quit the editor and you would be left dismissing a dead pane you opened thirty seconds ago. Rather than gaming that policy by giving the pane no command -- which would be a lie in the one field dump-layout and re-run read -- panes can now be *ephemeral*: a task rather than part of the session's shape. An ephemeral pane keeps no corpse and is not written into a dumped layout, so a restart does not reopen somebody's editor on a file they had finished with. That concept is the reusable half of this commit; the keybinding is the part you notice.
Diffstat (limited to 'src/path.c')
0 files changed, 0 insertions, 0 deletions