main: Support overline, SGR 53/55

Similar to the underline, incl. the *-thickness and *-offset options.
This commit is contained in:
Andrew Savchenko 2026-01-02 13:37:26 +11:00
parent 42e04c5c87
commit 33106514db
No known key found for this signature in database
GPG key ID: 5023209D10DBA986
7 changed files with 70 additions and 2 deletions

View file

@ -57,8 +57,11 @@ struct attributes {
bool selected:1;
bool url:1;
uint32_t bg:24;
bool overline:1;
uint32_t reserved:31; /* Future attributes? */
};
static_assert(sizeof(struct attributes) == 8, "VT attribute struct too large");
static_assert(sizeof(struct attributes) == 12, "VT attribute struct size mismatch");
/* Last valid Unicode code point is 0x0010FFFFul */
#define CELL_COMB_CHARS_LO 0x00200000ul
@ -69,7 +72,7 @@ struct cell {
char32_t wc;
struct attributes attrs;
};
static_assert(sizeof(struct cell) == 12, "bad size");
static_assert(sizeof(struct cell) == 16, "bad size");
struct scroll_region {
int start;