aboutsummaryrefslogtreecommitdiff
path: root/lib/kernel/dune
diff options
context:
space:
mode:
authorLukasz Kasprzak <lukasz@arcofasiagroup.com>2026-08-27 15:45:49 +0200
committerLukasz Kasprzak <lukasz@arcofasiagroup.com>2026-08-27 15:45:49 +0200
commitf1d562a3a4d53a707385334ab553b8a6cad36b1b (patch)
treef3bb14fbdd1ddb78aadb25168e8af17491ae953c /lib/kernel/dune
parent34a36fcb0956db7f06c4b8860414283c03996293 (diff)
downloadcolitur-f1d562a3a4d53a707385334ab553b8a6cad36b1b.tar.gz
colitur-f1d562a3a4d53a707385334ab553b8a6cad36b1b.zip
feat(cli): --pretty draws each day as an ASCII box
Aligned columns made the fields legible but the days ran together -- with 365 of them the eye had nothing to catch on. Each day now gets its own box: a heading carrying the date and the liturgical colour, then the celebration, its rank and season, and any commemorations, each on its own line. The box art is pure ASCII, only + - and |, never Unicode box-drawing. That is the point rather than a limitation: this format exists to be pasted or piped into a document, a mail or a plain-text ordo, and U+2500 and its relatives survive that only when every stage agrees about encoding and font. +---+ has never failed to render anywhere. readings gets a labelled block, so a citation says what it is instead of being the second of three bar-separated fields; the OF second reading simply omits its row on the days without one. rubrics becomes a label/value list. temporal is the day box minus the sanctoral it does not have. A blank line separates consecutive boxes -- without it the bottom rule of one day and the top rule of the next sit adjacent and read as a single doubled line, which is the same "not distinct enough" this change set out to fix. Alignment counts UTF-8 code points, not bytes, so "Pen~afort" and "Fremiot" still line the right edge up at 76 columns; a byte-counting pad shears the box by one per multi-byte character. Over-long values are truncated with a ~ rather than allowed to overflow, since a box whose right edge does not line up is worse than a clipped name that the default output still carries in full. Verified: no ANSI escape reaches a pipe on any of the four commands, and the default output is byte-identical to installed 1.1.0 across all five.
Diffstat (limited to 'lib/kernel/dune')
0 files changed, 0 insertions, 0 deletions