diff options
| author | Ogulcan Celik <ogulcancelik@gmail.com> | 2026-06-02 02:27:14 +0300 |
|---|---|---|
| committer | Ogulcan Celik <ogulcancelik@gmail.com> | 2026-06-02 02:31:12 +0300 |
| commit | cc527d45fe4821cb11c484372a9f25c51c02e078 (patch) | |
| tree | 2e3411b39576b0910eba75e2b5b77c5e4e398e74 /src/pane.rs | |
| parent | f7d315d494b6a3d583574012526d15c1ddc82bfe (diff) | |
perf: retain terminal render updates
Diffstat (limited to 'src/pane.rs')
| -rw-r--r-- | src/pane.rs | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/src/pane.rs b/src/pane.rs index 35b2318e..8230cd2b 100644 --- a/src/pane.rs +++ b/src/pane.rs @@ -29,6 +29,7 @@ mod state; mod terminal; use self::terminal::{GhosttyPaneTerminal, PaneTerminal}; +pub(crate) use self::terminal::{TerminalDirtyPatch, TerminalDirtyPatchOutcome}; pub use self::{ state::PaneState, terminal::{InputState, ScrollMetrics, TerminalCursorState}, @@ -1799,6 +1800,14 @@ impl PaneRuntime { self.terminal.render(frame, area, show_cursor); } + pub(crate) fn collect_dirty_patch( + &self, + area_width: u16, + area_height: u16, + ) -> TerminalDirtyPatchOutcome { + self.terminal.collect_dirty_patch(area_width, area_height) + } + pub fn visible_hyperlinks(&self, area: Rect) -> Vec<((u16, u16), String, String)> { self.terminal.visible_hyperlinks(area) } @@ -1974,6 +1983,11 @@ impl PaneRuntime { Self::test_with_scrollback_bytes(cols, rows, 0, bytes) } + pub(crate) fn test_process_pty_bytes(&self, bytes: &[u8]) { + let (tx, _rx) = mpsc::channel(1); + let _ = self.terminal.process_pty_bytes(self.pane_id, 0, bytes, &tx); + } + pub(crate) fn test_with_scrollback_bytes( cols: u16, rows: u16, |
