Riccardo Mazzarini
cb8c9186e6
feat(highlight): support more SGR attributes #37901
...
Problem:
TUI does not support several standard SGR text attributes:
- dim/faint (SGR 2)
- blink (SGR 5)
- conceal (SGR 8)
- overline (SGR 53)
This means that when a program running in the embedded terminal emits
one of these escape codes, we drop it and don't surface it to the
outer terminal.
Solution:
- Add support for those attributes.
- Also add corresponding flags to `nvim_set_hl` opts, so users can set
these attributes in highlight groups.
- refactor(highlight): widen `HlAttrFlags` from `int16_t` to `int32_t`
Widen the `rgb_ae_attr` and `cterm_ae_attr` fields in HlAttrs from
int16_t to int32_t to make room for new highlight attribute flags,
since there was only one spare bit left.
- The C flag is named HL_CONCEALED to avoid colliding with the
existing HL_CONCEAL in syntax.h (which is a syntax group flag, not
an SGR attribute).
- Also note that libvterm doesn't currently support the dim and overline
attributes, so e.g. `printf '\e[2mThis should be dim\n'` and `printf
'\e[53mThis should have an overline\n'` are still not rendered
correctly when run from the embedded terminal.
2026-02-20 18:35:55 -05:00
..
2026-02-20 18:35:55 -05:00
2026-02-20 18:35:55 -05:00
2026-01-29 08:29:49 +00:00
2026-01-09 01:36:04 +00:00
2026-02-12 13:46:45 +01:00
2026-02-11 08:02:23 +08:00
2025-11-28 10:10:31 +08:00
2026-02-03 22:25:18 +08:00
2026-02-12 13:46:45 +01:00
2026-02-12 13:46:45 +01:00
2026-02-18 11:58:34 -05:00
2024-05-15 23:19:26 +02:00
2026-02-18 11:58:34 -05:00
2026-01-04 14:15:23 +08:00
2026-02-12 13:46:45 +01:00
2026-02-14 06:07:01 -05:00
2025-11-10 11:13:56 +08:00
2025-11-10 11:13:56 +08:00
2025-12-06 20:33:02 -05:00
2025-12-06 20:33:02 -05:00
2026-02-18 18:06:35 +01:00
2025-11-10 11:13:56 +08:00
2025-12-06 20:33:02 -05:00
2025-05-03 10:08:53 -07:00
2025-05-03 10:08:53 -07:00
2023-06-25 17:14:28 +02:00
2026-01-27 07:20:41 +08:00
2025-09-07 20:45:22 -07:00
2026-02-14 05:34:30 -05:00
2025-04-27 10:32:25 -07:00
2026-02-14 05:30:18 -05:00
2025-12-06 20:33:02 -05:00
2025-11-10 11:13:56 +08:00
2026-01-29 07:19:20 +08:00
2026-01-27 17:14:57 -05:00
2025-11-10 11:13:56 +08:00
2025-12-16 13:46:04 -05:00
2026-01-12 03:50:57 +00:00
2026-01-09 16:38:26 +08:00
2025-11-10 11:13:56 +08:00
2025-11-10 11:13:56 +08:00
2025-11-10 11:13:56 +08:00
2026-01-26 07:05:42 +08:00
2026-01-26 07:05:42 +08:00
2026-02-12 13:46:45 +01:00
2025-08-02 15:58:11 -07:00
2025-12-15 13:55:15 -05:00
2026-02-12 13:46:45 +01:00
2026-02-16 11:05:38 -05:00
2025-12-15 13:55:15 -05:00
2026-01-23 09:30:37 +01:00
2026-02-12 13:46:45 +01:00
2025-12-15 13:55:15 -05:00
2026-02-14 10:55:48 -05:00
2025-11-10 11:13:56 +08:00
2026-02-10 06:44:30 +08:00
2025-09-28 20:57:59 -07:00
2025-10-04 21:09:13 -07:00
2026-02-09 12:13:24 -05:00
2026-02-20 18:35:55 -05:00
2025-12-15 13:55:15 -05:00
2026-02-18 01:57:59 -05:00
2026-01-29 16:24:33 +02:00
2026-01-29 08:22:51 +08:00
2025-11-10 11:13:56 +08:00
2025-12-15 13:55:15 -05:00
2025-11-10 11:13:56 +08:00
2023-01-01 15:05:13 +01:00
2025-08-11 00:04:30 +00:00
2025-05-20 00:21:30 +00:00
2025-12-06 20:33:02 -05:00
2025-12-15 13:55:15 -05:00
2026-02-04 13:53:08 -05:00
2026-02-09 12:13:24 -05:00
2025-12-20 22:07:27 -05:00
2025-11-10 11:13:56 +08:00
2025-11-10 11:13:56 +08:00
2025-11-10 11:13:56 +08:00
2026-02-01 08:30:59 +08:00
2025-11-10 11:13:56 +08:00
2025-11-10 11:13:56 +08:00
2025-11-10 11:13:56 +08:00
2026-01-26 06:44:11 +08:00
2026-02-18 11:58:34 -05:00
2026-02-05 21:39:08 +08:00
2026-02-20 18:35:55 -05:00
2025-11-10 11:13:56 +08:00
2026-02-09 12:13:24 -05:00
2026-01-27 17:14:57 -05:00
2025-11-10 11:13:56 +08:00
2026-02-12 08:07:13 -05:00
2025-12-15 02:07:51 -05:00
2026-01-07 08:11:42 +08:00
2025-11-12 09:00:27 -08:00
2025-12-21 07:12:38 +08:00
2025-11-10 11:13:56 +08:00
2026-02-13 16:39:18 +08:00
2025-12-06 20:33:02 -05:00
2025-11-10 11:13:56 +08:00
2026-01-25 08:17:33 +08:00
2025-11-10 11:13:56 +08:00
2025-11-10 11:13:56 +08:00
2025-11-27 07:49:44 +08:00
2025-11-10 11:13:56 +08:00
2025-11-10 11:13:56 +08:00
2025-11-10 11:13:56 +08:00
2025-12-06 20:33:02 -05:00
2025-11-10 11:13:56 +08:00
2025-11-10 11:13:56 +08:00
2026-02-13 16:39:18 +08:00
2025-11-10 11:13:56 +08:00
2025-11-10 11:13:56 +08:00
2025-11-10 11:13:56 +08:00
2025-11-10 11:13:56 +08:00
2025-12-15 13:55:15 -05:00
2025-11-10 11:13:56 +08:00
2025-11-10 11:13:56 +08:00
2025-11-29 00:22:24 +00:00
2025-11-10 11:13:56 +08:00
2025-11-10 11:13:56 +08:00
2025-11-10 11:13:56 +08:00
2026-02-16 21:17:02 +08:00
2025-11-10 11:13:56 +08:00
2026-02-13 16:39:18 +08:00
2025-11-10 11:13:56 +08:00
2025-11-10 11:13:56 +08:00
2025-11-10 11:13:56 +08:00
2025-11-10 11:13:56 +08:00
2025-11-10 11:13:56 +08:00
2026-02-09 12:13:24 -05:00
2025-12-28 08:18:48 +08:00
2026-02-20 18:35:55 -05:00
2025-11-10 11:13:56 +08:00
2025-12-16 12:55:32 +08:00
2026-02-14 07:59:51 +08:00