Sleek is a CLI tool for formatting SQL. It helps you maintain a consistent style across your SQL code, enhancing readability and productivity.
The heavy lifting is done by the sqlformat crate.
Here's an example of a SQL query before and after being formatted by Sleek:
sql
select id, name, email from users where id in (select user_id from orders where total > 100) and status = 'active'
sql
SELECT
id,
name,
email
FROM
users
WHERE
id IN (
SELECT
user_id
FROM
orders
WHERE
total > 100
)
AND STATUS = 'active'
--check
flagYou can download the compiled binaries for Sleek from the
GitHub Releases page. Choose the
binary that corresponds to your operating system and architecture, and place it
in a directory included in your system's PATH
environment variable.
To install Sleek using Cargo, you'll need to have Rust installed on your system. Once Rust is installed, you can install Sleek with Cargo:
bash
cargo install sleek
bash
sleek [FLAGS] [OPTIONS] <file_paths>...
<file_paths>...
: File path(s) to format, supports glob patterns. If no file
paths are provided, reads from stdin.-c
, --check
: Check if the code is already formatted. If not, it will exit
with an error message.-h
, --help
: Prints help information.-V
, --version
: Prints version information.-i
, --indent_spaces <indent_spaces>
: Set the number of spaces to use for
indentation (default: 4).-U
, --uppercase <uppercase>
: Change reserved keywords to ALL CAPS
(default: true).-l
, --lines_between_queries <lines_between_queries>
: Set the number of
line breaks after a query (default: 2).Format a query from stdin:
```bash
echo "select * from users" | sleek --uppercase SELECT * FROM user ```
To check if a query is formatted correctly from stdin:
```bash
echo "select * from users" | sleek --check Input is not formatted correctly. Run without --check to format the input. ```
To format a single file with the default options:
bash
sleek my_query.sql
To format multiple files using a glob pattern:
bash
sleek "queries/*.sql"
To format files with custom options:
bash
sleek --indent_spaces 2 --uppercase false "queries/*.sql"
To check if files are already formatted:
bash
sleek --check "queries/*.sql"
This project is available under the MIT License.