mirror of
https://github.com/tmux/tmux.git
synced 2024-12-04 19:58:48 +00:00
Add support for overline (SGR 53), from Ricardo Banffy.
This commit is contained in:
parent
1b0512aa7e
commit
1ee944a19d
@ -31,7 +31,7 @@ attributes_tostring(int attr)
|
||||
if (attr == 0)
|
||||
return ("none");
|
||||
|
||||
len = xsnprintf(buf, sizeof buf, "%s%s%s%s%s%s%s%s%s%s%s%s",
|
||||
len = xsnprintf(buf, sizeof buf, "%s%s%s%s%s%s%s%s%s%s%s%s%s",
|
||||
(attr & GRID_ATTR_BRIGHT) ? "bright," : "",
|
||||
(attr & GRID_ATTR_DIM) ? "dim," : "",
|
||||
(attr & GRID_ATTR_UNDERSCORE) ? "underscore," : "",
|
||||
@ -43,7 +43,8 @@ attributes_tostring(int attr)
|
||||
(attr & GRID_ATTR_UNDERSCORE_2) ? "double-underscore," : "",
|
||||
(attr & GRID_ATTR_UNDERSCORE_3) ? "curly-underscore," : "",
|
||||
(attr & GRID_ATTR_UNDERSCORE_4) ? "dotted-underscore," : "",
|
||||
(attr & GRID_ATTR_UNDERSCORE_5) ? "dashed-underscore," : "");
|
||||
(attr & GRID_ATTR_UNDERSCORE_5) ? "dashed-underscore," : "",
|
||||
(attr & GRID_ATTR_OVERLINE) ? "overline," : "");
|
||||
if (len > 0)
|
||||
buf[len - 1] = '\0';
|
||||
|
||||
@ -73,7 +74,8 @@ attributes_fromstring(const char *str)
|
||||
{ "double-underscore", GRID_ATTR_UNDERSCORE_2 },
|
||||
{ "curly-underscore", GRID_ATTR_UNDERSCORE_3 },
|
||||
{ "dotted-underscore", GRID_ATTR_UNDERSCORE_4 },
|
||||
{ "dashed-underscore", GRID_ATTR_UNDERSCORE_5 }
|
||||
{ "dashed-underscore", GRID_ATTR_UNDERSCORE_5 },
|
||||
{ "overline", GRID_ATTR_OVERLINE }
|
||||
};
|
||||
|
||||
if (*str == '\0' || strcspn(str, delimiters) == 0)
|
||||
|
1
grid.c
1
grid.c
@ -790,6 +790,7 @@ grid_string_cells_code(const struct grid_cell *lastgc,
|
||||
{ GRID_ATTR_UNDERSCORE_3, 43 },
|
||||
{ GRID_ATTR_UNDERSCORE_4, 44 },
|
||||
{ GRID_ATTR_UNDERSCORE_5, 45 },
|
||||
{ GRID_ATTR_OVERLINE, 53 },
|
||||
};
|
||||
n = 0;
|
||||
|
||||
|
6
input.c
6
input.c
@ -2070,6 +2070,12 @@ input_csi_dispatch_sgr(struct input_ctx *ictx)
|
||||
case 49:
|
||||
gc->bg = 8;
|
||||
break;
|
||||
case 53:
|
||||
gc->attr |= GRID_ATTR_OVERLINE;
|
||||
break;
|
||||
case 55:
|
||||
gc->attr &= ~GRID_ATTR_OVERLINE;
|
||||
break;
|
||||
case 90:
|
||||
case 91:
|
||||
case 92:
|
||||
|
3
tmux.1
3
tmux.1
@ -4091,6 +4091,7 @@ Set no attributes (turn off any active attributes).
|
||||
.Ic reverse ,
|
||||
.Ic hidden ,
|
||||
.Ic italics ,
|
||||
.Ic overline ,
|
||||
.Ic strikethrough ,
|
||||
.Ic double-underscore ,
|
||||
.Ic curly-underscore ,
|
||||
@ -4820,6 +4821,8 @@ to change the cursor colour from inside
|
||||
.Bd -literal -offset indent
|
||||
$ printf '\e033]12;red\e033\e\e'
|
||||
.Ed
|
||||
.It Em \&Smol
|
||||
Enable the overline attribute.
|
||||
.It Em \&Smulx
|
||||
Set a styled underline.
|
||||
The single parameter is one of: 0 for no underline, 1 for normal
|
||||
|
2
tmux.h
2
tmux.h
@ -431,6 +431,7 @@ enum tty_code_code {
|
||||
TTYC_SITM,
|
||||
TTYC_SMACS,
|
||||
TTYC_SMCUP,
|
||||
TTYC_SMOL,
|
||||
TTYC_SMKX,
|
||||
TTYC_SMSO,
|
||||
TTYC_SMULX,
|
||||
@ -568,6 +569,7 @@ enum utf8_state {
|
||||
#define GRID_ATTR_UNDERSCORE_3 0x400
|
||||
#define GRID_ATTR_UNDERSCORE_4 0x800
|
||||
#define GRID_ATTR_UNDERSCORE_5 0x1000
|
||||
#define GRID_ATTR_OVERLINE 0x2000
|
||||
|
||||
/* All underscore attributes. */
|
||||
#define GRID_ATTR_ALL_UNDERSCORE \
|
||||
|
@ -252,6 +252,7 @@ static const struct tty_term_code_entry tty_term_codes[] = {
|
||||
[TTYC_SMACS] = { TTYCODE_STRING, "smacs" },
|
||||
[TTYC_SMCUP] = { TTYCODE_STRING, "smcup" },
|
||||
[TTYC_SMKX] = { TTYCODE_STRING, "smkx" },
|
||||
[TTYC_SMOL] = { TTYCODE_STRING, "Smol" },
|
||||
[TTYC_SMSO] = { TTYCODE_STRING, "smso" },
|
||||
[TTYC_SMULX] = { TTYCODE_STRING, "Smulx" },
|
||||
[TTYC_SMUL] = { TTYCODE_STRING, "smul" },
|
||||
|
2
tty.c
2
tty.c
@ -2199,6 +2199,8 @@ tty_attributes(struct tty *tty, const struct grid_cell *gc,
|
||||
tty_putcode(tty, TTYC_INVIS);
|
||||
if (changed & GRID_ATTR_STRIKETHROUGH)
|
||||
tty_putcode(tty, TTYC_SMXX);
|
||||
if (changed & GRID_ATTR_OVERLINE)
|
||||
tty_putcode(tty, TTYC_SMOL);
|
||||
if ((changed & GRID_ATTR_CHARSET) && tty_acs_needed(tty))
|
||||
tty_putcode(tty, TTYC_SMACS);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user