Expand description
File discovery with glob patterns and recursive traversal. File discovery with glob patterns and recursive traversal.
This module provides efficient file discovery capabilities for batch processing, supporting glob patterns, recursive directory traversal, and various filtering options.
§Features
- Glob Patterns: Support for standard glob patterns (
*,?,[abc],**) - Recursive Traversal: Optional recursive directory traversal with depth limiting
- Filtering: Extension, size, and hidden file filtering
- Symlinks: Configurable symlink following behavior
- Error Handling: Detailed error reporting for invalid patterns and I/O failures
§Examples
use hedl_cli::file_discovery::{FileDiscovery, DiscoveryConfig};
// Discover all HEDL files in current directory
let discovery = FileDiscovery::new(
vec!["*.hedl".to_string()],
DiscoveryConfig::default()
);
let files = discovery.discover()?;
// Recursive discovery with depth limit
let discovery = FileDiscovery::new(
vec!["**/*.hedl".to_string()],
DiscoveryConfig {
max_depth: Some(3),
extension: Some("hedl".to_string()),
..Default::default()
}
);
let files = discovery.discover()?;Structs§
- Discovery
Config - Configuration for file discovery.
- File
Discovery - File discovery engine with glob pattern support.