You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Move source-preserving editing onto the in-memory Document — set/unset/add/remove edit a string in place with no file — and reduce DocumentFile to a thin file adapter adding open, an atomic guarded save, and an edit() commit closure.
Stop auto-persisting document edits: the verbs stage in memory and a new public save() is the single atomic commit point, so callers can batch edits and validate the result before anything is written.
Grow sparse and nested documents in place — the source editor creates missing intermediate parents (JSON deep object chains, TOML tables) and the JSON backend sets or replaces collection values — matching the in-memory set_path.
Make Document::unset idempotent, returning whether it removed anything, so clearing an optional key needs no existence pre-check; the afdata unset CLI keeps its strict error-on-missing behavior.
Fix a JSON unset that took a comma belonging to an enclosing container when deleting the sole or last member of a nested object, which produced invalid JSON.