aboutsummaryrefslogtreecommitdiff
path: root/src/pane.rs
diff options
context:
space:
mode:
authorOgulcan Celik <ogulcancelik@gmail.com>2026-06-02 02:27:14 +0300
committerOgulcan Celik <ogulcancelik@gmail.com>2026-06-02 02:31:12 +0300
commitcc527d45fe4821cb11c484372a9f25c51c02e078 (patch)
tree2e3411b39576b0910eba75e2b5b77c5e4e398e74 /src/pane.rs
parentf7d315d494b6a3d583574012526d15c1ddc82bfe (diff)
perf: retain terminal render updates
Diffstat (limited to 'src/pane.rs')
-rw-r--r--src/pane.rs14
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,