summaryrefslogtreecommitdiffstats
path: root/src/lib.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib.rs')
-rw-r--r--src/lib.rs12
1 files changed, 10 insertions, 2 deletions
diff --git a/src/lib.rs b/src/lib.rs
index acaa475..9e49b46 100644
--- a/src/lib.rs
+++ b/src/lib.rs
@@ -6,14 +6,22 @@ use tracing::info;
pub use crate::cli::Cli;
pub use crate::config::Config;
-pub use crate::error::{Error, Result};
+pub use crate::error::{Error, PathError, Result};
+pub use crate::finder::Finder;
+pub use crate::directories::Directories;
mod cli;
mod config;
mod error;
+mod finder;
+mod directories;
#[tracing::instrument()]
pub fn run(config: &Config) -> Result<()> {
+ let mut directories = Directories::new(&config.paths);
+
+ directories.walk()?;
+
let mut finder = Command::new(&config.finder.program)
.stdin(Stdio::piped())
.stdout(Stdio::piped())
@@ -24,7 +32,7 @@ pub fn run(config: &Config) -> Result<()> {
.stdin
.as_mut()
.ok_or_else(|| Error::Finder("Failed to get finder's stdin".to_string()))?
- .write_all(config.paths.to_string().as_bytes())?;
+ .write_all(directories.as_stdin().as_bytes())?;
let output = finder.wait_with_output()?;