3个版本
0.1.3 | 2022年8月11日 |
---|---|
0.1.2 | 2022年8月10日 |
0.1.0 | 2022年8月10日 |
#1342 in 过程宏
30KB
634 行
croc-look
croc-look是一个工具,通过以下两个特性使测试和调试过程宏变得更容易:
- 将特定生成的代码打印到控制台
- 在Rust代码上提供宏输出的实时视图
croc-look允许您缩小搜索范围,并提供生成的代码的实时视图。
安装
croc-look需要安装夜间工具链 安装,不需要它是默认工具链
rustup install nightly
然后
cargo install croc-look
标志
--trait-impl
或-t
:定义您想要查看展开的特质,这将是要实现 derive 宏的特质,或者可以是你想要查看展开的任何其他特质。例如
#[derive(Clone, Debug, MyTrait)]
struct<T> {
...
}
因此,此标志的值可以是 Clone
、Debug
或你的 MyTrait
derive 宏实现的任何其他特质
-
--impl-for
或-i
:这有助于您缩小对上述标志中提到的特质实现的搜索。如果您有多个派生您的特质的结构体,则可以执行croc-look --trait-impl Clone -i <your-struct-name>
并获取您想要的结构的实现。 -
--structure
或-s
:如果您想展开一个 特定的 结构体。当宏正在操作结构体本身时,例如添加字段等,这非常有用。 -
--path
或-p
:需要安装 cargo expand。使用cargo expand <path>
内部命令来缩小代码到模块级别。例如croc-look -p cmd -t Clone -i Context
(这将在 cmd 模块中查找 Context 的 Clone 实现) -
--function
或-f
:用于展开函数。 -
--binary
或-b
:用于展开cargo --bin BINARY
,如果未指定,则使用--lib
。 -
--watch
或-w
:这会开始监视你想要监视的目录/文件,同时也会打开一个支持在 proc-macro 项目中实时重载更改的交互式 TUI。
这与 cargo expand 有何不同?
cargo expand 不允许你查看整个 trait 实现,以检查泛型或监视特定的代码块。croc-look 的动机是将你的搜索范围缩小到一个简单的单个主体,并减少混乱。
你可以使用 --path
标志来使用 cargo expand <path>
来缩小到模块级别的搜索。
许可证
在 MIT 许可证 下授权。依赖关系
~18–31MB
~374K SLoC