#sample #generate #macro

sample-config

带有文档注释的示例配置生成

2 个不稳定版本

0.2.0 2023年1月7日
0.1.0 2022年11月6日

#669 in 配置

MIT 许可证

13KB
255

示例配置

crates.io page docs.rs page license: MIT

自动生成带有文档注释的示例配置。只需在您的配置类型上派生 SampleConfig 特性,创建一个示例对象,然后使用它生成配置文件。

用法

示例

use sample_config::SampleConfig;

/// Example enum.
#[derive(Debug, Default, SampleConfig)]
enum ExampleEnum {
    /// A.
    #[default]
    VariantA,
}

/// General documentation isn't used.
#[derive(Debug, Default, SampleConfig)]
struct ExampleConfig {
    /// Some optional string.
    string: Option<String>,
    /// Some list of numbers.
    numbers: Vec<usize>,
    /// Enumeration of values.
    value: ExampleEnum,
}

let instance = ExampleConfig::default();
let yaml_file_string = instance.generate_sample_yaml();
std::fs::write("output.yaml", &yaml_file_string).unwrap();
std::fs::remove_file("output.yaml").unwrap()

请查看测试以了解更多复杂的示例。

代码检查

此项目使用许多 clippy 代码检查来提高代码质量和风格。

使用 cargo-lints 安装 cargo install --git https://github.com/FlixCoder/cargo-lints。代码检查在 lints.toml 中定义,可以通过运行 cargo lints clippy --all-targets --workspace 来进行检查。

依赖项

~1.2–1.7MB
~44K SLoC