pub fn multi_input<M: Display>(message: M) -> MultiInput<M>Expand description
Shorthand for MultiInput::new()
Examples found in repository?
examples/generic.rs (line 9)
4fn main() -> Result<(), ClackError> {
5 println!();
6 intro!(" generic messages ".reversed());
7
8 let number = confirm(20).cancel(do_cancel).interact()?;
9 let styled = multi_input("style".on_cyan())
10 .cancel(do_cancel)
11 .interact()?;
12
13 outro!();
14
15 println!("number {number:?}");
16 println!("styled {styled:?}");
17
18 Ok(())
19}More examples
examples/full.rs (line 17)
7fn main() -> Result<(), ClackError> {
8 println!();
9 intro!(" full ".reversed());
10
11 info!("visit the documentation at https://docs.rs/may-clack");
12
13 let do_input = input("input")
14 .placeholder("placeholder")
15 .cancel(do_cancel)
16 .required()?;
17 let do_multi_input = multi_input("multi input")
18 .max(4)
19 .cancel(do_cancel)
20 .interact()?;
21 let do_confirm = confirm("confirm")
22 .prompts("true", "false")
23 .cancel(do_cancel)
24 .interact()?;
25 let do_multi_select = multi_select("multi select")
26 .option("opt1", "option 1")
27 .option("opt2", "option 2")
28 .option_hint("opt3", "option 3", "hint")
29 .cancel(do_cancel)
30 .interact()?;
31 let do_select = select("select")
32 .option("val1", "value 1")
33 .option("val2", "value 2")
34 .option_hint("val 3", "value 3", "hint")
35 .cancel(do_cancel)
36 .interact()?;
37
38 outro!();
39
40 println!("input {do_input:?}");
41 println!("confirm {do_confirm:?}");
42 println!("multi_input {do_multi_input:?}");
43 println!("multi_select {do_multi_select:?}");
44 println!("select {do_select:?}");
45
46 Ok(())
47}examples/validate.rs (line 19)
5fn main() -> Result<(), ClackError> {
6 println!();
7 intro!(" validate ".reversed());
8
9 let do_validate_input = input("validate single (only use ascii)")
10 .validate(|x| {
11 if x.is_ascii() {
12 Ok(())
13 } else {
14 Err(Cow::Borrowed("only use ascii characters"))
15 }
16 })
17 .cancel(do_cancel)
18 .required()?;
19 let do_validate_multi_input = multi_input("validate multi (only use lowercase)")
20 .validate(|x| {
21 if x.find(char::is_uppercase).is_some() {
22 Err(Cow::Borrowed("only use lowercase characters"))
23 } else {
24 Ok(())
25 }
26 })
27 .cancel(do_cancel)
28 .interact()?;
29 let do_parse_input = input("parse to u8").cancel(do_cancel).parse::<u8>()?;
30 let do_maybe_parse = input("maybe parse to ipv4 addr").maybe_parse::<Ipv4Addr>()?;
31 let do_parse_multi = multi_input("parse multiple to u8")
32 .cancel(do_cancel)
33 .parse::<u8>()?;
34
35 outro!();
36
37 println!("single {do_validate_input:?}");
38 println!("multi {do_validate_multi_input:?}");
39 println!("parse single {do_parse_input:?}");
40 println!("maybe parse single {do_maybe_parse:?}");
41 println!("parse multi {do_parse_multi:?}");
42
43 Ok(())
44}