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 
sql-formatteris 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"
        }
      }
    }
  },