// src/main.rs
mod app;
mod audio;
mod audio_state;
mod config;
mod hotkey_service;
mod my_tracing;
mod providers;
mod shutdown_handler;
mod transcription;
use clap::Parser;
use tracing::info;
// --- Main Function ---
#[tokio::main]
async fn main() -> anyhow::Result<()> {
// Parse command line arguments
let config = parse_args()?;
// Create and run the application
let mut app = app::App::new(config).await?;
app.run().await?;
Ok(())
}
/// Parse command line arguments and return the application configuration
fn parse_args() -> anyhow::Result<config::AppConfig> {
Ok(config::AppConfig::parse())
}