diff options
Diffstat (limited to 'src/lib.rs')
-rw-r--r-- | src/lib.rs | 22 |
1 files changed, 22 insertions, 0 deletions
@@ -1,3 +1,9 @@ +use std::{ + io::Write, + process::{Command, Stdio}, +}; +use tracing::info; + pub use crate::cli::Cli; pub use crate::config::Config; pub use crate::error::{Error, Result}; @@ -8,5 +14,21 @@ mod error; #[tracing::instrument()] pub fn run(config: &Config) -> Result<()> { + let mut finder = Command::new(&config.finder.program) + .stdin(Stdio::piped()) + .stdout(Stdio::piped()) + .args(&config.finder.args) + .spawn()?; + + finder + .stdin + .as_mut() + .ok_or_else(|| Error::Finder("Failed to get finder's stdin".to_string()))? + .write_all(config.paths.to_string().as_bytes())?; + + let output = finder.wait_with_output()?; + + info!("{:?}", output); + Ok(()) } |