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