diff options
| author | user <user@clank> | 2026-08-19 15:25:28 +0200 |
|---|---|---|
| committer | user <user@clank> | 2026-08-19 15:25:28 +0200 |
| commit | 49ac13f70aa3a9224e90699fe68d8463909239db (patch) | |
| tree | 303c3cee9492e23de6a1f0afc7b2feffeba5c6aa /docs/workspaces.md | |
| parent | slosh: the logo flies into place -- a particle engine, statelessly (diff) | |
| download | slosh-49ac13f70aa3a9224e90699fe68d8463909239db.tar.gz slosh-49ac13f70aa3a9224e90699fe68d8463909239db.tar.xz slosh-49ac13f70aa3a9224e90699fe68d8463909239db.zip | |
slosh: layout files are *.layout, not *.layout.kdl
The old name argued that the extension should say how to read the
file. The argument lost to a collision: zellij speaks the same KDL
syntax under that same extension with a different schema, and to
anyone arriving from there .kdl said *whose* file it is -- naming the
wrong owner is worse than not naming the parser. So a layout is
x.layout, a project's is slosh.layout, the name says what the file is
and --check says how it was read. (It is still KDL underneath; point
your editor's highlighting at *.layout.)
Nobody's checked-in workspace vanishes on upgrade: the project scan
still finds slosh.layout.kdl, never writes it, and where both
spellings exist the new one wins, because two files disagreeing needs
one answer. The unparseable-file heuristic in --check learned the new
suffix -- it matched '.layout.' with a trailing dot, which the new
name no longer has.
The webdemo overlay moves with it (demo.layout), rebuilt and
boot-checked.
Diffstat (limited to 'docs/workspaces.md')
| -rw-r--r-- | docs/workspaces.md | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/docs/workspaces.md b/docs/workspaces.md index 4963683..b90c145 100644 --- a/docs/workspaces.md +++ b/docs/workspaces.md @@ -17,7 +17,7 @@ A subdirectory of a configured root with one of two markers in it: | marker | what it is | |---|---| -| `slosh.layout.kdl` | a *declared* project — it says what it needs open | +| `slosh.layout` | a *declared* project — it says what it needs open | | `.git` | an *inferred* one — you work here, but you have not said how | Anything else is not a project, and nothing is guessed from what is inside it. @@ -40,7 +40,7 @@ Two settings, both in your [config](config.md): ```kdl project_roots "~/dev" "~/work" depth=2 -project_layout "~/.config/slosh/project.layout.kdl" +project_layout "~/.config/slosh/project.layout" ``` `project_roots` takes more than one directory because people have more than one — @@ -94,7 +94,7 @@ C-a w picker: ~/work newthing .git · no layout Enter your project_layout, cwd bound to newthing C-a Enter, npm run dev arrange it, run things C-a P service:web Enter tag the pane that matters -C-a W "wrote slosh.layout.kdl · 4 panes, 2 suspended" +C-a W "wrote slosh.layout · 4 panes, 2 suspended" ``` Tomorrow, `C-a w Enter` rebuilds that tab with the dev server in the pane you put @@ -109,9 +109,9 @@ every tab carrying that purpose and says how many. ## Saving one -`C-a W` writes the focused tab to `slosh.layout.kdl` in the project's directory, +`C-a W` writes the focused tab to `slosh.layout` in the project's directory, and the toast says what happened: -`wrote slosh.layout.kdl · 4 panes, 2 suspended`. +`wrote slosh.layout · 4 panes, 2 suspended`. **What each pane is running goes in with it.** That is what makes writing a layout the same act as arranging one: split the tab, start the dev server, start the log @@ -155,7 +155,7 @@ the screen — so it says so in the request. how a hand-arranged tab becomes a project's layout without opening it through the picker first. -`slosh --check slosh.layout.kdl` holds the result to the layout schema and +`slosh --check slosh.layout` holds the result to the layout schema and prints one `file:line: what` per problem, so a project's layout goes through the same check as everything else you commit — see [layouts](layouts.md#what-to-call-them). |
