Skip to main content

commit_wizard/cli/cmd/doctor/
mod.rs

1use clap::{Args as ClapArgs, Subcommand};
2
3use crate::{
4    cli::CliResult,
5    core::{context::Context, doctor},
6};
7
8#[derive(Debug, Clone, ClapArgs)]
9#[command(about = "Inspect and diagnose the local Commit Wizard environment")]
10pub struct Args {
11    #[command(subcommand)]
12    pub subcommand: Option<DoctorSubcommand>,
13}
14
15#[derive(Debug, Clone, Subcommand)]
16pub enum DoctorSubcommand {
17    /// Attempt safe local repairs for issues detected by doctor
18    Fix,
19}
20
21pub async fn run(ctx: &Context, args: Args) -> CliResult<()> {
22    match args.subcommand {
23        Some(DoctorSubcommand::Fix) => doctor::fix(ctx),
24        None => doctor::run(ctx),
25    }
26}