81 Commits

Author SHA1 Message Date
Mitchell Hashimoto
11c195e493 terminal: dirty tracking on print with tests 2024-05-01 20:31:48 -07:00
Mitchell Hashimoto
7b750b7ed9 terminal: add dirty bits to the page structure 2024-05-01 20:31:48 -07:00
Mitchell Hashimoto
1f09da02ad terminal: relax cell zero value default test 2024-04-18 14:09:11 -07:00
Mitchell Hashimoto
9ea78f981e terminal: index (LF) that scrolls scroll region preserves SGR
Fixes #1676

The comment in the diff explains. This is a regression that was not unit
tested properly in the old implementation prior to the paged-terminal
merge.
2024-04-13 21:31:41 -07:00
Mitchell Hashimoto
eb2a2e3931 fmt 2024-04-02 08:38:51 -07:00
Qwerasd
d17344b855 perf(terminal/page): @memset micro-optimization 2024-03-26 12:07:35 -06:00
Mitchell Hashimoto
fcc0ea0c7c terminal: explicit error set for page clone 2024-03-25 20:10:03 -07:00
Mitchell Hashimoto
e337ebe131 terminal: add clonePartialRowFrom 2024-03-25 20:01:28 -07:00
Mitchell Hashimoto
9ee0b23ef7 terminal: clear spacer heads on growing cols w/o reflow 2024-03-25 09:42:05 -07:00
Mitchell Hashimoto
33ede13072 terminal: fix release builds 2024-03-24 21:28:30 -07:00
Mitchell Hashimoto
db3ab4b0c8 terminal: pause page integrity can be nested 2024-03-24 20:57:35 -07:00
Mitchell Hashimoto
36240b897c terminal: many more assertions around spacer state 2024-03-24 20:27:47 -07:00
Mitchell Hashimoto
f719999950 terminal: add assertion to page integrity that row/col count > 0 2024-03-24 14:46:43 -07:00
Mitchell Hashimoto
eb6536f4a7 address latest zig changes 2024-03-22 20:29:45 -07:00
Mitchell Hashimoto
ee5be26511 terminal: prevent false positive integrity check 2024-03-22 20:28:23 -07:00
Mitchell Hashimoto
0bc831d19f terminal: relax grapheme integrity check for fast paths 2024-03-22 20:28:22 -07:00
Mitchell Hashimoto
40cac97c86 terminal: insertChars/deleteChars needs to account properly 2024-03-22 20:28:22 -07:00
Mitchell Hashimoto
4c35f35904 terminal: get rid of some verifications, comment why 2024-03-22 20:28:22 -07:00
Mitchell Hashimoto
3b6ae6807c terminal: add more integrity assertions 2024-03-22 20:28:22 -07:00
Mitchell Hashimoto
1649641d18 terminal: add some integrity assertions 2024-03-22 20:28:22 -07:00
Mitchell Hashimoto
1be06e8f3f terminal: add page.verifyIntegrity function 2024-03-22 20:28:22 -07:00
Mitchell Hashimoto
8142eb9678 terminal: moveCell handles graphemes, clears source 2024-03-22 20:28:22 -07:00
Mitchell Hashimoto
06d944c292 terminal: cloneFrom clears destination 2024-03-22 20:28:12 -07:00
Mitchell Hashimoto
5e1f8b6cc4 terminal: insertLines/deleteLines handle split across pages 2024-03-22 20:28:12 -07:00
Qwerasd
869b6b18e8 terminal/page: improve capacity adjust cols tests 2024-03-22 20:28:05 -07:00
Qwerasd
9630c39ea4 terminal/page: improved capacity adjust logic 2024-03-22 20:28:05 -07:00
Mitchell Hashimoto
a59d4286c7 terminal: adjust page capacity for graphemes if necessary 2024-03-22 20:28:04 -07:00
Mitchell Hashimoto
1c4fb96e49 terminal: fix page size calculations on Linux 2024-03-22 20:28:00 -07:00
Mitchell Hashimoto
3191081ea6 terminal: page.cloneFrom graphemes 2024-03-22 20:27:59 -07:00
Mitchell Hashimoto
c61de49082 renderer/metal: port 2024-03-22 20:27:44 -07:00
Mitchell Hashimoto
9b4ab0e209 zig build test with renamed terminal package 2024-03-22 20:27:44 -07:00