search/: sliding-window matcher over pages, active-area, page list, viewport and screen searches, and the background search thread (std thread + crossbeam-channel mailbox, 24 ms refresh, terminal behind Arc<Mutex<_>>). Searches take &mut Screen explicitly; ScreenSearch::deinit must be called to untrack pins. The sliding window uses a VecDeque instead of CircBuf (same results; two layout-only assertions dropped). tmux/: layout parsing, output formatting and the control-mode viewer state machine, reusing ghostty_vt::tmux::control for parsing. The viewer is not wired into termio yet; steps are in the notes. The renderer must set terminal.flags.search_viewport_dirty for the search thread to re-search the viewport. Test Plan: - cargo test -p ghostty-terminal --lib search (54; 51/53 Zig tests, 2 allocator-failure tests skipped) - cargo test -p ghostty-terminal --lib tmux (96; all Zig tests)
12 lines
233 B
Rust
12 lines
233 B
Rust
//! Search functionality for the terminal.
|
|
#![allow(clippy::should_implement_trait)]
|
|
|
|
pub mod active;
|
|
pub mod pagelist;
|
|
pub mod screen;
|
|
pub mod sliding_window;
|
|
#[cfg(test)]
|
|
pub(crate) mod test_util;
|
|
pub mod thread;
|
|
pub mod viewport;
|