src | ||
tests | ||
.gitignore | ||
Cargo.toml | ||
LICENSE | ||
README.md |
macroconf
This library provides a macro to create configs with metadata attached to the values. The miniconf library is used to make the metadata and the values accessible.
Example
use miniconf::Tree;
use macroconf::config;
#[config]
#[derive(Tree)]
struct Config {
ordinary: i32,
#[min = 10]
#[max = 20]
clamped: u8
#[default = 42]
has_default: i32;
/// Doc comments are used as description
with_description: i32
}
/* The resulting miniconf tree looks like this:
* /
* |-ordinary
* |
* |-clamped
* | |-value
* | |-min
* | |-max
* |
* |-has_default
* | |-value
* | |-default
* |
* |-with_description
* |-value
* |-description
*/