rustui/
lib.rs

1/*!
2# rustui
3
4The simplest terminal UI library designed for Rust. Developed with Rust's ownership model and safety guarantees in mind.
5
6## Features
7
8- **Cross-platform**: Works on Unix-like systems (Linux, macOS, etc.)
9- **Double Buffering**: Efficient rendering with differential updates
10- **Rich Text Styling**: Support for colors, attributes (bold, italic, underline, etc.)
11- **Non-blocking Input**: Asynchronous keyboard input handling
12- **Thread-safe**: Multi-threaded rendering and input processing
13
14## Architecture
15
16The library is organized into several core modules:
17
18- [`framebuffer`] - Character grid for efficient rendering
19- [`window`] - High-level windowing abstraction with thread management
20- [`input`] - Non-blocking keyboard and mouse input handling
21- [`term`] - Terminal colors, attributes, and ANSI escape sequences
22- [`render`] - Rendering utilities and drawing primitives
23
24## Performance
25
26rustui is optimized for performance with:
27- Differential updates (only changed cells are redrawn)
28- Efficient ANSI sequence generation
29
30*/
31
32/// A module for handling the framebuffer.
33pub mod framebuffer;
34/// A module for handling user input.
35pub mod input;
36/// A module for a rendering context.
37pub mod render;
38/// A module for handling terminal colors and attributes.
39pub mod term;
40/// A module for handling windowing.
41pub mod window;
42
43pub use framebuffer::*;
44pub use input::*;
45pub use render::*;
46pub use term::*;
47pub use window::*;