Qwerasd
0a6ef3fda4
wip(terminal): Fast path for scroll regions
2024-03-26 12:07:35 -06: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
9ee0b23ef7
terminal: clear spacer heads on growing cols w/o reflow
2024-03-25 09:42:05 -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
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
f848ed2a63
terminal: handle row wrap integrity issues on reflow
2024-03-22 20:28:22 -07:00
Mitchell Hashimoto
2e9cc75206
terminal: add integrity checks throughout PageList
2024-03-22 20:28:22 -07:00
Mitchell Hashimoto
dfa5b2e6fc
terminal: pagelist handle scenario where reflow erases all pages
2024-03-22 20:28:16 -07:00
Mitchell Hashimoto
9d826d8837
terminal: add assertion for trackPin as commented
2024-03-22 20:28:15 -07:00
Mitchell Hashimoto
e64d8f5304
terminal: handles eraseRows that erases our full pagelist
2024-03-22 20:28:15 -07:00
Mitchell Hashimoto
1c57bbabda
termio/exec: clear screen should erase rows and shift up
2024-03-22 20:28:12 -07:00
Gregory Anders
d54d7cd581
terminal: set PageList viewport to active area when cloned
...
As an optimization, the renderer does not attempt to find the cell under
the cursor if the viewport is in the scrollback (i.e. not the active
area). When the renderer clones the screen state it also clones the
PageList, and the cloned PageList has its viewport set to the top of the
scrollback.
This caused the renderer to never attempt to find the cell under the
cursor, which in turn caused cells under the cursor to be improperly
highlighted. Instead, when the PageList is cloned initialize its
viewport to the active area.
2024-03-22 20:28:12 -07:00
Mitchell Hashimoto
3f0607d6c0
terminal: PageList rowIterator respects limit row
2024-03-22 20:28:07 -07:00
Mitchell Hashimoto
07a27072dc
inspector: needs to call new PageList.maxSize func
2024-03-22 20:28:07 -07:00
Mitchell Hashimoto
e7a2a9bcd1
terminal: resize no reflow must do cols before rows
2024-03-22 20:28:07 -07:00
Mitchell Hashimoto
7e010caea1
terminal: handle resizing into increased implicit max size
2024-03-22 20:28:06 -07:00
Mitchell Hashimoto
e8a2dc5715
terminal: cleaner impl of getTopLeft(.active)
2024-03-22 20:28:06 -07:00
Mitchell Hashimoto
b76995b5af
terminal: resizing greater cols without reflow should preserve cols
2024-03-22 20:28:06 -07:00
Mitchell Hashimoto
c8a3040519
terminal: resizing to lt rows should not trim blanks with tracked pin
2024-03-22 20:28:06 -07:00
Mitchell Hashimoto
f0e3516c34
terminal: fix off-by-one tracked pin issues when page is pruned
2024-03-22 20:28:06 -07:00
Mitchell Hashimoto
1ac0980ea0
terminal: pruned pages should keep tracked pins in top-left
2024-03-22 20:28:06 -07:00
Mitchell Hashimoto
e18a77739c
terminal: screen lineIterator
2024-03-22 20:28:05 -07:00
Mitchell Hashimoto
c0ed1fa370
terminal: pagelist can adjust grapheme byte capacity
2024-03-22 20:28:02 -07:00
Mitchell Hashimoto
935063d892
core: scroll to selection working
2024-03-22 20:28:01 -07:00
Mitchell Hashimoto
5813304358
terminal: dumpString options
2024-03-22 20:28:00 -07:00
Mitchell Hashimoto
0a6735d05d
terminal: jump to prompt
2024-03-22 20:28:00 -07:00
Mitchell Hashimoto
03abde6ba8
terminal: resize handles increased styles/graphemes
2024-03-22 20:27:59 -07:00
Mitchell Hashimoto
9137f52cbf
terminal: resize cols without reflow handles higher caps
2024-03-22 20:27:59 -07:00
Mitchell Hashimoto
a2e97a86d0
terminal: PageList adjustCap should start from original cap
2024-03-22 20:27:59 -07:00
Mitchell Hashimoto
ab1a302daa
terminal: PageList.clone must use createPageExt for non-std pages
2024-03-22 20:27:59 -07:00
Mitchell Hashimoto
dc04cc1317
terminal: handle style ID overflow
2024-03-22 20:27:59 -07:00
Mitchell Hashimoto
98b16930c3
terminal: PageList adjustCapacity should return new node and fix pins
2024-03-22 20:27:56 -07:00
Mitchell Hashimoto
7ff5577d05
terminal: PageSize adjustCapacity for non-standard pages
2024-03-22 20:27:56 -07:00
Mitchell Hashimoto
4254dc9eef
core: single click selection is on the way
2024-03-22 20:27:55 -07:00
Mitchell Hashimoto
3caf6779a5
terminal: PageList resize blank lines at start of page
2024-03-22 20:27:55 -07:00
Mitchell Hashimoto
27d2903b3c
terminal: don't insert newline across page boundaries
2024-03-22 20:27:55 -07:00
Mitchell Hashimoto
c0e6eb4beb
terminal: PageList resize fix spacer issues with tests
2024-03-22 20:27:55 -07:00
Mitchell Hashimoto
5b93acaf5f
terminal: PageList more resize tests
2024-03-22 20:27:55 -07:00
Mitchell Hashimoto
9d6f668c9a
terminal: resize create new pages as necessary
2024-03-22 20:27:55 -07:00
Mitchell Hashimoto
36c93ac968
terminal: Pagelist reflow cursor in blank cell wrapped properly
2024-03-22 20:27:52 -07:00
Mitchell Hashimoto
9830aacc1c
terminal: pagelist resize handles soft-wrap across pages
2024-03-22 20:27:52 -07:00
Mitchell Hashimoto
9c2a5bccc1
terminal: page size should be accounted every creation
2024-03-22 20:27:52 -07:00
Mitchell Hashimoto
21f09a9159
remove point.Viewport
2024-03-22 20:27:52 -07:00
Mitchell Hashimoto
434f01e25d
terminal: PageList.Clone can remap tracked pins
2024-03-22 20:27:52 -07:00
Mitchell Hashimoto
45c38c6d8b
terminal: clone uses opts struct
2024-03-22 20:27:52 -07:00