syntaqlite - Analizador, formateador, validador y servidor de lenguaje SQL basado en la gramática y el tokenizador nativos de SQLite
(github.com/lalitMaganti)- Herramienta que compila y usa directamente en C la gramática generada por Lemon y el tokenizador de SQLite, eliminando las limitaciones del enfoque donde los analizadores SQL genéricos aproximan SQLite como un “flavor”
- Valida contra el esquema, sin conexión a la base de datos, los errores que detectaría
sqlite3_prepare; además, a diferencia desqlite3, reporta todos los errores en una sola pasada junto con su ubicación en el código fuente y sugerencias de corrección - Permite fijar una versión específica de SQLite como
--sqlite-version 3.32.0, para detectar de antemano sintaxis no soportada (RETURNING, etc.) en entornos con versiones antiguas de SQLite, como Android - Realiza validación que coincide exactamente con la compilación objetivo al reflejar 22 flags de compilación (
SQLITE_ENABLE_MATH_FUNCTIONS, etc.) - Aproximadamente 99.7% de coincidencia en aceptación de análisis frente a unas 396 mil sentencias del conjunto de pruebas upstream de SQLite
- Incluye un formateador SQL determinista con opciones para ancho de línea, mayúsculas/minúsculas de palabras clave e indentación
- Incluye una función experimental para extraer SQL de cadenas en Python y TypeScript y validarlo tras procesar huecos de interpolación
- Con el archivo de configuración del proyecto
syntaqlite.toml, el LSP, la CLI y el editor cargan automáticamente el mapeo de esquemas por glob y las opciones de formato - Con soporte LSP, ofrece extensión para VS Code, extensión para Zed y plugin para Claude Code, con diagnósticos, autocompletado y resaltado semántico sin conexión a la base de datos
- Ofrece un Web Playground que corre en el navegador con WASM
- Puede usarse como biblioteca para Rust, Python, JavaScript (WASM) y C; la instalación admite pip, Homebrew, Cargo, mise y un one-liner con curl
- Arquitectura dual donde el analizador y el tokenizador están implementados en C, y el formateador, el validador y el LSP en Rust
- Licencia Apache 2.0
Aún no hay comentarios.