summaryrefslogtreecommitdiffstats
path: root/src/directories.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/directories.rs')
-rw-r--r--src/directories.rs52
1 files changed, 0 insertions, 52 deletions
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<PathBuf>,
-}
-
-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::<std::result::Result<Vec<_>, _>>();
-
- self.directories.extend(results?);
- Ok(self)
- }
-}
-
-impl Deref for Directories {
- type Target = Vec<PathBuf>;
-
- fn deref(&self) -> &Self::Target {
- &self.directories
- }
-}