cli-grep 0.1.2

A tool to search files
Documentation
use exitfailure::ExitFailure;
use failure::ResultExt;
use log::{info, warn};
use structopt::StructOpt;

#[derive(StructOpt)]
struct Cli {
    pattern: String,

    #[structopt(parse(from_os_str))]
    path: std::path::PathBuf,
}

#[test]
fn find_a_match() {
    let mut result = Vec::new();
    cli_grep::find_matches("lorem ipsum\ndolor sit amet", "lorem", &mut result);
    assert_eq!(result, b"lorem ipsum\n");
}

fn main() -> Result<(), ExitFailure> {
    env_logger::init();
    info!("starting up");
    let args = Cli::from_args();

    println!("{}", args.pattern);
    println!("{}", args.path.display());

    let content = std::fs::read_to_string(&args.path)
        .with_context(|_| format!("could not read file `{}`", args.path.display()))?;

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

    warn!("oops, nothing implemented!");

    Ok(())
}