feat(terminal): port Terminal, read-only stream handler and StringMap
Ports ZIG/src/terminal/Terminal.zig - printing with grapheme clustering and Unicode widths, wraparound, insert mode, charsets, cursor movement, scroll regions and left/right margins, erase/insert/delete, tabs, modes, alternate screens, save/restore cursor, DECALN, full reset, palette, mouse/focus/paste flags, kitty keyboard, titles/pwd, semantic prompts, hyperlinks, protected mode, synchronized output and resize. stream_readonly.rs implements ghostty_vt::stream::Handler, applying all state-changing actions to a Terminal and ignoring queries; it is the base for termio's side-effecting handler. StringMap uses the onig crate for Oniguruma-compatible regexes (needed by Ghostty's URL regex). Not yet wired: kitty graphics (hooks and dirty flags are in place where Zig calls into it, storage is being ported separately) and the tmux control-mode viewer. Test Plan: - cargo test -p ghostty-terminal (849 passed, 5 ignored; all 372 Terminal and 33 stream_readonly tests ported; ignored ones are blocked on the PageList parity pass)
This commit is contained in:
1 parent
ecf16f4a97
commit
ea6fb5880f
16 files changed
+11178
-8
No files matched your search
@@ -11,5 +11,8 @@ pub mod screen;
|
||||
pub mod screen_set;
|
||||
pub mod selection;
|
||||
pub mod size;
|
||||
pub mod stream_readonly;
|
||||
pub mod string_map;
|
||||
pub mod style;
|
||||
pub mod tabstops;
|
||||
pub mod terminal;
|
||||
Reference in new issue
Block a user