use clap::Args;
use eyre::Result;
use lux_lib::project::Project;
use crate::utils::file_tree::term_tree_from_paths;
#[derive(Args)]
pub struct DebugProject {
#[arg(long)]
list_files: bool,
}
pub fn debug_project(args: DebugProject) -> Result<()> {
let project = Project::current()?;
if let Some(project) = project {
let toml = project.toml();
println!("Project name: {}", toml.package());
println!("Project version: {}", toml.version()?);
println!("Project location: {}", project.root().display());
if args.list_files {
let project_files = project.project_files();
if project_files.is_empty() {
println!("\nNo included project files detected.");
} else {
let project_tree = term_tree_from_paths(&project_files);
println!("\nIncluded project files:\n\n{project_tree}.");
}
}
} else {
eprintln!("Could not find project in current directory.");
}
Ok(())
}