Skip to main content

Module file_discovery

Module file_discovery 

Source
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§

DiscoveryConfig
Configuration for file discovery.
FileDiscovery
File discovery engine with glob pattern support.