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
Fix tab-character rendering corruption (#raster). A tab in the buffer used to land in the grid as a literal '\t' when show_whitespace=false, and Print('\t') to the terminal was interpreted as the C0 TAB control character — moving the cursor to the next tab stop and bypassing our cell-by-cell positioning. The result was ghosted/shifted cells, missing line numbers, and parts of previous rows leaking into new rows on every tab-indented file. Tabs now substitute to a plain space in the grid; the existing tab-expansion path still fills the full tab_width run.
Atomic frame writes.ScreenBuffer::diff assembles the entire frame in a local buffer and emits it with a single write_all. Previously a large repaint (e.g. 100x30 with RGB syntax colours, ~190 KB) overflowed the 64 KB BufWriter mid-frame and auto-flushed, sending partial frames to the terminal between renders.
Diagnostics
DAN_RENDER_LOG=/path/to/file env var dumps each frame's grid and raw ANSI bytes to a file for repro/debugging.