diff options
Diffstat (limited to 'src/pane.rs')
| -rw-r--r-- | src/pane.rs | 33 |
1 files changed, 32 insertions, 1 deletions
diff --git a/src/pane.rs b/src/pane.rs index a6edaaa7..19d356dc 100644 --- a/src/pane.rs +++ b/src/pane.rs @@ -40,7 +40,10 @@ use self::agent_detection::{ AGENT_PENDING_IDLE_RECHECK, AGENT_STARTUP_GRACE_WINDOW, }; use self::terminal::{GhosttyPaneTerminal, PaneTerminal}; -pub(crate) use self::terminal::{TerminalDirtyPatch, TerminalDirtyPatchOutcome}; +pub(crate) use self::terminal::{ + TerminalDirtyPatch, TerminalDirtyPatchOutcome, TerminalTextMatch, TerminalTextPoint, + TerminalWordMotion, +}; pub use self::{ state::PaneState, terminal::{InputState, ScrollMetrics, TerminalCursorState}, @@ -2383,6 +2386,34 @@ impl PaneRuntime { self.terminal.scroll_metrics() } + pub(crate) fn search_text_matches( + &self, + query: &str, + case_sensitive: bool, + ) -> Vec<crate::pane::TerminalTextMatch> { + self.terminal.search_text_matches(query, case_sensitive) + } + + pub(crate) fn text_match_is_current(&self, text_match: crate::pane::TerminalTextMatch) -> bool { + self.terminal.text_match_is_current(text_match) + } + + pub(crate) fn text_matches_are_current( + &self, + text_matches: &[crate::pane::TerminalTextMatch], + ) -> Vec<bool> { + self.terminal.text_matches_are_current(text_matches) + } + + pub(crate) fn word_motion_target( + &self, + row: u32, + col: u16, + motion: crate::pane::TerminalWordMotion, + ) -> Option<crate::pane::TerminalTextPoint> { + self.terminal.word_motion_target(row, col, motion) + } + pub fn input_state(&self) -> Option<InputState> { self.terminal.input_state() } |
