maybe_initial/
maybe_initial.rs

1use may_clack::{cancel, error::ClackError, input, intro, outro};
2use owo_colors::OwoColorize;
3
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}
32
33fn do_cancel() {
34	cancel!("demo cancelled");
35	panic!("demo cancelled");
36}