diff options
Diffstat (limited to 'vendor/dialoguer/examples/select.rs')
-rw-r--r-- | vendor/dialoguer/examples/select.rs | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/vendor/dialoguer/examples/select.rs b/vendor/dialoguer/examples/select.rs new file mode 100644 index 0000000..3382e8b --- /dev/null +++ b/vendor/dialoguer/examples/select.rs @@ -0,0 +1,42 @@ +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]); +} |