use eframe::egui;
use std::process;
fn main() -> eframe::Result<()> {
match caery::cli::handle_args(std::env::args().skip(1)) {
Ok(caery::cli::StartupAction::Gui) => run_gui(),
Ok(caery::cli::StartupAction::Handled) => Ok(()),
Err(error) => {
eprintln!("caery: {error}");
if error.is_usage() {
eprintln!("{}", caery::cli::short_usage());
}
process::exit(error.exit_code());
}
}
}
fn run_gui() -> eframe::Result<()> {
let options = eframe::NativeOptions {
viewport: egui::ViewportBuilder::default()
.with_title("Caery")
.with_inner_size([1060.0, 720.0])
.with_min_inner_size([680.0, 500.0]),
..Default::default()
};
eframe::run_native(
"Caery",
options,
Box::new(|cc| Ok(Box::new(caery::app::CaeryApp::new(cc)))),
)
}