elicitor_form_ratatui/
lib.rs

1//! # derive-ratatui-form
2//!
3//! Ratatui form backend for derive-survey.
4//!
5//! This backend displays all survey fields at once in a scrollable TUI form,
6//! similar to the egui backend but for the terminal. Users can navigate
7//! between fields using Tab/Shift+Tab or arrow keys.
8//!
9//! ## Usage
10//!
11//! ```rust,ignore
12//! use elicitor::Survey;
13//! use elicitor_form_ratatui::RatatuiFormBackend;
14//!
15//! #[derive(Survey)]
16//! struct UserProfile {
17//!     #[ask("What is your name?")]
18//!     name: String,
19//!
20//!     #[ask("How old are you?")]
21//!     #[min(0)]
22//!     #[max(150)]
23//!     age: i64,
24//! }
25//!
26//! fn main() -> anyhow::Result<()> {
27//!     let backend = RatatuiFormBackend::new();
28//!     let result = UserProfile::builder().run(backend)?;
29//!     println!("{result:#?}");
30//!     Ok(())
31//! }
32//! ```
33
34mod backend;
35
36pub use backend::{RatatuiFormBackend, RatatuiFormError, Theme};