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}