the-code-graph 0.1.2

Index codebases into a queryable dependency graph
use clap::Parser;
use cli::commands::Cli;
use cli::logging::init_logging;

fn main() {
    let cli = Cli::parse();

    init_logging(cli.verbose, cli.debug);

    let exit_code = match cli::run(cli) {
        Ok(()) => 0,
        Err(e) => {
            eprintln!("error: {e}");
            exit_code_for(&e)
        }
    };

    std::process::exit(exit_code);
}

fn exit_code_for(err: &domain::error::CodeGraphError) -> i32 {
    match err {
        domain::error::CodeGraphError::NoProject => 2,
        domain::error::CodeGraphError::BlocklistedRoot(_) => 2,
        _ => 1,
    }
}