multi_input

Function multi_input 

Source
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
Hide additional 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}