1use may_clack::{cancel, error::ClackError, intro, multi_select, outro, select};
2use owo_colors::OwoColorize;
3
4fn main() -> Result<(), ClackError> {
9 println!();
10 intro!(" less ".reversed());
11
12 let select_less = select("less")
13 .option("val 1", "value 1")
14 .option("val 2", "value 2")
15 .option_hint("val 3", "value 3", "hint")
16 .option("val 4", "value 4")
17 .option("val 5", "value 5")
18 .less_amt(3)
19 .cancel(do_cancel)
20 .interact()?;
21
22 let multi_less_noop = multi_select("less")
23 .option("val 1", "value 1")
24 .option("val 2", "value 2")
25 .option_hint("val 3", "value 3", "hint")
26 .less_amt(5)
27 .cancel(do_cancel)
28 .interact()?;
29
30 let multi_less = multi_select("less")
31 .option("val 1", "value 1")
32 .option("val 2", "value 2")
33 .option_hint("val 3", "value 3", "hint")
34 .option("val 4", "value 4")
35 .option("val 5", "value 5")
36 .less()
37 .cancel(do_cancel)
38 .interact()?;
39
40 let mut page_up_down = select("page up / down");
41 page_up_down.less_max(25);
42 page_up_down.cancel(do_cancel);
43
44 for i in 0..100 {
45 page_up_down.option(i, i);
46 }
47
48 let page_up_down = page_up_down.interact()?;
49
50 outro!();
51
52 println!("page_up_down {:?}", page_up_down);
53 println!("select_less {:?}", select_less);
54 println!("multi_less_noop {:?}", multi_less_noop);
55 println!("multi_less {:?}", multi_less);
56
57 Ok(())
58}
59
60fn do_cancel() {
61 cancel!("demo cancelled");
62 panic!("demo cancelled");
63}