1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46
//! `tui-term` is a library that provides pseudoterminal widget functionality for building interactive terminal applications using `ratatui`.
//!
//! # Installation
//!
//! To use the `tui-term` library, add it as a dependency in your `Cargo.toml` file:
//!
//! ```toml
//! [dependencies]
//! tui-term = "0.1.0"
//! ```
//!
//! or use `cargo add`:
//!
//! ```test
//! cargo add tui-term
//! ```
//!
//! # Examples
//!
//! ```rust
//! use ratatui::widgets::{Block, Borders};
//! use ratatui::style::{Style, Modifier, Color};
//! use tui_term::widget::PseudoTerm;
//! use vt100::Parser;
//!
//! let mut parser = vt100::Parser::new(24, 80, 0);
//! let pseudo_term = PseudoTerm::new(&parser.screen())
//! .block(Block::default().title("Terminal").borders(Borders::ALL))
//! .style(Style::default().fg(Color::White).bg(Color::Black).add_modifier(Modifier::BOLD));
//! ```
//!
//! For more examples, please look at the [examples](https://github.com/a-kenji/tui-term/tree/main/examples) in the repository.
//!
//! # Features
//!
//! - Support for parsing and processing terminal control sequences using the `vt100` crate.
//!
//! # Limitations
//!
//! - The `vt100` crate is currently the only supported backend for parsing terminal control sequences, but future versions may introduce support for alternative backends.
mod state;
pub mod widget;
/// Reexport of the vt100 crate to ensure correct version compatibility
pub use vt100;