use std::path::PathBuf;
use crate::OutputFormat;
use light_fw_cli_core::project::analyze_project;
#[derive(clap::Args)]
pub struct SuggestArgs {
#[arg(default_value = ".")]
pub path: PathBuf,
#[arg(long, value_enum, default_value_t = OutputFormat::Text)]
pub format: OutputFormat,
}
pub fn run(args: SuggestArgs) -> anyhow::Result<i32> {
let report = analyze_project(&args.path)?;
match args.format {
OutputFormat::Text => {
if report.recommendations.is_empty() {
println!("Все используемые компоненты уже подключены.");
} else {
for r in &report.recommendations {
println!("добавить {}", r.requirement);
}
}
}
OutputFormat::Json => println!("{}", serde_json::to_string_pretty(&report.to_json())?),
}
Ok(0)
}