2 个版本
0.0.1 | 2023年4月6日 |
---|---|
0.0.0 | 2022年1月26日 |
#9 在 #rome
21 每月下载量
用于 2 crates
1MB
19K SLoC
代码格式化基础设施
此模块定义了 [FormatElement],一个用于格式化代码文档的 IR,并提供了一种将此类文档打印到字符串中的方法。能够格式化自身的对象实现 [Format] 特性。
格式化特性
- [Format]: 由可格式化的对象实现。
- [FormatRule]: 知道如何格式化另一种类型对象的规则。在需要在对另一个 crate 的对象实现 [Format] 时是必要的。此模块定义了 [FormatRefWithRule] 和 [FormatOwnedWithRule] 结构体,用于传递带有相应规则的项。
- [FormatWithRule] 由知道如何格式化另一种类型的对象实现。当类型本身没有实现 [Format] 时,在模块内部实现一些可重用的格式化逻辑很有用。
格式化宏
此 crate 定义了两个宏来构建 IR。这些宏是受 Rust 的 fmt
宏启发的
format!
: 格式化一个可格式化的对象format_args!
: 连接一系列 Format 对象。write!
: 将一系列可格式化的对象写入输出缓冲区。
依赖关系
~9–18MB
~225K SLoC