anydir-macro 0.1.0

A crate for working with both compile-time embedded directories and runtime directories using an abstraction.
Documentation
# anydir

A Rust library that provides a unified interface for working with both compile-time embedded directories and runtime directories.


## Motivation

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 !

## Installation

Add this to your `Cargo.toml`:

```toml
[dependencies]
anydir = "0.1.0"
```

## Usage

```rust
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.list_files();
    println!("Compile-time files: {:?}", ct_files);
    
    // Access files at runtime from the filesystem
    let rt_dir = anydir!(rt, "./");
    let rt_files = rt_dir.list_files();
    println!("Runtime files: {:?}", rt_files);
}
```

## Features

- **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

## API

### Macros

- `anydir!(ct, path)` - Create a compile-time embedded directory
- `anydir!(rt, path)` - Create a runtime directory reference

### Traits

- `DirOps` - Common operations for directories
  - `list_files()` - Returns a vector of filenames in the directory