refactor(terminal): wire kitty graphics and drop PageList workarounds
Integration pass over the terminal core (Codex/gpt-6-astra, reviewed): - Screen now owns the real kitty ImageStorage; new/reset/teardown, erase-display deletes and alternate-screen limit inheritance hook in where Zig does, and Terminal implements ExecTerminal so kitty APC commands execute against it. Exec tests use a real Terminal. - The PageList gains the APIs Screen/Terminal needed (pin iterators, cross-page row/partial-row clone, string allocator probing, dedup before allocating hyperlinks, Top viewport fixup after erase, append_ grapheme no longer marking rows dirty), and the Screen/Terminal workarounds for their absence are removed so the code mirrors Zig. Public signatures are unchanged; downstream crates build as before. Test Plan: - cargo test -p ghostty-terminal (1252 passed, 0 ignored) - cargo clippy -p ghostty-terminal --all-targets -- -D warnings
This commit is contained in:
1 parent
69d823cbc7
commit
08452ac84f
12 files changed
+708
-476
No files matched your search
@@ -7,7 +7,6 @@
|
||||
use crate::{
|
||||
page::{Cell, Error},
|
||||
page_list::{Direction, PageList, Pin, TrackedPin},
|
||||
pin_iter,
|
||||
point::{Coordinate, Point, Tag},
|
||||
};
|
||||
|
||||
@@ -447,7 +446,8 @@ impl Selection {
|
||||
}
|
||||
|
||||
Adjustment::Left => {
|
||||
let found = pin_iter::cell_iterator(list, end_pin, Direction::LeftUp, None)
|
||||
let found = end_pin
|
||||
.cell_iterator(list, Direction::LeftUp, None)
|
||||
.skip(1)
|
||||
.find(|p| cell_has_text(list, *p));
|
||||
if let Some(next) = found {
|
||||
@@ -458,7 +458,8 @@ impl Selection {
|
||||
Adjustment::Right => {
|
||||
// Step right, wrapping to the next row down at the start of each new line,
|
||||
// until we find a non-empty cell.
|
||||
let found = pin_iter::cell_iterator(list, end_pin, Direction::RightDown, None)
|
||||
let found = end_pin
|
||||
.cell_iterator(list, Direction::RightDown, None)
|
||||
.skip(1)
|
||||
.find(|p| cell_has_text(list, *p));
|
||||
if let Some(next) = found {
|
||||
|
||||
Reference in new issue
Block a user