SQL
SQL files are handled by the SQL Extension.
- Tree-sitter: nervenes/tree-sitter-sql
Formatting
Zed supports auto-formatting SQL using external tools like sql-formatter
.
- Install
sql-formatter
:
npm install -g sql-formatter
- Ensure
shfmt
is available in your path and check the version:
which sql-formatter
sql-formatter --version
- Configure Zed to automatically format SQL with
sql-formatter
:
"languages": {
"SQL": {
"formatter": {
"external": {
"command": "sql-formatter",
"arguments": ["--language", "mysql"]
}
}
}
},
Substitute your preferred [SQL Dialect] for mysql
above (duckdb
, hive
, mariadb
, postgresql
, redshift
, snowflake
, sqlite
, spark
, etc).
You can add this to Zed project settings (.zed/settings.json
) or via your Zed user settings (~/.config/zed/settings.json
).
Advanced Formatting
Sql-formatter also allows more precise control by providing sql-formatter configuration options. To provide these, create a sql-formatter.json
file in your project:
{
"language": "postgresql",
"tabWidth": 2,
"keywordCase": "upper",
"linesBetweenQueries": 2
}
When using a sql-formatter.json
file you can use a more simplified set of Zed settings since the language need not be specified inline:
"languages": {
"SQL": {
"formatter": {
"external": {
"command": "sql-formatter"
}
}
}
},