367 Commits

Author SHA1 Message Date
Mitchell Hashimoto
731f917350 terminal: add Screen integrity checks, pepper them through cursors 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
3513b1cdc2 terminal: properly clear style in error scenario 2024-03-22 20:28:18 -07:00
Mitchell Hashimoto
91602a4ce7 terminal: Screen scroll test and handle single row screens 2024-03-22 20:28:15 -07:00
Mitchell Hashimoto
9e42ee0dc9 terminal: all cursorReload scenarios should check style data 2024-03-22 20:28:13 -07:00
Mitchell Hashimoto
f67b95136d terminal: in all cursor move cases, we need to account for page changes 2024-03-22 20:28:13 -07:00
Mitchell Hashimoto
77362d9aa7 terminal: resize should preserve cursor style ref 2024-03-22 20:28:13 -07:00
Mitchell Hashimoto
a40899fa3c terminal: only reload style if we're on a new page on scroll 2024-03-22 20:28:12 -07:00
Mitchell Hashimoto
631fdf00a8 terminal: style needs to be copied to new page on scroll 2024-03-22 20:28:12 -07:00
Mitchell Hashimoto
1c57bbabda termio/exec: clear screen should erase rows and shift up 2024-03-22 20:28:12 -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
d664840b7f terminal: add StringMap back 2024-03-22 20:28:05 -07:00
Mitchell Hashimoto
bca51ee771 terminal: selectionString takes a struct for opts 2024-03-22 20:28:05 -07:00
Mitchell Hashimoto
e18a77739c terminal: screen lineIterator 2024-03-22 20:28:05 -07:00
Mitchell Hashimoto
f4fa54984c terminal: selectLine can disable whitespace/sem prompt splitting 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
935063d892 core: scroll to selection working 2024-03-22 20:28:01 -07:00
Mitchell Hashimoto
7ae9b0c469 terminal: screen clone that doesn't have sel should set null sel 2024-03-22 20:28:01 -07:00
Mitchell Hashimoto
9351cab038 terminal: Screen clone should preserve selection order 2024-03-22 20:28:01 -07:00
Mitchell Hashimoto
44d320a23e terminal: selectionString should use proper ordered 2024-03-22 20:28:01 -07:00
Mitchell Hashimoto
992c736986 terminal: dumpScreen handles wrap 2024-03-22 20:28:00 -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
65909df9f9 terminal: commented log line to see active style count 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
5e68bc60e0 terminal: resize page on unique style per cell 2024-03-22 20:27:59 -07:00
Mitchell Hashimoto
4d0f210025 core: double-click drag 2024-03-22 20:27:56 -07:00
Mitchell Hashimoto
48d40793e7 terminal: bring back clearPromptForResize, with tests! 2024-03-22 20:27:55 -07:00
Mitchell Hashimoto
ba4f2eeee2 terminal: Screen.clone preserves selection 2024-03-22 20:27:52 -07:00
Mitchell Hashimoto
ef6bb1de64 terminal: Screen clone preserves cursor 2024-03-22 20:27:52 -07:00
Mitchell Hashimoto
45c38c6d8b terminal: clone uses opts struct 2024-03-22 20:27:52 -07:00
Mitchell Hashimoto
fdbda5365e terminal: do not set selection manually 2024-03-22 20:27:51 -07:00
Mitchell Hashimoto
3154686f9e terminal: proper cursor copy for alt screen 2024-03-22 20:27:48 -07:00
Mitchell Hashimoto
c61de49082 renderer/metal: port 2024-03-22 20:27:44 -07:00
Mitchell Hashimoto
d5236bc724 terminal: more selection tests 2024-03-22 20:27:44 -07:00
Mitchell Hashimoto
33e59707e2 terminal: Screen can hold selection 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
Mitchell Hashimoto
7fd85bd177 terminal2: resize cols blank row preservation 2024-03-22 20:27:40 -07:00
Mitchell Hashimoto
0b2b56506a terminal2: selectionString with rect 2024-03-22 20:27:40 -07:00
Mitchell Hashimoto
016db43867 terminal2: zwjs in selectionString 2024-03-22 20:27:40 -07:00
Mitchell Hashimoto
01ceb7b267 terminal2: selectionString with wide spacer head 2024-03-22 20:27:40 -07:00
Mitchell Hashimoto
3c7c2c6858 terminal2: selectionString more tests 2024-03-22 20:27:40 -07:00
Mitchell Hashimoto
44986a0dcc terminal2: selectionString beginning 2024-03-22 20:27:40 -07:00
Mitchell Hashimoto
7ee6447191 terminal2: promptPath 2024-03-22 20:27:39 -07:00
Mitchell Hashimoto
a5d23a0007 terminal2: selectPrompt 2024-03-22 20:27:39 -07:00
Mitchell Hashimoto
48f0724c96 terminal2: selectOutput 2024-03-22 20:27:39 -07:00
Mitchell Hashimoto
d9d3aa3185 terminal2: selectWord done 2024-03-22 20:27:39 -07:00
Mitchell Hashimoto
f03b9f95e0 terminal2: selectWord more tests 2024-03-22 20:27:39 -07:00
Mitchell Hashimoto
56fc4d7a1e terminal2: selectWord starts 2024-03-22 20:27:39 -07:00