diff options
| author | Craig Jennings <c@cjennings.net> | 2026-06-01 17:46:34 -0500 |
|---|---|---|
| committer | Craig Jennings <c@cjennings.net> | 2026-06-01 17:46:34 -0500 |
| commit | 6206fde5acfd48f9eba2ab231c1fe1d32717c98e (patch) | |
| tree | dd8659ff59e6c2da3a44eea503c702a2e6b1a558 /tests/test-pearl-reverse-compile.el | |
| parent | c2ba1d8f25463bf6342ac635850500a9738b31e9 (diff) | |
| download | pearl-6206fde5acfd48f9eba2ab231c1fe1d32717c98e.tar.gz pearl-6206fde5acfd48f9eba2ab231c1fe1d32717c98e.zip | |
feat(views): add create and edit local views with a metadata-preserving writer
I added pearl-create-local-view and pearl-edit-local-view, plus the writer and guards the spec calls for. pearl--save-local-view replaces the old rebuild-from-scratch writer. It copies an existing entry and updates only the filter, sort, and order, so a published view keeps its :linear-view-* tracking link and a copied-down view keeps its provenance. A new entry gets the active account stamped under pearl-accounts.
pearl--require-local-view-account is the one guard every read or mutate command shares, and pearl-run-local-view now calls it instead of an inline check. pearl--resolve-local-view-name carries the Replace/Rename/Cancel collision policy for create, edit-rename, and copy-down. The ad-hoc builder's save offer routes through the preserving writer and reads "save this as a local view".
Edit re-runs the builder when you choose to rebuild and otherwise keeps the stored filter. Full per-dimension pre-seeding of the builder is deferred, since it needs the id-to-name reverse resolution that copy-down's reverse-compile introduces. I filed it as a follow-up.
Phase 2 of the views spec. Tests cover metadata preservation, the account guard, the collision policy, and the metadata-preserving rename. Suite, compile, and lint are green.
Diffstat (limited to 'tests/test-pearl-reverse-compile.el')
0 files changed, 0 insertions, 0 deletions
