3 个版本
0.1.2 | 2022 年 6 月 16 日 |
---|---|
0.1.1 | 2022 年 6 月 15 日 |
0.1.0 | 2022 年 6 月 15 日 |
#344 in 构建工具
13KB
185 行
keystring_generator
这是一个从简单文件生成具有分层字符串常量的 Rust 代码的工具
用法
该库公开了两个函数
generate(input: &PathBuf) -> Result<(), String>
和
generate_with_config(input: &PathBuf,output_dir: Option<&PathBuf>, ) -> Result<(), String>
请查阅 generate_with_config
的文档以了解参数的解释。调用这些方法将在输出目录中创建一个名为 constants.rs
的文件(默认:generated/keygen
)。此文件必须包含在您的项目中才能使用。
输入格式
输入格式有两种变体:分层或枚举。
分层变体类似于 yaml,基于缩进。
您可以使用制表符和空格进行缩进,但这是不建议的。如果同时使用,则制表符被视为 4 个空格!因此,请只使用其中一种。
一个分层输入文件的示例如下
hierarchical
keys
with
five
layers
six
hierarchical
layers
枚举变体列出了所有所需的密钥,使用 .
作为分隔符,如下所示
hierarchical.keys
hierarchical.keys.with.five.layers
hierarchical.keys.with.six.hierarchical.layers
(子键的冗余枚举是可能的但不是必要的)。
您还可以通过创建如下所示的输入文件来混合这些变体
hierarchical.keys.with
five.layers
six
hierarchical
layers
输出格式
上述输入的输出文件将看起来(从语法上)如下所示
#![allow(dead_code)]
#![allow(non_upper_case_globals)]
pub mod hierarchical {
const _BASE : &str = "hierarchical";
pub mod keys {
pub const _BASE: &str = "hierarchical.keys";
pub mod with {
pub const _BASE: &str = "hierarchical.keys.with";
pub mod five {
pub const _BASE: &str = "hierarchical.keys.with.five";
pub const layers: &str = "hierarchical.keys.with.five.layers";
}
pub mod six {
pub const _BASE: &str = "hierarchical.keys.with.six";
pub mod hierarchical {
pub const _BASE: &str = "hierarchical.keys.with.six.hierarchical";
pub const layers: &str = "hierarchical.keys.with.six.hierarchical.layers";
}
}
}
}
}
因此您可以使用如下键:constants::hierarchical::keys::with::five::layers
或 constants::hierarchical::keys::BASE
。