3个不稳定版本
0.2.1 | 2023年10月23日 |
---|---|
0.2.0 | 2022年6月21日 |
0.1.0 | 2021年10月9日 |
在 过程宏 中排名 32
每月下载量 53,412
在 49 个crate中使用(直接使用25个)
21KB
332 行代码
rustfmt-wrapper
Rust使生成更多Rust代码变得容易——对于宏、构建器等。格式化代码使其更容易阅读是件好事。虽然 rustfmt
做得相当不错,但它作为一个命令行工具,不能作为库使用。这是一个可能过于简单的包装库。
使用简单,并且与 quote!
有很好的兼容性。
let codegen = quote::quote!{ struct Foo { bar: String } };
let formatted: String = rustfmt_wrapper::rustfmt(codegen).unwrap();
如果你需要更多控制 rustfmt
配置选项的 大量,你可以使用第二种形式
let codegen = quote::quote!{
async fn go() {
let _ = Client::new().operation_id().send().await?;
}
};
let config = Config {
max_width: Some(45),
..Default::default()
};
let narrow_formatted = rustfmt_config(config, codegen).unwrap();
请注意,为了使用不稳定配置选项,您需要安装 rustfmt
的夜间版本。
感谢David Tolnay提供了许多工具,包括 cargo-expand
,本库从中借鉴了。
依赖关系
~4–15MB
~188K SLoC