7 个版本
0.3.4 | 2024年4月10日 |
---|---|
0.3.3 | 2024年3月31日 |
0.2.0 | 2024年3月31日 |
0.1.0 | 2024年3月31日 |
在 Cargo 插件 中排名第 201
每月下载量 388 次
210KB
3K SLoC
包含 (Mach-o exe, 405KB) 示例
cargo-unfmt
将代码格式化为完美的矩形!
掌握您的格式化,将 此复杂代码
#![feature(coroutines, coroutine_trait)]
use std::ops::Coroutine;
use std::pin::Pin;
fn main() {
run_coroutine::<i32>();
}
fn run_coroutine<T>() {
let mut coroutine = || {
yield;
return;
};
Pin::new(&mut coroutine).resume(());
}
转换为此美观的代码块
#![feature(coroutines,coroutine_trait)]use std::ops::Coroutine;use std::pin:://;
Pin;fn main(){;run_coroutine::<i32>();;}fn run_coroutine<T>(){let mut coroutine=
||{{;};yield;{;};{;};return;{;};};();();Pin::new(&mut coroutine).resume(());();}
安装
使用 cargo
进行安装
cargo install cargo-unfmt --locked
它是如何工作的?
通过词汇和句法分析的结合,cargo-unfmt
插入无操作语句如 if false{}
,在表达式周围添加额外的括号,以及注释来达到完美的代码块。它试图最小化结果的代码大小以及最小化行尾注释的数量。
许可
此代码在 GPL 版本 3 或更高版本下授权,因为矩形代码属于每个人!
版权 2024-至今 Felix Prasanna
依赖
~4–12MB
~130K SLoC