#sql #format #glob-pattern #cli-tool #cli

app sleek

Sleek 是一个用于格式化 SQL 文件的 CLI 工具

7 个版本

0.3.0 2023 年 4 月 30 日
0.2.3 2023 年 4 月 9 日
0.1.2 2023 年 4 月 7 日

#1163 in 开发工具

每月 23 次下载

MIT 许可证

9KB
89

Sleek: SQL 格式化工具 ✨

Crates.io GitHub Actions GitHub Releases

Sleek 是一个用于格式化 SQL 的 CLI 工具。它可以帮助您在 SQL 代码中保持一致的风格,提高可读性和生产力。

主要的格式化工作由 sqlformat 包完成。

前后对比

以下是一个 SQL 查询在 Sleek 格式化前后的示例

格式化前

select id, name, email from users where id in (select user_id from orders where total > 100) and status = 'active'

格式化后

SELECT
    id,
    name,
    email
FROM
    users
WHERE
    id IN (
        SELECT
            user_id
        FROM
            orders
        WHERE
            total > 100
    )
    AND STATUS = 'active'

功能

  • 使用可定制的缩进和字符大小写选项格式化 SQL 文件
  • 支持 glob 模式,允许您格式化多个文件和模式
  • 使用 --check 标志检查您的 SQL 文件是否已格式化,而不会修改它们

安装

下载编译后的二进制文件

您可以从 GitHub 发布页面 下载 Sleek 的编译后的二进制文件。选择与您的操作系统和体系结构对应的二进制文件,并将其放置在系统 PATH 环境变量中包含的目录中。

使用 Cargo 安装

要使用 Cargo 安装 Sleek,您需要在系统上安装 Rust。一旦安装了 Rust,您就可以使用 Cargo 安装 Sleek

cargo install sleek

使用方法

sleek [FLAGS] [OPTIONS] <file_paths>...

参数

  • <file_paths>...:要格式化的文件路径,支持 glob 模式。如果没有提供文件路径,则从 stdin 读取。

标志

  • -c--check:检查代码是否已格式化。如果没有,它将以错误信息退出。
  • -h--help:打印帮助信息。
  • -V--version:打印版本信息。

选项

  • -i--indent_spaces <indent_spaces>:设置用于缩进的空格数(默认:4)。
  • -U--uppercase <uppercase>:将保留关键字改为全大写(默认:true)。
  • -l--lines_between_queries <lines_between_queries>:设置查询后要插入的行数(默认:2)。

示例

从stdin格式化查询

> echo "select * from users" | sleek --uppercase
SELECT
    *
FROM
    user

检查从stdin获取的查询是否格式正确

> echo "select * from users" | sleek --check
Input is not formatted correctly. Run without --check to format the input.

使用默认选项格式化单个文件

sleek my_query.sql

使用glob模式格式化多个文件

sleek "queries/*.sql"

使用自定义选项格式化文件

sleek --indent_spaces 2 --uppercase false "queries/*.sql"

检查文件是否已经格式化

sleek --check "queries/*.sql"

许可证

本项目可在MIT许可证下使用。

依赖

~3.5MB
~62K SLoC