Mitchell Hashimoto
dce96847a9
terminal: test eraseRowBounded, fix off by ones
2024-03-27 20:23:45 -07:00
Mitchell Hashimoto
8d4f454e30
terminal: add integrity assertion that cursor pin matches x/y
2024-03-27 13:42:11 -07:00
Mitchell Hashimoto
050e6e4daa
terminal: when growing rows, need to set rows before grow()
...
grow() will not prune pages that are needed for the active but that
requires an accurate self.rows. We were setting this too late.
2024-03-27 10:38:31 -07:00
Qwerasd
d17344b855
perf(terminal/page): @memset micro-optimization
2024-03-26 12:07:35 -06:00
Qwerasd
492e147e26
terminal: clean up some code and comments
2024-03-26 12:07:35 -06:00
Qwerasd
2274b8a912
fix(terminal): don't reset x when indexing in scroll region
2024-03-26 12:07:35 -06:00
Qwerasd
aadf795d28
fix(terminal): correctly use slow path for left/right scroll margin
2024-03-26 12:07:35 -06:00
Qwerasd
23d32e248e
perf(terminal): fast-paths for scrolling regions
2024-03-26 12:07:35 -06:00
Qwerasd
d74ea89056
fastmem: rotateOnce
2024-03-26 12:07:35 -06:00
Qwerasd
ddd7f3e706
comments
2024-03-26 12:07:35 -06:00
Qwerasd
9df9c999a7
fix(terminal): clear erased rows
...
Clearing these rows is necessary to avoid memory corruption, but the
calls to `clearCells` in the first loop were redundant, since the rows
in question are included in the second loop as well.
2024-03-26 12:07:35 -06:00
Qwerasd
0a6ef3fda4
wip(terminal): Fast path for scroll regions
2024-03-26 12:07:35 -06:00
Mitchell Hashimoto
1ad973b274
Merge pull request #1609 from gpanders/kitty-alt-reset
...
terminal: reset alt screen kitty keyboard state on full reset
2024-03-26 06:46:48 -07:00
Gregory Anders
6c0609ddc8
terminal: reset alt screen kitty keyboard state on full reset
2024-03-26 08:33:21 -05:00
Mitchell Hashimoto
7f1af89abb
terminal: turn unreachable into todo
2024-03-25 20:11:21 -07:00
Mitchell Hashimoto
fcc0ea0c7c
terminal: explicit error set for page clone
2024-03-25 20:10:03 -07:00
Mitchell Hashimoto
ad5d7b6c5a
terminal: insert/deleteLines with L/R region across pages
2024-03-25 20:07:19 -07:00
Mitchell Hashimoto
e337ebe131
terminal: add clonePartialRowFrom
2024-03-25 20:01:28 -07:00
Mitchell Hashimoto
fe43462eb3
terminal: address todo to re-resolve 905
2024-03-25 11:20:28 -07:00
Mitchell Hashimoto
41720b3c8d
terminal: PageList support initialization of multi-page viewports
2024-03-25 11:06:21 -07:00
Mitchell Hashimoto
705bd21055
terminal: PageList trim blanks erases empty pages
...
Fixes #1605
2024-03-25 10:18:31 -07:00
Mitchell Hashimoto
62abecd49d
terminal: deleteLines resets line wrap
2024-03-25 10:09:23 -07:00
Mitchell Hashimoto
a58b03c5a0
terminal: insertLines clears row wrap state
2024-03-25 10:06:14 -07:00
Mitchell Hashimoto
dc858980de
terminal: deleteChars resets row wrap state
2024-03-25 09:54:17 -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
3e84591b84
terminal: insertBlanks doesn't split spacer tail
2024-03-24 21:27:45 -07:00
Mitchell Hashimoto
db3ab4b0c8
terminal: pause page integrity can be nested
2024-03-24 20:57:35 -07:00
Mitchell Hashimoto
d1a0149982
terminal: deleteChars must not shift a spacer head
2024-03-24 20:47:04 -07:00
Mitchell Hashimoto
36240b897c
terminal: many more assertions around spacer state
2024-03-24 20:27:47 -07:00
Mitchell Hashimoto
1b8dc0c0c1
terminal: add a test for resize less cols across pages with cursor
2024-03-24 19:19:23 -07:00
Mitchell Hashimoto
3d6ae29dc3
terminal: when reflowing, set style to default to prevent integrity fail
2024-03-24 15:22:01 -07:00
Mitchell Hashimoto
be3749f1ad
terminal: decaln accounts for styles across pages
2024-03-24 15:13:13 -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
225cc642b9
terminal: allow growing beyond max size for active area to fit
2024-03-24 09:45:35 -07:00
Mitchell Hashimoto
6cbe699533
terminal: remove problematic test on 4k pages, still working on it
2024-03-23 21:43:16 -07:00
Mitchell Hashimoto
e4332891ee
terminal: avoid memory fragmentation if possible on col grow
2024-03-23 21:37:34 -07:00
Mitchell Hashimoto
8c148fc32e
terminal: use std.meta.eql for equality checks
2024-03-22 21:04:05 -07:00
Mitchell Hashimoto
eb6536f4a7
address latest zig changes
2024-03-22 20:29:45 -07:00
Mitchell Hashimoto
25a5e078fa
terminal: more accidental logging
2024-03-22 20:28:23 -07:00
Mitchell Hashimoto
a301f7da06
terminal: undo accidental debug logs
2024-03-22 20:28:23 -07:00
Mitchell Hashimoto
9685a56941
terminal: clear unprotected row should preserve row attrs
2024-03-22 20:28:23 -07:00
Mitchell Hashimoto
06a8e4ae72
terminal: spacer heads should only exist w/o l/r margin
2024-03-22 20:28:23 -07:00
Mitchell Hashimoto
8818e4da05
terminal: bitmapallocator handles perfectly divisble chunk size
2024-03-22 20:28:23 -07:00
Mitchell Hashimoto
cd30534808
terminal: no scrollback eraseRows needs to fix style
2024-03-22 20:28:23 -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
f848ed2a63
terminal: handle row wrap integrity issues on reflow
2024-03-22 20:28:22 -07:00
Mitchell Hashimoto
71c04db5a9
terminal: fix cursor style on deleteLines
2024-03-22 20:28:22 -07:00
Mitchell Hashimoto
65696c9900
terminal: clearcells only decs cursor ref if same page
2024-03-22 20:28:22 -07:00