grps 0.1.0

A CLI tool for searching files for patterns
Documentation
// Modules
mod structs;

// Standard library imports
use std::fs::read_to_string;
use std::io::stdout;

// Self imports
use crate::structs::cli::Cli;

// Third-party library imports
use clap::Parser;
use anyhow::{Context, Result};
use grps::find_matches;

fn main() -> Result<()> {
    let args = Cli::parse();

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

    find_matches(&content, &args.pattern, &mut stdout())
        .with_context(|| "Failed to write results to stdout")?;

    Ok(())
}