Skip to main content

args_cli/
cli.rs

1use crate::{command::Args, config::UserConfig};
2
3pub async fn setup() -> anyhow::Result<()> {
4    dotenvy::dotenv().ok();
5    rustls::crypto::aws_lc_rs::default_provider()
6        .install_default()
7        .expect("failed to install rustls crypto provider");
8    Ok(())
9}
10
11pub async fn run(args: &Args) -> anyhow::Result<()> {
12    let config = UserConfig::load()?;
13    match args {
14        Args::Login(login_args) => login_args.execute(config).await,
15        Args::Status(status_args) => status_args.execute(config).await,
16        // TODO: re-enable as these features ship.
17        // Args::Save(save_args) => save_args.execute().await,
18        // Args::Ci(ci_args) => ci_args.command.execute().await,
19        // Args::Review(review_args) => review_args.command.execute(config).await,
20        // Args::Runner(runner_args) => {
21        //     let config = crate::config::RunnerConfig::load()?;
22        //     runner_args.command.execute(config).await
23        // }
24    }
25}