prelude_epilogue/
prelude_epilogue.rs1use derive_wizard::Wizard;
2
3#[derive(Debug, Wizard)]
4#[prelude(
5 "Welcome to the Server Configuration Wizard!\nThis wizard will help you configure your server settings."
6)]
7#[epilogue("Configuration complete! Your server is ready to start.")]
8struct ServerConfig {
9 #[prompt("Server name:")]
10 name: String,
11
12 #[prompt("Port number:")]
13 #[min(1024)]
14 #[max(65535)]
15 port: i32,
16
17 #[prompt("Enable SSL:")]
18 ssl: bool,
19}
20
21fn main() {
22 let config = ServerConfig::wizard_builder().build().unwrap();
23 println!("\n=== Server Configuration ===");
24 println!("{:#?}", config);
25}