use std::{error::Error, path::PathBuf};
use clap::Parser;
use m2dir::{M2Dir, error::ParseFilenameError};
#[derive(Parser)]
struct Args {
m2dir: PathBuf,
}
pub fn run() -> Result<(), Box<dyn Error>> {
let args = Args::try_parse()?;
M2Dir::try_from(args.m2dir)?.try_entries().try_for_each(
|entry| -> Result<(), ParseFilenameError> { Ok(println!("{}", entry?.path().display())) },
)?;
Ok(())
}
pub fn main() {
if let Err(e) = run() {
eprintln!("m2ls: {e}");
}
}