package-manager 0.1.0

a package manager to mess around with
Documentation
use clap::Parser;
use anyhow :: { Context, Result };

#[derive(Parser)]
struct Cli {
    pattern: String,
    path: std::path::PathBuf
}

#[test]
fn find_a_match() {
    let mut result = Vec::new();
    package_manager::find_matches("jhbdwj", "h", &mut result);
    assert_eq!(result, b"kbjdw\n");
}

fn main() -> Result<()> {
    let args = Cli::parse();
    let content = std::fs::read_to_string(&args.path)
        .with_context(|| format!("Could not read file `{}`", args.path.display()))?;

    package_manager::find_matches(&content, &args.pattern, &mut std::io::stdout());

    println!("{}", content);
    Ok(())
}