use clap::Args;
use std::path::PathBuf;
use crate::mds::watch;
#[derive(Args)]
pub struct WatchArgs {
#[arg(short, long)]
input: Option<PathBuf>,
#[arg(short, long)]
output: Option<PathBuf>,
#[arg(short = 'O', long, default_value = "2")]
optimize: u8,
#[arg(long, default_value = "500")]
debounce: u64,
#[arg(long)]
filter: Option<String>,
}
pub fn run(args: WatchArgs) -> anyhow::Result<()> {
let input = args.input.unwrap_or_else(|| PathBuf::from("."));
let output = args.output.unwrap_or_else(|| PathBuf::from("."));
let optimize = args.optimize;
let debounce = args.debounce;
let filter = args.filter;
println!("Watch command: input={}, output={}, optimize={}, debounce={}, filter={:?}",
input.display(), output.display(), optimize, debounce, filter);
Ok(())
}