syntaqlite – SQL-Parser, -Formatter, -Validator und Language Server auf Basis der nativen SQLite-Grammatik und des Tokenizers
(github.com/lalitMaganti)- Ein Tool, das die von Lemon erzeugte Grammatik und den Tokenizer von SQLite direkt in C kompiliert und damit die Grenzen beseitigt, bei denen allgemeine SQL-Parser SQLite nur als „Flavor“ annähern
- Validiert die von
sqlite3_prepareerkannten Fehler ohne DB-Verbindung gegen das Schema und meldet im Gegensatz zusqlite3in einem einzigen Durchlauf alle Fehler zusammen mit Quellpositionen und Korrekturvorschlägen - Mit Fixierung auf eine bestimmte SQLite-Version wie
--sqlite-version 3.32.0lassen sich in älteren SQLite-Umgebungen wie Android nicht unterstützte Syntaxelemente (RETURNINGusw.) vorab erkennen - Durch Berücksichtigung von 22 Compile-Time-Flags (
SQLITE_ENABLE_MATH_FUNCTIONSusw.) ist eine Validierung möglich, die exakt zum Ziel-Build passt - Etwa 99,7 % Übereinstimmung bei der Parsing-Akzeptanz gegenüber rund 396.000 Statements aus der SQLite-Upstream-Testsuite
- Integrierter deterministischer SQL-Formatter mit Optionen für Zeilenbreite, Groß-/Kleinschreibung von Keywords und Einrückung
- Enthält experimentelle Funktionen, die SQL aus Python- und TypeScript-Strings extrahieren und nach Behandlung von Interpolationslücken validieren
- Über die Projektkonfigurationsdatei
syntaqlite.tomlladen LSP, CLI und Editor automatisch Schema-Mappings pro Glob sowie Formatierungsoptionen - Mit LSP-Unterstützung gibt es eine VS-Code-Erweiterung, eine Zed-Erweiterung und ein Claude-Code-Plugin; Diagnose, Autovervollständigung und semantisches Highlighting funktionieren ohne DB-Verbindung
- Bietet einen Web Playground, der im Browser per WASM läuft
- Nutzbar als Bibliothek für Rust, Python, JavaScript (WASM) und C; Installation per pip, Homebrew, Cargo, mise oder
curl-One-Liner - Duale Architektur: Parser und Tokenizer in C, Formatter, Validator und LSP in Rust implementiert
- Apache-2.0-Lizenz
Noch keine Kommentare.