use may_clack::{cancel, error::ClackError, intro, multi_select, outro, select};
use owo_colors::OwoColorize;
fn main() -> Result<(), ClackError> {
println!();
intro!(" less ".reversed());
let select_less = select("less")
.option("val 1", "value 1")
.option("val 2", "value 2")
.option_hint("val 3", "value 3", "hint")
.option("val 4", "value 4")
.option("val 5", "value 5")
.less_amt(3)
.cancel(do_cancel)
.interact()?;
let multi_less_noop = multi_select("less")
.option("val 1", "value 1")
.option("val 2", "value 2")
.option_hint("val 3", "value 3", "hint")
.less_amt(5)
.cancel(do_cancel)
.interact()?;
let multi_less = multi_select("less")
.option("val 1", "value 1")
.option("val 2", "value 2")
.option_hint("val 3", "value 3", "hint")
.option("val 4", "value 4")
.option("val 5", "value 5")
.less()
.cancel(do_cancel)
.interact()?;
let mut page_up_down = select("page up / down");
page_up_down.less_max(25);
page_up_down.cancel(do_cancel);
for i in 0..100 {
page_up_down.option(i, i);
}
let page_up_down = page_up_down.interact()?;
outro!();
println!("page_up_down {:?}", page_up_down);
println!("select_less {:?}", select_less);
println!("multi_less_noop {:?}", multi_less_noop);
println!("multi_less {:?}", multi_less);
Ok(())
}
fn do_cancel() {
cancel!("demo cancelled");
panic!("demo cancelled");
}