summaryrefslogtreecommitdiffstats
path: root/src/lib.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib.rs')
-rw-r--r--src/lib.rs22
1 files changed, 22 insertions, 0 deletions
diff --git a/src/lib.rs b/src/lib.rs
index 872ca50..acaa475 100644
--- a/src/lib.rs
+++ b/src/lib.rs
@@ -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(())
}