1 个不稳定版本
0.2.0 | 2022年6月6日 |
---|---|
0.1.0 |
|
#16 in #开发工具
28KB
483 行
dab
:为 Rust 开发者追求惰性
dab
是一个命令行工具,旨在帮助 Rust 开发者在与 async
生命周期或 FFI 作斗争后,享受他们应得的惰性。目前,它只做一件非常简单的事情:创建模块。好吧,我在创建 Skytable 时,创建模块让我有些生气。愚蠢? 阅读这里!
安装 🚀
只需运行
$ cargo install dab
用法
- 基本用法示例:
dab modname
。这将创建一个src/modname/mod.rs
文件,并在 "根文件" 中创建一个模块声明(如mod modname
),"根文件" 是lib.rs
或main.rs
,具体取决于你的包类型 - 高级用法示例:
dab -skip -skip -skip -skip -public mymod
:这将创建一个src/mymod.rs
文件(注意不创建目录),跳过 "根文件" 中的许可协议头部(如果有的话),并将模块的可视性标记为pub
特性 ✨
- 在二进制/库包中创建模块
- 选择模块是公开的还是私有的(默认为私有)
- 在添加模块时忽略文件顶部的注释(例如许可协议头部)
- 使用
syn
重新编写 - 支持深层嵌套模块的完整路径
- 如果不存在,则启用父目录的创建
- 自动为新创建的模块添加文件头部注释(例如许可协议头部)
- 提供
dab.toml
配置文件,该文件将用于确定设置 - 在将
mod
条目添加到根文件时运行rustfmt
- 支持
cfg
属性 - 支持工作区
- 支持通过包名创建模块(例如
skyd::protocol
) - 检测工作区根目录并在任何其他目录中操作(类似于
cargo
所做的) - 支持在工作区中创建包
- 支持通过包名创建模块(例如
- 打开代码编辑器到新创建的模块
- 有想法吗? 创建一个问题!
背景
可以称之为我个人的痒点,在大型 Rust 项目中,我在创建模块时(尤其是在工作区中)非常烦恼。通常的顺序是
mkdir<package>/src/path/to/module
touch <package>/src/path/to/module/mod.rs
- 编辑
main.rs
或lib.rs
以添加包名 - 打开代码编辑器并添加代码
我想将其简化为一步操作。因此,有了这个工具。
许可证
此工具根据 Apache-2.0 许可证 许可。
依赖项
~0.6–1.2MB
~28K SLoC