use crate::{ gui::{update, view}, mcp::FossilEditor, }; use iced::Executor; use rmcp::{ServiceExt, transport::stdio}; use tokio::runtime::Runtime; use tracing_subscriber::{self, EnvFilter}; mod fossil; mod gui; mod matcher; mod mcp; fn main() -> iced::Result { tracing_subscriber::fmt() .with_env_filter(EnvFilter::from_default_env().add_directive(tracing::Level::DEBUG.into())) .with_writer(std::io::stderr) .with_ansi(false) .init(); let rt = Runtime::new().unwrap(); let editor = FossilEditor::new(); rt.spawn(async { let service = editor .serve(stdio()) .await .inspect_err(|e| { tracing::error!("serving error: {:?}", e); }) .unwrap(); service.waiting().await.unwrap(); }); iced::run("A cool counter", update, view) }