flower
A structural editor for config files — it edits the tree, not the characters.
Where a text editor edits characters, flower edits the tree. You navigate the parsed config structurally — into mappings, along sequences, down to scalars — and edit one value at a time. Every change is a path-addressed, lossless splice through fig's editor: the bytes you didn't touch stay byte-for-byte identical, and the document is only ever committed in a valid state.
- Two views of the same tree. An indented, type-colored tree; or a settings-menu page view that sinks the fields nobody types below the ones they do.
- Typed scalar edits. Booleans, numbers, nulls, and text are committed through fig's validated replace — not typed freehand.
- Everything fig reads. JSON/JSONC/JSON5, YAML, TOML, ZON, and the fig dialect.
Where it fits
flower is the config sibling of leaf: leaf's caret model is right for permissive document formats; a strict config grammar wants a structural one. It edits through fig's tree, and in Diaryx it's a natural front end for vault configuration and frontmatter.
Status
Early prototype. Navigation, both views, typed edits, deletes, and save all work today; the roadmap in the repo says what isn't here yet.