list-modules

Crates.iolist-modules
lib.rslist-modules
version0.1.6
sourcesrc
created_at2023-04-16 08:05:41.138257
updated_at2023-04-16 19:48:23.657293
descriptionA procedural macro for generating a list of string slices of the names of the modules inside a source code directory of a project.
homepage
repositoryhttps://github.com/maxfierrog/list-modules
max_upload_size
id840414
size6,025
Max Fierro (maxfierrog)

documentation

README

List-Modules Procedural Macro

This macro creates a constant string slice list of all the module names which are children of an indicated crate module folder. Paths are specified relative to the cargo manifest directory.

For example, calling this macro from mod.rs in the following file tree with list_modules::here!("parent/");...

parent/
    mod.rs
    child_1.rs
    child_2/
        mod.rs
        internal.rs
        other_internal/
            ...
        ...
    child_3.rs
    child_4.rs
    ...
    child_N/
        mod.rs

...will result in the following list expansion:

pub const LIST: [&str; N] = [
    "child_1",
    "child_2",
    "child_3",
    ...
    "child_N",
];

Note that this is the only guaranteed behavior.

Commit count: 24

cargo fmt