Marijn Besseling
4496e7d314
implement overline decoration (SGR 53/55)
2024-10-21 08:36:08 -04:00
Tim Culverhouse
93643d1741
sgr: add support for legacy double underline
...
SGR 21 is defined to be a double underline. This behavior is common
among many terminals, notably xterm.
References: https://invisible-island.net/xterm/ctlseqs/ctlseqs.html#h3-Functions-using-CSI-_-ordered-by-the-final-character_s_
2024-09-27 22:22:22 -05:00
Mitchell Hashimoto
84a0e4e62d
terminal: support 58;5
for setting underline color via 256 palette
...
Fixes #1013
2023-12-07 14:57:07 -08:00
Mitchell Hashimoto
306689b8a4
terminal: sgr direct bg also had wrong slice len
2023-10-27 09:27:45 -07:00
Mitchell Hashimoto
d28e6739c7
terminal: sgr direct color fg missing color doesn't crash
2023-10-27 09:25:16 -07:00
Mitchell Hashimoto
c18527384e
terminal: sgr parsing doesn't parse 4-form 48, allows unstyled underline
...
Fixes #362
We previously tried to parse 4-form 48, but as far as I can tell this is
never used anyways and in this real world scenario it expected us to
parse a 3-form followed by an underline. This fixes the real world
scenario as priority and adds a test.
This also fixes an issue where single form colon underline may actually
exist, again from a real world scenario.
2023-08-30 14:58:44 -07:00
Mitchell Hashimoto
3391908a82
terminal: get rid of duplicate RGB struct
2023-08-30 08:48:57 -07:00
Mitchell Hashimoto
314f9287b1
Update Zig ( #164 )
...
* update zig
* pkg/fontconfig: clean up @as
* pkg/freetype,harfbuzz: clean up @as
* pkg/imgui: clean up @as
* pkg/macos: clean up @as
* pkg/pixman,utf8proc: clean up @as
* clean up @as
* lots more @as cleanup
* undo flatpak changes
* clean up @as
2023-06-30 12:15:31 -07:00
Mitchell Hashimoto
56f8e39e5b
Update zig, mach, fmt
2023-06-25 11:08:20 -07:00
Mitchell Hashimoto
aafff194f9
terminal: SGR parse invisible (attr 8, 28)
2023-06-25 09:19:43 -07:00
Mitchell Hashimoto
97df179b04
terminfo: switch to semicolon SGR 48 to prevent render issues
2023-06-24 15:04:33 -07:00
Mitchell Hashimoto
b9bc61c0a4
terminal: parse underline color sequences (but do not handle yet)
2023-06-20 09:34:29 -07:00
Mitchell Hashimoto
28a22fc07f
various tests to ensure we parse curly underlines correctly
2023-06-20 09:24:07 -07:00
Mitchell Hashimoto
bfc657395a
curly underlines
2022-11-27 16:11:15 -08:00
Mitchell Hashimoto
c2d08c3071
terminal: parse all underline styles
2022-11-27 15:39:12 -08:00
Mitchell Hashimoto
5045e51b99
unknown underline styles render a single underline
2022-11-27 15:30:49 -08:00
Mitchell Hashimoto
d7fe6a1c47
fix sgr parsing for underline styles
2022-11-27 15:30:02 -08:00
Mitchell Hashimoto
584149121d
use enum for underline styles
2022-11-27 14:16:51 -08:00
Mitchell Hashimoto
feccd550c3
implement many more reset sgr attributes
2022-11-13 21:54:26 -08:00
Mitchell Hashimoto
c1a9184ebd
sgr: parse italic (render not implemented)
2022-11-07 14:04:40 -08:00
Mitchell Hashimoto
b18309187e
Strikethrough ( #19 )
...
Not as straightforward as it sounds, but not hard either:
* Read OS/2 sfnt tables from TrueType fonts
* Calculate strikethrough position/thickness (prefer font-advertised if possible, calculate if not)
* Plumb the SGR code through the terminal state -- does not increase cell memory size
* Modify the shader to support it
The shaders are getting pretty nasty after this... there's tons of room for improvement. I chose to follow the existing shader style for this to keep it straightforward but will likely soon refactor the shaders.
2022-10-06 15:03:19 -07:00
Mitchell Hashimoto
8ff98446a9
sgr parsing bright colors now sets color properly
2022-08-27 10:55:10 -07:00
Mitchell Hashimoto
dc6fc5c1c3
implement faint colors (SGR 2)
2022-08-26 11:13:34 -07:00
Mitchell Hashimoto
4ffd5cd994
SGR 39/49 (reset fg/bg, respectively)
2022-08-26 09:56:17 -07:00
Mitchell Hashimoto
a1130095f8
note charsets are TODO
2022-08-26 09:27:51 -07:00
Mitchell Hashimoto
28acd99d7d
reset inverse attribute
2022-07-26 09:37:52 -07:00
Mitchell Hashimoto
e325ea1616
parse more SGR attrs
2022-06-26 17:37:08 -07:00
Mitchell Hashimoto
16d4648cf6
implement bright fg/bg
2022-05-19 21:32:00 -07:00
Mitchell Hashimoto
29f88968e9
mistake calculated background
2022-05-19 21:29:49 -07:00
Mitchell Hashimoto
69365b944c
implement named 8 colors sgr
2022-05-19 21:29:06 -07:00
Mitchell Hashimoto
043e29b885
sgr parse bold and 256 fg/bg
2022-05-19 20:47:30 -07:00
Mitchell Hashimoto
8400b683c4
sgr parsing can parse multiple
2022-05-12 16:20:30 -07:00
Mitchell Hashimoto
5743d2a232
terminal sgr attribute parsing
2022-05-11 21:40:54 -07:00