FileScanner

Struct FileScanner 

Source
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

Source

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
Source

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 target directory (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.

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.