get_files_macro

Crates.ioget_files_macro
lib.rsget_files_macro
version0.1.3
sourcesrc
created_at2023-12-28 14:27:03.798899
updated_at2023-12-28 16:54:23.201433
descriptionA Rust macro that can resolve a directory's file names before compile-time.
homepage
repositoryhttps://github.com/Kitt3120/get_files_macro
max_upload_size
id1082444
size12,187
Torben Schweren (Kitt3120)

documentation

README

get_files_macro

A Rust macro that can resolve a directory's file names before compile-time.

Usage

// This scenario is meant to be executed from this repo's root

let file_names = get_files!(true, true, true, true, true, "/", "./test");
// ^^^^^^^^^^^ -> Vec<&str>

let test_names = vec![
    "testfile1.test",
    "testfile2.test",
    "zzz",
    "zzz/testfile3.test",
    ".testfile.test",
    "testfile.link",
];

assert_eq!(file_names.len(), test_names.len());
for (index, file_name) in file_names.into_iter().enumerate() {
    assert_eq!(file_name, test_names[index]);
}

println!("All tests passed!");

Status

Deployment status: Deploy

Why?

I wanted to extend sqlx with a function that can check if a database's migrations are up-to-date. To do that, I needed to get the names of all files in a directory before compile-time. I couldn't find a way to do that, so I made this macro.

Commit count: 7

cargo fmt