terminal_control/lib.rs
1//! Control, model, render, and record terminal applications.
2//!
3//! The command-line interface is built on this library. A [`frame::Frame`] is the stable,
4//! structured representation of one visible terminal shot, while a `.termctrl` recording is a
5//! JSON Lines stream of [`recording::Entry`] values.
6//!
7//! ```
8//! let shot = terminal_control::shot::from_ansi(b"ready".to_vec(), 1, 20, 1024).unwrap();
9//! assert_eq!(shot.frame.text(), "ready");
10//! ```
11
12pub mod driver;
13pub mod frame;
14pub mod recording;
15pub mod render;
16pub mod session;
17pub mod shot;