use anyhow::{Context, Result};
use std::{fs::read_to_string, io::stdout, path::PathBuf};
use structopt::StructOpt;
use zuolar_galaxy::find_matches;
#[derive(StructOpt)]
struct Cli {
pattern: String,
#[structopt(parse(from_os_str))]
path: PathBuf,
}
fn main() -> Result<()> {
env_logger::init();
let args = Cli::from_args();
let path = args.path.display();
println!("get cli args = {} , {}", path, args.pattern);
let content = read_to_string(&args.path).with_context(|| format!("讀取 `{}` 失敗", path))?;
find_matches(&content, &args.pattern, &mut stdout());
Ok(())
}