Please check the build logs for more information.
See Builds for ideas on how to fix a failed build, or Metadata for how to configure docs.rs builds.
If you believe this is docs.rs' fault, open an issue.
tastty
A batteries-included toolkit for terminal parsing, session management, and automation for the Rust language.
- Parsing: VT parsing into a live screen buffer, with input encoders and host replies.
- Sessions: run a program in a managed PTY, answering host queries, with input handling. Embeddable in a ratatui app as a widget.
- Automation: spawn, send input, wait on conditions, snapshot, assert on screen state.
Example
Embed a live terminal in a ratatui app by spawning a program and rendering it as a widget:
use Duration;
use ;
use PseudoTerminal;
use ;
Drive an interactive program headless and assert on its screen:
use Duration;
use ;
Check out the per-crate examples/ directories, for more information, or run an example:
Crates
tastty-core: VT parser, screen buffer, and input encoders.tastty: managed PTY sessions, with optional ratatui widget support via tui-term.tastty-driver: the automation layer for driving and testing terminal programs.
Contributing
We welcome contributions from the community! Check out the Contributing Guidelines on how to get started.
Status
[!NOTE] This project is still in active development and should be considered a work in progress. We value feedback on the API and usability greatly.
License
tastty is available under the MIT license. See LICENSE for
more information.
Contribution
Unless you explicitly state otherwise, any contribution intentionally
submitted for inclusion in tastty by you shall be licensed as MIT,
without any additional terms or conditions.