syntaqlite - parseur, formateur, validateur et serveur de langage SQL basés sur la grammaire et le tokenizer natifs de SQLite
(github.com/lalitMaganti)- Outil qui compile et utilise directement en C la grammaire générée par Lemon et le tokenizer de SQLite, éliminant ainsi les limites des parseurs SQL génériques qui n’approximent SQLite qu’en tant que « saveur »
- Valide les erreurs détectées par
sqlite3_preparepar rapport au schéma sans connexion à la base de données et, contrairement àsqlite3, signale toutes les erreurs en un seul passage avec leur position dans le code source et des suggestions de correction - Permet de figer une version précise de SQLite comme
--sqlite-version 3.32.0, afin de détecter à l’avance les syntaxes non prises en charge (RETURNING, etc.) dans des environnements utilisant d’anciennes versions de SQLite, comme Android - Prend en charge 22 flags de compilation (
SQLITE_ENABLE_MATH_FUNCTIONS, etc.) pour effectuer une validation correspondant exactement au build cible - Environ 99,7 % de concordance d’acceptation au parsing sur quelque 396 000 instructions de la suite de tests amont de SQLite
- Formateur SQL déterministe intégré, avec réglages de largeur de ligne, casse des mots-clés et indentation
- Inclut une fonctionnalité expérimentale qui extrait le SQL de chaînes Python et TypeScript pour le valider après traitement des emplacements d’interpolation
- Avec le fichier de configuration de projet
syntaqlite.toml, le mapping de schéma par glob et les options de formatage sont chargés automatiquement par le LSP, la CLI et l’éditeur - Prise en charge LSP avec une extension VS Code, une extension Zed et un plugin Claude Code, fournissant diagnostics, autocomplétion et coloration sémantique sans connexion à la base de données
- Propose un Web Playground fonctionnant en WASM dans le navigateur
- Utilisable comme bibliothèque Rust, Python, JavaScript (WASM) et C, avec installation via pip, Homebrew, Cargo, mise et une commande
curlen une ligne - Architecture à deux volets : parseur et tokenizer en C, formateur, validateur et LSP en Rust
- Licence Apache 2.0
Aucun commentaire pour le moment.