use anyhow::Error;
use clap::Parser;
use mimalloc::MiMalloc;
use std::io;
use std::thread;
use minifind::args::Args;
#[global_allocator]
static GLOBAL: MiMalloc = MiMalloc;
fn main() -> Result<(), Error> {
let args = Args::parse();
let available =
thread::available_parallelism().map(|n| n.get()).unwrap_or(2);
if let Some(w) =
minifind::args::oversubscription_warning(args.threads, available)
{
eprintln!("minifind: {w}");
}
minifind::interrupt::reset_sigpipe();
minifind::run(&args, || io::stdout().lock())
}