Function may_clack::multi_select
source · pub fn multi_select<M: Display, T: Clone, O: Display + Clone>(
message: M
) -> MultiSelect<M, T, O>
Expand description
Shorthand for MultiSelect::new()
Examples found in repository?
examples/single.rs (line 11)
4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
fn main() -> Result<(), ClackError> {
println!();
intro!(" single ".reversed());
let do_single_select = select("single")
.option("one", "one")
.cancel(do_cancel)
.interact()?;
let do_single_multi = multi_select("single")
.option("one", "one")
.cancel(do_cancel)
.interact()?;
outro!();
println!("select {:?}", do_single_select);
println!("multi {:?}", do_single_multi);
Ok(())
}
More examples
examples/generic_select.rs (line 33)
22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46
fn main() -> Result<(), ClackError> {
println!();
intro!(" generic select ".reversed());
let select_enum = select("select enum")
.option(SelectEnum::One, SelectEnum::One)
.option(SelectEnum::Two, SelectEnum::Two)
.option(SelectEnum::Three, SelectEnum::Three)
.cancel(do_cancel)
.interact()?;
let multi_enum = multi_select("multi_select enum")
.option(SelectEnum::One, "one")
.option(SelectEnum::Two, "two")
.option(SelectEnum::Three, "three")
.cancel(do_cancel)
.interact()?;
outro!();
println!("select enum, label enum {:?}", select_enum);
println!("multi select enum, label string {:?}", multi_enum);
Ok(())
}
examples/full.rs (line 25)
7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
fn main() -> Result<(), ClackError> {
println!();
intro!(" full ".reversed());
info!("visit the documentation at https://docs.rs/may-clack");
let do_input = input("input")
.placeholder("placeholder")
.cancel(do_cancel)
.required()?;
let do_multi_input = multi_input("multi input")
.max(4)
.cancel(do_cancel)
.interact()?;
let do_confirm = confirm("confirm")
.prompts("true", "false")
.cancel(do_cancel)
.interact()?;
let do_multi_select = multi_select("multi select")
.option("opt1", "option 1")
.option("opt2", "option 2")
.option_hint("opt3", "option 3", "hint")
.cancel(do_cancel)
.interact()?;
let do_select = select("select")
.option("val1", "value 1")
.option("val2", "value 2")
.option_hint("val 3", "value 3", "hint")
.cancel(do_cancel)
.interact()?;
outro!();
println!("input {:?}", do_input);
println!("confirm {:?}", do_confirm);
println!("multi_input {:?}", do_multi_input);
println!("multi_select {:?}", do_multi_select);
println!("select {:?}", do_select);
Ok(())
}
examples/less.rs (line 22)
8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58
fn main() -> Result<(), ClackError> {
println!();
intro!(" less ".reversed());
let select_less = select("less")
.option("val 1", "value 1")
.option("val 2", "value 2")
.option_hint("val 3", "value 3", "hint")
.option("val 4", "value 4")
.option("val 5", "value 5")
.less_amt(3)
.cancel(do_cancel)
.interact()?;
let multi_less_noop = multi_select("less")
.option("val 1", "value 1")
.option("val 2", "value 2")
.option_hint("val 3", "value 3", "hint")
.less_amt(5)
.cancel(do_cancel)
.interact()?;
let multi_less = multi_select("less")
.option("val 1", "value 1")
.option("val 2", "value 2")
.option_hint("val 3", "value 3", "hint")
.option("val 4", "value 4")
.option("val 5", "value 5")
.less()
.cancel(do_cancel)
.interact()?;
let mut page_up_down = select("page up / down");
page_up_down.less_max(25);
page_up_down.cancel(do_cancel);
for i in 0..100 {
page_up_down.option(i, i);
}
let page_up_down = page_up_down.interact()?;
outro!();
println!("page_up_down {:?}", page_up_down);
println!("select_less {:?}", select_less);
println!("multi_less_noop {:?}", multi_less_noop);
println!("multi_less {:?}", multi_less);
Ok(())
}