Zed
1. Install
Open the Extensions panel (Cmd+Shift+X) and search for syntaqlite: SQLite
language server and formatter. Click Install. The extension downloads the
binary automatically; no other setup is needed.
2. See diagnostics
Create a file called demo.sql and paste this in:
select id,name,email,created_at from users as u wehre active=1 and role='admin' order by created_at desc
Zed should underline wehre. Change it to where before continuing.
3. Format
Run Editor: Format Buffer from the command palette (Cmd+Shift+P). The
query becomes:
SELECT id, name, email, created_at
FROM users AS u
WHERE
active = 1
AND role = 'admin'
ORDER BY
created_at DESC;
4. Add a schema
So far syntaqlite only checks syntax. To catch unknown tables and columns,
create a file called schema.sql next to demo.sql:
CREATE TABLE users (
id INTEGER, name TEXT, email TEXT,
active INTEGER, role TEXT, created_at TEXT
);
Then create syntaqlite.toml in the same directory:
[schemas]
"**/*.sql" = ["schema.sql"]
Go back to demo.sql and change name to nme. The language server should
underline it and report unknown column 'nme', did you mean 'name'? Change it
back to name before continuing.
5. Completions
Now that you have a schema, type a new query in demo.sql. After FROM ,
you'll see users offered as a completion. After SELECT , you'll see id,
name, email, and active.
Configuration
The extension needs no configuration for normal use. You can override the
binary or config file in your Zed settings (Cmd+,) when necessary:
Custom binary path: use your own build instead of the auto-downloaded one:
{
"lsp": {
"syntaqlite": {
"binary": {
"path": "/path/to/syntaqlite"
}
}
}
}
Custom config path: point to a specific syntaqlite.toml instead of
relying on auto-discovery:
{
"lsp": {
"syntaqlite": {
"initialization_options": {
"config": "/path/to/syntaqlite.toml"
}
}
}
}
Next steps
- Formatting options: line width, keyword casing, semicolons
- Config file reference: glob-based schema
routing and all
syntaqlite.tomloptions - Project setup guide: multi-schema setups, strict mode, CI integration