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

Download history 1/week @ 2024-07-02

每月下载量 388

GPL-3.0-or-later

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