Expand description
§derive-ratatui-wizard
Ratatui wizard backend for derive-survey.
This crate provides a rich terminal user interface (TUI) for collecting survey responses
using the ratatui library. Questions are presented step-by-step in a wizard style with
a progress bar, keyboard navigation, and visual feedback.
§Features
- Rich TUI with panels and borders
- Progress indicator showing current question
- Keyboard navigation (arrow keys, Enter, Esc)
- Real-time validation with error display
- Customizable color themes
- Support for all question types (input, select, multi-select, confirm, etc.)
§Example
ⓘ
use elicitor::Survey;
use elicitor_wizard_ratatui::RatatuiBackend;
#[derive(Survey)]
struct User {
#[ask("What is your name?")]
name: String,
#[ask("How old are you?")]
age: i64,
}
fn main() -> anyhow::Result<()> {
let backend = RatatuiBackend::new()
.with_title("User Registration");
let user = User::builder().run(backend)?;
println!("Hello, {} ({} years old)!", user.name, user.age);
Ok(())
}Structs§
- Ratatui
Backend - Ratatui-based TUI backend with rich visual interface.
- Theme
- Color theme for the TUI.
Enums§
- Ratatui
Error - Error type for the Ratatui backend.