mod config; mod connection; mod gui; mod settings; mod shortcut; mod style; mod theme; mod traits; mod window_settings; use anyhow::Context; use diesel_migrations::MigrationHarness; use schist_schema::migrations::MIGRATIONS; use crate::{ config::Config, connection::establish_connection, gui::Gui, settings::make_settings, theme::make_theme, window_settings::make_window_settings, }; fn main() -> anyhow::Result<()> { let config = Config::default(); let mut connection = establish_connection() .context("Failed to establish database connection")?; connection.run_pending_migrations(MIGRATIONS) .expect("Failed to run pending database migrations"); iced::application("Schist", Gui::update, Gui::view) .settings(make_settings(&config.clone())) .subscription(gui::subscription) .theme(make_theme) .window(make_window_settings(&config.clone())) .run_with(move || Gui::new(&mut connection)) .context("Failed to run Schist GUI") }