m2 0.0.0

Set of Unix tools to work with m2dirs
Documentation
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}");
    }
}