findit_cli/run_func.rs
1use std::io::Write;
2
3use crate::{cli_args::CliArgs, errors::FindItError, filter::make_filters, walker::Walker};
4
5/// # Errors
6///
7/// Will return `Err` if anything goes wrong.
8pub fn run<W: Write + 'static>(args: &CliArgs, writer: W) -> Result<(), FindItError> {
9 let walker = Walker::try_from(args)?;
10 let mut stepper = make_filters(args, writer)?;
11 walker.walk(&mut stepper)?;
12 Ok(())
13}