weather-tui 0.1.0

Weather in the terminal.
#![warn(clippy::nursery, clippy::pedantic)]
#![allow(
    clippy::cast_possible_truncation,
    clippy::cast_sign_loss,
    clippy::cast_precision_loss,
    clippy::module_name_repetitions,
    clippy::struct_excessive_bools,
    clippy::unused_self,
    clippy::too_many_lines,
    clippy::future_not_send
)]

mod api;
mod handlers;
mod terminal;
mod ui;
mod utils;

use color_eyre::eyre::{Result, WrapErr};

use crate::handlers::{app::App, config::CompleteConfig};

#[tokio::main]
async fn main() -> Result<()> {
    color_eyre::install().unwrap();

    let config = CompleteConfig::new()
        .wrap_err("Fatal configuration error.")
        .unwrap();

    let app = App::new(config.clone()).await;

    terminal::ui_driver(config, app).await;

    std::process::exit(0)
}