up_finder
A lightweight Rust library for finding files or directories upward in the directory tree.
Features
- Find files or directories in the current working directory and all parent directories
- Support for finding a single file or multiple files
- High-performance HashMap implementation using
rustc-hash - Concise builder API implemented with
typed-builder - No external system dependencies, pure Rust implementation
Installation
Add the following dependency to your Cargo.toml file:
[]
= "0.0.1"
Usage Examples
Find a Single File
use ;
// Create a UpFinder instance, default is to find files
let find_up = builder
.cwd // Start from the current directory
.kind // Optional, finding files is the default
.build;
// Find package.json files upward
let paths = find_up.find_up;
// Print all found paths
println!;
Find Multiple Files
use ;
// Create a UpFinder instance
let find_up = builder
.cwd // Start from the src directory
.build;
// Find multiple files simultaneously
let paths = find_up.find_up_multi;
// Result is a HashMap with file names as keys and lists of found paths as values
for in paths
Find Directories
use ;
// Create a UpFinder instance for finding directories
let find_up = builder
.cwd
.kind // Set to find directories
.build;
// Find "node_modules" directories upward
let paths = find_up.find_up;
println!;
API Documentation
For detailed API documentation, visit docs.rs/up_finder.
Contribution
Issues and pull requests are welcome!
License
This project is licensed under the MIT License.