Mitchell Hashimoto
a3a445a066
terminal: print sets hyperlink state, tests
2024-07-05 21:40:38 -07:00
Mitchell Hashimoto
2a7755c515
terminal: hyperlink data structures beginning, alloc into page
2024-07-05 21:39:07 -07:00
Mitchell Hashimoto
a71b487d58
terminal: add strings table to page
2024-07-05 21:39:07 -07:00
Mitchell Hashimoto
69705cbced
terminal: remove the hyperlink stuff i'm starting over
2024-07-05 21:39:07 -07:00
Mitchell Hashimoto
75e1655228
terminal: change default hyperlink count to zero
2024-07-05 21:39:07 -07:00
Mitchell Hashimoto
25d1e861ec
terminal: page memory layout for uri/hyperlink data
2024-07-05 21:39:07 -07:00
Qwerasd
93b038f490
fix(RefCountedSet): add NeedsRehash error and fix PSL counting bug
...
Prevent bad input from causing repeated OutOfMemory errors by erroring
with NeedsRehash instead when there are unused dead IDs available.
Additionally, properly decrement PSL stats when reviving dead IDs.
2024-06-24 20:32:22 -07:00
Qwerasd
35793ee7cc
page integrity checks: detect zombie styles
2024-06-24 20:32:22 -07:00
Qwerasd
6f732cca55
RefCountedSet: use usize for cap to allow up to max Id
+1
2024-06-24 20:32:22 -07:00
Mitchell Hashimoto
eebc7d4c3a
small stylistic changes
2024-06-23 09:44:54 -07:00
Qwerasd
9741b3a18c
perf: introduce RefCountedSet structure, use it for Style.Set
2024-06-13 22:59:03 -04:00
Mitchell Hashimoto
7e52f94278
terminal: on clone, only mark rows dirty that were previously dirty
2024-05-01 20:31:49 -07:00
Mitchell Hashimoto
d47f14f86a
terminal: dirty tracking on screen clone
2024-05-01 20:31:49 -07:00
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