syntaqlite - parser, formatador, validador e servidor de linguagem SQL baseados na própria gramática e no tokenizador do SQLite
(github.com/lalitMaganti)- Ferramenta que usa a gramática gerada por Lemon e o tokenizador do SQLite compilados diretamente em C, eliminando as limitações da abordagem em que parsers SQL genéricos aproximam o SQLite como um “flavor”
- Valida erros detectados por
sqlite3_prepareem relação ao schema sem conexão com o banco, e, diferentemente dosqlite3, reporta todos os erros em uma única passada com localização no código-fonte e sugestões de correção - Permite fixar uma versão específica do SQLite, como
--sqlite-version 3.32.0, para detectar previamente sintaxes não suportadas (RETURNINGetc.) em ambientes com versões antigas do SQLite, como Android - Executa validação que corresponde exatamente ao build de destino com suporte a 22 flags de compilação (
SQLITE_ENABLE_MATH_FUNCTIONSetc.) - Taxa de concordância de aceitação de parsing de cerca de 99,7% em relação a aproximadamente 396 mil instruções do conjunto de testes upstream do SQLite
- Inclui formatador SQL determinístico com configuração de largura de linha, caixa de palavras-chave e indentação
- Inclui recurso experimental que extrai SQL de strings Python e TypeScript para validar após tratar lacunas de interpolação
- Com o arquivo de configuração de projeto
syntaqlite.toml, LSP, CLI e editor carregam automaticamente mapeamentos de schema por glob e opções de formatação - Com suporte a LSP, oferece extensão para VS Code, extensão para Zed e plugin para Claude Code, com diagnósticos, autocomplete e destaque semântico sem conexão com o banco
- Oferece um Web Playground que roda em WASM no navegador
- Pode ser usado como biblioteca em Rust, Python, JavaScript (WASM) e C, com instalação via pip, Homebrew, Cargo, mise e one-liner com curl
- Arquitetura em duas camadas: parser e tokenizador em C; formatador, validador e LSP implementados em Rust
- Licença Apache 2.0
Ainda não há comentários.