input

Function input 

Source
pub fn input<M: Display>(message: M) -> Input<M>
Expand description

Shorthand for Input::new()

Examples found in repository?
examples/to_string.rs (line 17)
13fn main() -> Result<(), ClackError> {
14	println!();
15	intro!(" to_string ".reversed());
16
17	let int = input("int").initial_value(23).parse::<i32>()?;
18	let unit = input("struct").placeholder(Name).required()?;
19
20	outro!();
21
22	println!("int {int:?}");
23	println!("unit {unit:?}");
24
25	Ok(())
26}
More examples
Hide additional examples
examples/maybe_initial.rs (line 11)
4fn main() -> Result<(), ClackError> {
5	println!();
6	intro!(" maybe_initial ".reversed());
7
8	let opt = Some("test");
9
10	#[allow(clippy::needless_borrows_for_generic_args)]
11	let ref_opt = input("message")
12		.maybe_initial(&opt)
13		.cancel(do_cancel)
14		.required()?;
15	let opt = input("message")
16		.maybe_initial(opt)
17		.cancel(do_cancel)
18		.required()?;
19	let none = input("message")
20		.maybe_initial(None::<&str>)
21		.cancel(do_cancel)
22		.required()?;
23
24	outro!();
25
26	println!("ref_opt {ref_opt:?}");
27	println!("opt {opt:?}");
28	println!("none {none:?}");
29
30	Ok(())
31}
examples/full.rs (line 13)
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 9)
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}