diff options
author | Toby Vincent <tobyv13@gmail.com> | 2022-11-02 17:48:10 -0500 |
---|---|---|
committer | Toby Vincent <tobyv13@gmail.com> | 2022-11-02 17:48:10 -0500 |
commit | 53d0cefcb1ca3527935479cc07a6f5fe5b1f8051 (patch) | |
tree | 307ba4005e9ffe95396f07750871b6e44b4e502e /src/lib.rs | |
parent | 1334d9f1d08a27ea7fa4cd4228ac1fdf44bdd552 (diff) |
feat: finish implementing config and cli
Diffstat (limited to 'src/lib.rs')
-rw-r--r-- | src/lib.rs | 12 |
1 files changed, 10 insertions, 2 deletions
@@ -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()?; |