diff options
| author | Craig Jennings <c@cjennings.net> | 2026-06-06 14:26:08 -0500 |
|---|---|---|
| committer | Craig Jennings <c@cjennings.net> | 2026-06-06 14:26:08 -0500 |
| commit | 6a1d2e9085d6b247e72b4c98e776aa9fb128341f (patch) | |
| tree | 444b869ecd812b196d474d3e934d25c189dba367 /tests/test-pearl-compose.el | |
| parent | b58944592afc9109718f5c0431fb337e68729715 (diff) | |
| download | pearl-6a1d2e9085d6b247e72b4c98e776aa9fb128341f.tar.gz pearl-6a1d2e9085d6b247e72b4c98e776aa9fb128341f.zip | |
docs: spec for interactive grouping of the current view
A sibling to the interactive-sort spec: group the buffer you're looking at on demand, without configuring the grouping in Linear and re-fetching. pearl-set-grouping completing-reads a dimension (status, project, assignee, priority, or none) and regroups client-side, since those four dimensions are already in each issue's drawer.
The crux is preserving unsaved edits while the outline level changes. Grouping moves an issue from level 2 to level 3 under a group heading, so the regroup moves each subtree byte-for-byte and shifts only its heading stars. That's the edit-preserving move sort uses, plus a level delta. The interactive choice persists under :client-group, beside a view's own :group. A single pearl--effective-grouping resolver feeds every render and merge path, so a refresh reproduces what's on screen.
Cycle is deferred: it isn't rendered into the drawer, so an offline regroup can't read it. A separate task adds cycle drawer fields and re-enables it.
Diffstat (limited to 'tests/test-pearl-compose.el')
0 files changed, 0 insertions, 0 deletions
