3个版本
新 0.1.2 | 2024年8月22日 |
---|---|
0.1.1 | 2024年8月22日 |
0.1.0 | 2024年8月22日 |
#363 在 过程宏
每月74次下载
405KB
154 行
一个过程宏,用于在编译时推导应用程序信息,使用cargo编译时环境变量和`clap-rs`。
用法
#[appinfo::main]
fn main(){
println!("hello world");
cli.do_stuff();
server.listen(3000);
}
添加clap
cargo add clap
cargo add appinfo
然后在终端中执行
Example:
❯ ./wonderful-cli -h
wonderful-cli (version: 0.1.0, commit revision: 0.1.0, repository: https://github.com/l-const/wonderful-cli) - A cli app that utilises the appinfo macro.
详细信息
- 所有信息都在编译时检索。
- 默认环境变量: https://doc.rust-lang.net.cn/cargo/reference/environment-variables.html#environment-variables-cargo-sets-for-crates
- 更多内容请参阅此处: https://github.com/l-const/appinfo-rs/blob/main/src/cli.rs#L5-L9
未来增强
- 验证逻辑,确保宏只在
main
中应用。 - 通过宏参数覆盖变量。
- 可覆盖的执行/使用信息。
- 使用编译/构建时环境变量使用Git提交修订版本。
依赖项
~1.1–1.7MB
~31K SLoC