pub struct FileFilter {
pub extensions: Option<Vec<String>>,
pub languages: Option<Vec<Language>>,
pub min_size_bytes: Option<usize>,
pub max_size_bytes: Option<usize>,
pub custom_predicate: Option<Arc<dyn Fn(&Path) -> bool + Send + Sync>>,
}
Expand description
Filter criteria for selecting which files to parse
This struct allows you to specify various criteria for filtering files during directory parsing operations. All criteria are optional and are combined with AND logic when multiple criteria are specified.
§Examples
use tree_parser::{FileFilter, Language};
use std::sync::Arc;
// Filter for Rust files only
let filter = FileFilter {
languages: Some(vec![Language::Rust]),
extensions: None,
min_size_bytes: None,
max_size_bytes: None,
custom_predicate: None,
};
// Filter with custom logic
let filter = FileFilter {
languages: None,
extensions: Some(vec!["rs".to_string(), "py".to_string()]),
min_size_bytes: Some(100),
max_size_bytes: Some(50_000),
custom_predicate: Some(Arc::new(|path| {
!path.to_string_lossy().contains("test")
})),
};
Fields§
§extensions: Option<Vec<String>>
File extensions to include (e.g., [“rs”, “py”]). None means all supported extensions.
languages: Option<Vec<Language>>
Programming languages to include. None means all supported languages.
min_size_bytes: Option<usize>
Minimum file size in bytes. Files smaller than this are excluded.
max_size_bytes: Option<usize>
Maximum file size in bytes. Files larger than this are excluded.
custom_predicate: Option<Arc<dyn Fn(&Path) -> bool + Send + Sync>>
Custom predicate function for advanced filtering logic
Trait Implementations§
Source§impl Clone for FileFilter
impl Clone for FileFilter
Source§fn clone(&self) -> FileFilter
fn clone(&self) -> FileFilter
Returns a duplicate of the value. Read more
1.0.0 · Source§const fn clone_from(&mut self, source: &Self)
const fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moreAuto Trait Implementations§
impl Freeze for FileFilter
impl !RefUnwindSafe for FileFilter
impl Send for FileFilter
impl Sync for FileFilter
impl Unpin for FileFilter
impl !UnwindSafe for FileFilter
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more