2 releases
0.1.3 | Dec 28, 2023 |
---|---|
0.1.2 | Dec 28, 2023 |
0.1.1 |
|
0.1.0 |
|
#1459 in Procedural macros
11KB
217 lines
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
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.
Dependencies
~230–670KB
~16K SLoC