aboutsummaryrefslogtreecommitdiffstats
path: root/cli
diff options
context:
space:
mode:
authoruser <user@clank>2026-08-11 22:32:15 +0200
committeruser <user@clank>2026-08-12 19:34:35 +0200
commit0c9022158ee3d311c819230bc3ef0a425f6d97a5 (patch)
treee2756aee2aea5e8c83703d05816a8c4e51b518c1 /cli
parentinput-frame: remove header rule and rails, plain separator (diff)
downloadsl0ppi-0c9022158ee3d311c819230bc3ef0a425f6d97a5.tar.gz
sl0ppi-0c9022158ee3d311c819230bc3ef0a425f6d97a5.tar.xz
sl0ppi-0c9022158ee3d311c819230bc3ef0a425f6d97a5.zip
chrome: reframe user prompts as a labelled chip + rail
The header was lost in 77f1d64: dropping the side rails also dropped frameTop() from the return, leaving a bare closing rule under the message. A rule *underneath* reads as an opener for the reply as much as a terminator for the prompt, and it shared its glyph vocabulary with every other box, so prompts were distinguished only by hue. Replace it with a reverse-video chip and a left gutter: █ ❯ PROMPT ▌────────────────────────────────── ▌ the prompt text ▌ wrapped continuation The chip is the only filled element in the chrome and the rail the only vertical (rails were removed everywhere else), so prompts are now identifiable at a glance without adding glyphs to the rest of the UI. The left cap is a FULL block, not ▐: the rail fills the left half of column 0, so a right-half cap would sit in the opposite half of the same cell and read as detached. No closing rule; the reply terminates the block. The native component wraps text in Box(pad, 1, bg), i.e. a blank padded line above and below with OSC 133 markers on the first and last line. paddingY is hardcoded and not configurable, so strip both pad lines and re-home the markers: ZONE_START onto the header, ZONE_END+ZONE_FINAL APPENDED to the last text line (prefixing would put the final line of the prompt outside the semantic zone). Terminal prompt-jumping keeps working. Note the OSC payload is not numeric-only -- pi emits 133;A / 133;B / 133;C -- so the matcher runs to the terminator rather than a [0-9;] class. An earlier numeric-only class silently matched nothing and left the pad lines in place. No timestamp: UserMessageComponent receives only `text`, and stamping at first render would relabel every restored message with the restore time under `pi -c`.
Diffstat (limited to 'cli')
0 files changed, 0 insertions, 0 deletions