diff options
| author | Gabriel Schneider <[email protected]> | 2026-09-28 13:57:28 -0300 |
|---|---|---|
| committer | Gabriel Schneider <[email protected]> | 2026-10-01 00:12:15 -0300 |
| commit | 0de2e7f04977b22df3f7b6ab1690eb8a6c905cd4 (patch) | |
| tree | 0b8b240052c9599d965817336ae46aa692ac5b88 /src/syntax.zig | |
| parent | 29e734cf91ffe5f4cca8b40a54aad91fff464a82 (diff) | |
| download | pardes-0de2e7f04977b22df3f7b6ab1690eb8a6c905cd4.tar.gz pardes-0de2e7f04977b22df3f7b6ab1690eb8a6c905cd4.zip | |
Paint tags, notices and headers once, and join them into the grid
A pane's tag rows, each notice chip and the workspace and column tags are
painted once, as their tag layers, and the grid's cells for them are copies
of those layers (joinCells): the second paint of every tag, the grid's own
notice pass and paintHeaders' grid text, hover, selection and caret are
gone, and so is renderTagLayers. The grid's caret for a tag, a header or a
prompt is the layer's, projected to grid columns. A wide glyph cut by the
edge of the copy is left as the band's blank, as the grid's print never drew
half of one (a test proves it, and fails without the re-clip).
Where the two copies disagreed, the grid's behaviour is kept, so every
snapshot golden is byte-identical:
- a notice highlighted the hovered word only as a layer; now it never does;
- a column tag's hover was suppressed during a column move only on the
grid; now in both;
- a header under edit showed the hovered word only on the grid; now in
both, under the selection;
- a notice's leading padding carried the band's ink only as a layer; the
grid copy keeps it blank;
- a notice whose band is wider in tagline pitch than in grid cells (a GUI
core) now shows the band's right end on the grid, where its text is, and
its prompt caret there.
A sweep begun on a tag and dragged into the body still shows on the body
rows it crossed, on the grid only (paintPointerSelection's from_row).
Diffstat (limited to 'src/syntax.zig')
0 files changed, 0 insertions, 0 deletions
