6个版本 (3个重大变更)

0.3.0 2020年6月26日
0.2.0 2020年6月7日
0.1.2 2020年5月31日
0.0.0 2020年4月28日

#7 in #pretty-printer

MIT 许可证

46KB
1K SLoC

forma 🐚

有偏见的SQL格式化工具。


📦 安装

二进制文件可以通过 cargo

$ cargo install forma

还需要库 formation 作为依赖项

[dependencies]
formation = "0.3.0"

🤸 使用

⚠️ forma 应被视为 alpha 版质量,存在一些已知和更多未知缺陷。 自行承担风险!

通过文件路径或 stdin 给 forma 一些 SQL,您将获得格式化后的 SQL。

$ echo "SELECT * FROM users" | forma
select * from users;

要格式化 SQL 文件,只需给 forma 文件路径。

$ forma path/to/some/sql/example.sql

如果您不想实际格式化 SQL 但想知道是否会发生格式化,请使用 --check 标志。

二进制文件是围绕 formation 库的薄包装,您可以在自己的应用程序中使用它来格式化 SQL。

use formation::format;
let sql = "SELECT * FROM users;";
assert_eq!(
    format(sql, false, 100).unwrap(),
    vec!["select * from users;\n".to_owned()]
);

🚧 TODOs

  • 支持全面的 Statement 变体(目前仅支持 Query
  • 支持注释(这些将被格式化器消耗!)
  • 参数化方言

依赖项

~3.5MB
~63K SLoC