use std::path::PathBuf;
use std::{env, fs};
use anyhow::{Context, Result};
use clap::Parser;
#[derive(Debug, Parser)]
#[command(author, version, about = "汇总文件或文件夹的元信息")]
pub struct Cli {
pub path: Option<PathBuf>,
}
impl Cli {
pub fn resolve_path(&self) -> Result<PathBuf> {
let candidate = match &self.path {
Some(p) => p.clone(),
None => env::current_dir().context("无法获取当前工作目录")?,
};
fs::canonicalize(&candidate)
.with_context(|| format!("无法解析路径: {}", candidate.display()))
}
}