blob: 7210d2e6f60aff428f0fb061c1477143e2d47864 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
|
<h1 align="center">介绍</h1>
如果你正被这些问题困扰——
1. 子命令一多,`main.rs` 就迅速膨胀;
2. Handler 中的逻辑与副作用混杂在一起;
3. 日志、鉴权等横切关注点难以无侵入地插入;
4. 为多个平台维护 shell 补全脚本令人心力交瘁;
5. 全局资源到处都是,测试非常困难。
…… 那么,你来对地方了。
当然,如果只是对「怎么用 Rust 写出好维护的 CLI」这件事感兴趣,那你更来对地方了 —— 它会很有意思的。
## 什么是 Mingling?
> **Mìng Lìng** 是中文 **命令** 的汉语拼音,
> 对应的英文单词是 **Command**。
Mingling 是一个用 Rust 构建的 CLI 框架。它免费、开源,且使用宽松的 MIT / Apache 2.0 开源协议。
Mingling 的设计目标:
- **可扩展**:从 3 个子命令到 30 个,同一套模式,不换框架
- **解耦**:参数解析写一次,业务逻辑写一次,输出格式写一次。各不相干
- **类型驱动**:整个流水线上传递的是清晰、类型化的数据,而非 `Vec<String>`
- **轻量依赖**:核心功能依赖少,引入负担低;按需启用高级特性,不拖慢编译
- **高效**:编译期生成分发逻辑,运行时没有不必要的开销
---
好了,想来试试么?
|