#![allow(unused)]
use anyhow::{Context, Result};
use clap::Parser;
use r4_grrs::find_matches;
#[derive(Parser)]
struct CliArgs {
pattern: String,
path: std::path::PathBuf, }
fn main() -> Result<()> {
let args = CliArgs::parse(); let read_content = std::fs::read_to_string(&args.path)
.with_context(|| format!("could not read file `{}`", &args.path.display()))?;
find_matches(&read_content, &args.pattern, &mut std::io::stdout());
Ok(())
}
#[cfg(test)]
mod tests{
use r4_grrs::find_matches;
#[test]
fn find_a_match() {
let mut result = Vec::new();
find_matches("lorem ipsum\ndolor sit amet", "lorem", &mut result);
assert_eq!(result, b"lorem ipsum\n");
}
}