docs(v0.5): document the trailing-newline display model
Record the d14d9e7 behaviour the doc didn't cover: format-on-save keeps at
most one trailing blank line, and load-verbatim + guarded-save render a
file's POSIX terminator as a visible trailing empty line.
This commit is contained in:
@@ -108,6 +108,28 @@ true via a *device*-authored publish (`3c79f38`), proving toggle → `SavePrefs`
|
||||
atomic write → `git add -A` → push — and the `save_on_idle` autosave works on
|
||||
device too. **v0.5 slice 4 fully DONE + on-device confirmed.**
|
||||
|
||||
**Trailing-newline handling — a saved note ends with a *visible* blank line
|
||||
(commit `d14d9e7`, 2026-07-12; host-tested, on-device gate open).** Two
|
||||
adjustments to how the buffer meets the file. First, format-on-save no longer
|
||||
strips *every* trailing blank line — it collapses a run to **at most one** and
|
||||
keeps it, so a writer who presses Enter to open the next line doesn't have that
|
||||
line (and the caret) yanked away on save (the caret used to jump up to the last
|
||||
non-empty line). Second, persistence treats the file's POSIX terminator as
|
||||
content the editor *shows*: `load_path` reads the file **verbatim** and
|
||||
`save_path` writes the buffer, appending a final newline **only if one is
|
||||
missing** (guarded, not unconditional). Because the editor lays out
|
||||
`rows = #\n + 1`, that terminating newline renders as a **visible trailing empty
|
||||
line** the caret can land on — open a note and the blank line the newline stands
|
||||
for is there. The two are an identity round-trip for any device-written file
|
||||
(all end in `\n`); the file stays git-clean (exactly one terminator — vim and
|
||||
GitHub show no phantom blank line); and a trailing blank line the writer leaves
|
||||
is mirrored, never doubled. This replaced an interim model that stripped the
|
||||
terminator on load and hid it (the file was correct, the newline just wasn't
|
||||
shown). On-device check: reflash → open a note (trailing empty line visible) →
|
||||
`:w` (caret stays on it) → reopen (still there). `Prefs::to_toml` ends in a
|
||||
newline for the same reason; the guarded save leaves the prefs file with exactly
|
||||
one.
|
||||
|
||||
- [x] `Cmd-P` opens fuzzy file palette over **both** `/sd/repo/` and
|
||||
`/sd/local/` — **landed and CONFIRMED ON DEVICE 2026-07-12** (Spike 11: no
|
||||
ghosting on the transient panel); scope shows as the inline
|
||||
|
||||
Reference in New Issue
Block a user