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