quicknode-cli 0.1.0

Command-line interface for the Quicknode SDK
Documentation
use std::io::Write;
use std::process::ExitCode;

use clap::Parser;

use qn::cli::Cli;
use qn::errors::{exit_code_for, render};

#[tokio::main]
async fn main() -> ExitCode {
    let cli = Cli::parse();
    let verbose = cli.verbose;
    match cli.run().await {
        Ok(()) => ExitCode::SUCCESS,
        Err(e) => {
            let _ = writeln!(std::io::stderr(), "{}", render(&e, verbose));
            ExitCode::from(exit_code_for(&e) as u8)
        }
    }
}