5614 Commits

Author SHA1 Message Date
Mitchell Hashimoto
26321dc1c9 termio/exec: only clear above cursor if cursor is not on y=0 2024-03-22 20:28:12 -07:00
Mitchell Hashimoto
06d944c292 terminal: cloneFrom clears destination 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
1f62284c26 terminal: delete/insertLines uses correct page for clearing 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
Mitchell Hashimoto
2b50bd5305 terminal: deleteLines assertion for same page 2024-03-22 20:28:12 -07:00
Mitchell Hashimoto
22c181ca75 terminal: insertLines uses iterators to handle pages 2024-03-22 20:28:11 -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
Jeffrey C. Ollie
bf34582f54 allow building nix package with different optimizations 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
Jeffrey C. Ollie
a69d9507b3 build ghostty nix package with ReleaseSafe 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
533a867770 ci: release PR on sync 2024-03-22 20:28:06 -07:00
Mitchell Hashimoto
fd382789f3 ci: PR builds for macOS should be ReleaseSafe 2024-03-22 20:28:06 -07:00
Mitchell Hashimoto
7ad3195794 ci: create PR releases 2024-03-22 20:28:06 -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
fd9280429e renderer: re-enable URL underlining 2024-03-22 20:28:05 -07:00
Mitchell Hashimoto
7419794a7b renderer: convert link to new state 2024-03-22 20:28:05 -07:00
Mitchell Hashimoto
5664c3e3c9 core: enable link hovering 2024-03-22 20:28:05 -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
2de86ce500 core: converting more to new screen state 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
dae4c3e52d inspector: forgot another new file 2024-03-22 20:28:05 -07:00
Mitchell Hashimoto
aadd0d3d48 config: increase default max scrollback to 10MB 2024-03-22 20:28:05 -07:00
Mitchell Hashimoto
b677460258 inspector: add page system details 2024-03-22 20:28:04 -07:00
Mitchell Hashimoto
55b4e49cb6 inspector: forgot the new file 2024-03-22 20:28:04 -07:00
Mitchell Hashimoto
172d62ca12 inspector: get mouse points working 2024-03-22 20:28:04 -07:00
Mitchell Hashimoto
62932f3631 inspector: cell selection works again 2024-03-22 20:28:04 -07:00
Mitchell Hashimoto
9015b7548f inspector: support cell pinning again 2024-03-22 20:28:04 -07:00
Mitchell Hashimoto
a59d4286c7 terminal: adjust page capacity for graphemes if necessary 2024-03-22 20:28:04 -07:00
Mitchell Hashimoto
c0ed1fa370 terminal: pagelist can adjust grapheme byte capacity 2024-03-22 20:28:02 -07:00
Mitchell Hashimoto
2fe68eb973 terminal: bitmap allocator had off by one on extra bitmaps 2024-03-22 20:28:02 -07:00
Mitchell Hashimoto
5c7460a741 prettier 2024-03-22 20:28:02 -07:00
Mitchell Hashimoto
d1faa37b65 renderer/opengl: convert 2024-03-22 20:28:01 -07:00
Mitchell Hashimoto
935063d892 core: scroll to selection working 2024-03-22 20:28:01 -07:00
Mitchell Hashimoto
522c28207e terminal: remove TODO 2024-03-22 20:28:01 -07:00
Mitchell Hashimoto
5b2f624c0a update TODO 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
a3509f32a9 terminal: selection should use pin iterators 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