43 lines
1.1 KiB
Rust
43 lines
1.1 KiB
Rust
use dialoguer::{theme::ColorfulTheme, Select};
|
|
|
|
fn main() {
|
|
let selections = &[
|
|
"Ice Cream",
|
|
"Vanilla Cupcake",
|
|
"Chocolate Muffin",
|
|
"A Pile of sweet, sweet mustard",
|
|
];
|
|
|
|
let selection = Select::with_theme(&ColorfulTheme::default())
|
|
.with_prompt("Pick your flavor")
|
|
.default(0)
|
|
.items(&selections[..])
|
|
.interact()
|
|
.unwrap();
|
|
|
|
println!("Enjoy your {}!", selections[selection]);
|
|
|
|
let selection = Select::with_theme(&ColorfulTheme::default())
|
|
.with_prompt("Optionally pick your flavor")
|
|
.default(0)
|
|
.items(&selections[..])
|
|
.interact_opt()
|
|
.unwrap();
|
|
|
|
if let Some(selection) = selection {
|
|
println!("Enjoy your {}!", selections[selection]);
|
|
} else {
|
|
println!("You didn't select anything!");
|
|
}
|
|
|
|
let selection = Select::with_theme(&ColorfulTheme::default())
|
|
.with_prompt("Optionally pick your flavor, hint it might be on the second page")
|
|
.default(0)
|
|
.max_length(2)
|
|
.items(&selections[..])
|
|
.interact()
|
|
.unwrap();
|
|
|
|
println!("Enjoy your {}!", selections[selection]);
|
|
}
|