use std::path::PathBuf;
#[derive(Debug, Clone, Copy, PartialEq, Eq, Default)]
pub enum DirectoryFilter {
FoldersOnly,
#[default]
FilesAndFolders,
AllIncludingHidden,
}
impl DirectoryFilter {
pub fn skips_hidden(self) -> bool {
!matches!(self, Self::AllIncludingHidden)
}
pub fn skips_files(self) -> bool {
matches!(self, Self::FoldersOnly)
}
}
#[derive(Debug, Clone)]
pub struct TreeConfig {
pub root_path: PathBuf,
pub filter: DirectoryFilter,
pub max_depth: Option<u32>,
pub prefetch_per_parent: usize,
}
#[cfg(test)]
mod tests;