A Rust library that provides a unified interface for working with both compile-time embedded directories and runtime directories.
It frustrated me that no Rust library had an abstracted Dir type that allowed for both embedded compile-time directories and runtime directories, so I made one.
If you know of such a library, please let me know !
Add this to your Cargo.toml:
[dependencies]
anydir = "0.1.0"use anydir::anydir;
fn main() {
// Embed files at compile time - bundled directly in your binary
let ct_dir = anydir!(ct, "$CARGO_MANIFEST_DIR");
let ct_files = ct_dir.files();
println!("Compile-time files: {:?}", ct_files);
// Access files at runtime from the filesystem
let rt_dir = anydir!(rt, "./");
let rt_files = rt_dir.files();
println!("Runtime files: {:?}", rt_files);
}- Compile-time embedding: Bundle directory contents directly in your binary
- Runtime access: Load directories from the filesystem at runtime
- Unified API: Work with both types using the same interface
- Zero-cost abstraction: No runtime overhead for compile-time directories
- Simple macros: Easy-to-use macro interface
anydir!(ct, path)- Create a compile-time embedded directoryanydir!(rt, path)- Create a runtime directory reference
DirOps- Common operations for directoriesfiles()- Returns a vector of filenames in the directory