summaryrefslogtreecommitdiffstats
path: root/src/lib.rs
diff options
context:
space:
mode:
authorToby Vincent <tobyv13@gmail.com>2022-11-02 17:48:10 -0500
committerToby Vincent <tobyv13@gmail.com>2022-11-02 17:48:10 -0500
commit53d0cefcb1ca3527935479cc07a6f5fe5b1f8051 (patch)
tree307ba4005e9ffe95396f07750871b6e44b4e502e /src/lib.rs
parent1334d9f1d08a27ea7fa4cd4228ac1fdf44bdd552 (diff)
feat: finish implementing config and cli
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()?;