2 releases
Uses new Rust 2024
| 0.6.1 | Jan 18, 2026 |
|---|---|
| 0.6.0 | Jan 17, 2026 |
#2 in #elicitor
96KB
2K
SLoC
derive-ratatui-form
Ratatui form backend for derive-survey.
This backend displays all survey fields at once in a scrollable TUI form, similar to the egui backend but for the terminal. Users can navigate between fields using Tab/Shift+Tab or arrow keys.
Usage
use elicitor::Survey;
use elicitor_form_ratatui::RatatuiFormBackend;
#[derive(Survey)]
struct UserProfile {
#[ask("What is your name?")]
name: String,
#[ask("How old are you?")]
#[min(0)]
#[max(150)]
age: i64,
}
fn main() -> anyhow::Result<()> {
let backend = RatatuiFormBackend::new();
let result = UserProfile::builder().run(backend)?;
println!("{result:#?}");
Ok(())
}
elicitor
Derive interactive surveys from Rust types.
This workspace contains the elicitor crates:
| Crate | Description |
|---|---|
| elicitor | Main crate with #[derive(Survey)] macro |
| elicitor-types | Core data structures and traits |
| elicitor-macro | Procedural macro implementation |
Backends:
| Crate | Description |
|---|---|
| elicitor-wizard-dialoguer | CLI prompts via dialoguer |
| elicitor-wizard-requestty | CLI prompts via requestty |
| elicitor-wizard-ratatui | Terminal UI wizard |
| elicitor-form-ratatui | Terminal UI form |
| elicitor-form-egui | Native GUI form |
Document generators:
| Crate | Description |
|---|---|
| elicitor-doc-html | HTML form output |
| elicitor-doc-latex | LaTeX document output |
See the elicitor README for usage documentation.
License
Licensed under either of Apache License, Version 2.0 or MIT license at your option.
Dependencies
~8–14MB
~265K SLoC