Mitchell Hashimoto
8142eb9678
terminal: moveCell handles graphemes, clears source
2024-03-22 20:28:22 -07:00
Mitchell Hashimoto
2d8810b4be
terminal: clear styles properly for clearing wide spacers
2024-03-22 20:28:21 -07:00
Mitchell Hashimoto
3513b1cdc2
terminal: properly clear style in error scenario
2024-03-22 20:28:18 -07:00
Mitchell Hashimoto
1949b2b177
terminal: BitmapAllocator supports allocations across bitmaps
2024-03-22 20:28:16 -07:00
Mitchell Hashimoto
565a5a6048
terminal: bitmap allocator handles 64-chunk sized allocs
2024-03-22 20:28:16 -07:00
Mitchell Hashimoto
dfa5b2e6fc
terminal: pagelist handle scenario where reflow erases all pages
2024-03-22 20:28:16 -07:00
Mitchell Hashimoto
cc75cc9980
terminal: deleteChars should not split wide char cursor x
2024-03-22 20:28:16 -07:00
Mitchell Hashimoto
a7f74a9dd6
terminal: remove unnecessary todo
2024-03-22 20:28:16 -07:00
Mitchell Hashimoto
b0c0307dda
terminal: eraseDisplay complete needs to delete kitty images
2024-03-22 20:28:16 -07:00
Mitchell Hashimoto
3f23de4373
terminal: remove completed todo
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
91602a4ce7
terminal: Screen scroll test and handle single row screens
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
29a9d09bbd
terminal: when overwriting wide spacer tail, clear graphemes
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
b8d88fd8a2
terminal: deleteLines with zero count should do nothing
2024-03-22 20:28:12 -07:00
Mitchell Hashimoto
56feeb28a8
terminal: fullReset should reset cursor style
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
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