aboutsummaryrefslogtreecommitdiff
path: root/vendor/dialoguer/examples/multi_select.rs
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/dialoguer/examples/multi_select.rs')
-rw-r--r--vendor/dialoguer/examples/multi_select.rs42
1 files changed, 42 insertions, 0 deletions
diff --git a/vendor/dialoguer/examples/multi_select.rs b/vendor/dialoguer/examples/multi_select.rs
new file mode 100644
index 0000000..97d3bae
--- /dev/null
+++ b/vendor/dialoguer/examples/multi_select.rs
@@ -0,0 +1,42 @@
+use dialoguer::{theme::ColorfulTheme, MultiSelect};
+
+fn main() {
+ let multiselected = &[
+ "Ice Cream",
+ "Vanilla Cupcake",
+ "Chocolate Muffin",
+ "A Pile of sweet, sweet mustard",
+ ];
+ let defaults = &[false, false, true, false];
+ let selections = MultiSelect::with_theme(&ColorfulTheme::default())
+ .with_prompt("Pick your food")
+ .items(&multiselected[..])
+ .defaults(&defaults[..])
+ .interact()
+ .unwrap();
+
+ if selections.is_empty() {
+ println!("You did not select anything :(");
+ } else {
+ println!("You selected these things:");
+ for selection in selections {
+ println!(" {}", multiselected[selection]);
+ }
+ }
+
+ let selections = MultiSelect::with_theme(&ColorfulTheme::default())
+ .with_prompt("Pick your food")
+ .items(&multiselected[..])
+ .defaults(&defaults[..])
+ .max_length(2)
+ .interact()
+ .unwrap();
+ if selections.is_empty() {
+ println!("You did not select anything :(");
+ } else {
+ println!("You selected these things:");
+ for selection in selections {
+ println!(" {}", multiselected[selection]);
+ }
+ }
+}