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
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}