pub struct FileScanner { /* private fields */ }Expand description
File scanner for traversing project directories.
The FileScanner recursively walks through a project directory to find all Rust source files.
It automatically skips common directories that should be ignored, such as target and hidden
directories (those starting with .).
§Example
use openapi_from_source::scanner::FileScanner;
use std::path::PathBuf;
let scanner = FileScanner::new(PathBuf::from("./my-project"));
let result = scanner.scan().unwrap();
println!("Found {} Rust files", result.rust_files.len());Implementations§
Source§impl FileScanner
impl FileScanner
Sourcepub fn new(root_path: PathBuf) -> Self
pub fn new(root_path: PathBuf) -> Self
Creates a new FileScanner for the specified root directory.
§Arguments
root_path- The root directory to scan for Rust files
Sourcepub fn scan(&self) -> Result<ScanResult>
pub fn scan(&self) -> Result<ScanResult>
Scans the directory tree and collects all .rs files.
This method recursively traverses the directory tree starting from the root path,
collecting all files with the .rs extension. It automatically skips:
- The
targetdirectory (build artifacts) - Hidden directories (starting with
.)
If any directories or files cannot be accessed, warnings are logged and added to the result, but scanning continues.
§Returns
Returns a ScanResult containing the list of discovered files and any warnings.
§Errors
Returns an error if the root directory cannot be accessed.