use console::style;
use dialoguer::{MultiSelect, Select};
pub fn log_warning(msg: &str) {
println!("{}", style(format!("Warning: {}", msg)).yellow());
}
pub fn log_error(msg: &str) {
println!("{}", style(format!("Error: {}", msg)).red());
}
pub fn log_info(msg: &str) {
println!("{}", style(format!("Info: {}", msg)).blue());
}
pub fn select(msg: &str, items: &[String]) -> Vec<usize> {
let checked_items: Vec<(String, bool)> = items.iter().map(|x| (x.clone(), true)).collect();
MultiSelect::new()
.with_prompt(msg)
.items_checked(&checked_items[..])
.interact()
.unwrap()
}
pub fn select_one(msg: &str, items: &[String]) -> Option<usize> {
Select::new()
.with_prompt(msg)
.items(items)
.default(0)
.interact_opt()
.unwrap()
}