From 4cac42d2299cecdc3d6a7f6d7661137da338278b Mon Sep 17 00:00:00 2001 From: Toby Vincent Date: Thu, 10 Nov 2022 17:37:24 -0600 Subject: feat: add paths module and tests --- src/directories.rs | 52 ---------------------------------------------------- 1 file changed, 52 deletions(-) delete mode 100644 src/directories.rs (limited to 'src/directories.rs') diff --git a/src/directories.rs b/src/directories.rs deleted file mode 100644 index 62a566f..0000000 --- a/src/directories.rs +++ /dev/null @@ -1,52 +0,0 @@ -use ignore::WalkBuilder; -use std::{ops::Deref, path::PathBuf}; - -pub use config::Config; -pub use error::{Error, Result}; - -mod config; -mod error; - -#[derive(Debug, PartialEq, Eq, Default)] -pub struct Directories { - config: Config, - pub directories: Vec, -} - -impl Directories { - pub fn new(config: &Config) -> Directories { - Directories { - config: config.to_owned(), - directories: config.add.to_owned(), - } - } - - pub fn walk(&mut self) -> Result<&mut Directories> { - let mut dirs = self.config.search.iter().cloned(); - - // Taking first element is neccissary due to requirement of an initial item - // in the WalkBuilder API - // - // See: https://github.com/BurntSushi/ripgrep/issues/1761 - let first = dirs.next().unwrap_or_default(); - let mut walk = WalkBuilder::new(first); - let walk = walk.standard_filters(true).max_depth(Some(1)); - - let results = dirs - .fold(walk, |walk, dir| walk.add(dir)) - .build() - .map(|r| r.map(|d| d.into_path())) - .collect::, _>>(); - - self.directories.extend(results?); - Ok(self) - } -} - -impl Deref for Directories { - type Target = Vec; - - fn deref(&self) -> &Self::Target { - &self.directories - } -} -- cgit v1.2.3-70-g09d2