Corrige #113: adiciona diagnósticos em tempo real para LMHT, FolEs, LinConEs e delprops - #125
Merged
leonelsanchesdasilva merged 5 commits intoJul 29, 2026
Conversation
…MHT, FolEs, LinConEs e delprops - LMHT: validar-lmht.ts — valida tags desconhecidas, atributos inválidos, aninhamento incorreto e tags não fechadas - FolEs: validar-foles.ts — reusa @designliquido/foles para erros léxicos, sintáticos e modificadores desconhecidos - LinConEs: integrado em analise-codigo/index.ts com @designliquido/lincones-js - delprops: validador-delprops.ts reescrito com API @designliquido/delprops (analisar, validar, registrar, obter, temRegistro) - extensao.ts e extensao-web.ts: conectados nos eventos de abertura, troca de editor e digitação para todas as 4 linguagens - Testes: 46 testes para delprops atualizados conforme comportamento real do pacote; suite completa (1061 testes) passa - TypeScript: npx tsc --noEmit sem erros
added 2 commits
July 29, 2026 09:53
… multi-linha em validar-lmht.ts
Combina as mudanças de ambas as branches: - Mantém garantirProvedoresLinguagem() para linguagens web (upstream) - Adiciona foles, lmht, lincones à lista de diagnósticos em tempo real (PR) - Mantém validação delprops no Web (PR) - Mantém onDidCreateFiles, onDidDeleteFiles, onDidRenameFiles (upstream)
O regex /<!--[\s\S]*?-->/g pode deixar <!-- no texto se não houver --> correspondente. Adiciona um segundo replace para remover qualquer <!-- sem fechamento até o final do arquivo, eliminando o alerta 'Incomplete multi-character sanitization' do CodeQL.
… comentários HTML O regex /<!--[\\s\\S]*?-->/g era rejeitado pelo CodeQL por poder deixar <!-- no texto quando não há --> correspondente. A nova função removerComentariosHtml() usa indexOf em um loop simples, sem regex de substituição, eliminando completamente o alerta de 'Incomplete multi-character sanitization'.
leonelsanchesdasilva
merged commit Jul 29, 2026
5648396
into
DesignLiquido:principal
4 checks passed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes #113
Descrição
Esta PR adiciona suporte completo de diagnósticos em tempo real para as quatro linguagens web restantes do ecossistema Líquido:
configuracao.delprops)Anteriormente, apenas oito linguagens possuíam análise em tempo real (
birl,delegua,delegua-testes,mapler,pitugues,portugolstudio,potigolevisualg). Com isso, erros nas linguagens web só eram detectados durante a execução, frequentemente causando falhas no servidor.Agora esses erros são exibidos diretamente no editor através do sistema de diagnósticos do VS Code.
Problema
A análise em tempo real cobria apenas oito linguagens, deixando sem validação as seguintes linguagens do ecossistema Líquido:
configuracao.delprops)Isso fazia com que erros como:
cor-de-fundoem vez decor-fundono FolEs;configuracao.delprops;fossem detectados somente em tempo de execução, podendo interromper a aplicação.
Na prática, erros simples de sintaxe deixavam de ser avisos no editor e se transformavam em falhas de runtime.
Solução
Foram adicionados provedores de diagnóstico para as quatro linguagens web, reutilizando os pacotes oficiais sempre que possível e implementando validadores próprios quando necessário.
LMHT
Arquivo
Implementado um validador próprio responsável por verificar:
FolEs
Arquivo
Reutiliza o pacote oficial:
Foram adicionadas validações para:
Lexador.mapear();AvaliadorSintatico.analisar();listaModificadoresdisponibilizada pelo pacote.LinConEs
Arquivo
Reutiliza o pacote:
através de importação dinâmica.
São reportados:
LexadorLinConEs.mapear();AvaliadorSintaticoLinConEs.analisar().delprops
Arquivo
O validador foi reescrito para utilizar a API oficial do pacote:
As validações incluem:
Sintaxe
=;Namespace incompleto
Detecta casos como:
onde o namespace foi utilizado incorretamente.
Propriedades desconhecidas
Verifica se a propriedade existe dentro do namespace correspondente.
Tipo incorreto
Exemplo:
quando o tipo esperado é lógico.
Valor não permitido
Exemplo:
quando apenas
jwté aceito.Tipo não reconhecido
Detecta valores sem aspas que não representam:
verdadeiro;falso.Além disso, o validador registra automaticamente os namespaces:
liquidoliquido.aplicacaoliquido.roteadorliquido.dadosliquido.autenticacaoutilizando
temRegistro()para evitar registros duplicados.Integração com a extensão
fontes/extensao.ts(Desktop)Foram atualizados os seguintes eventos:
onDidOpenTextDocumentexecutarAnalises()executarAnalises()executarAnalises()validarDelprops()onDidChangeActiveTextEditorMesmo comportamento do evento de abertura de documentos.
onDidChangeTextDocumenttentarFecharTagLmht();onDidCloseTextDocumentRemove os diagnósticos associados ao
diagnosticsDelprops.fontes/extensao-web.ts(Web)Recebeu as mesmas alterações da extensão Desktop.
Além disso, quando
configuracao.delpropsé salvo, as rotas dependentes são recalculadas automaticamente.Testes
Atualizado:
Principais mudanças:
@designliquido/delprops v0.3.0.Validação final:
npx tsc --noEmitexecutado sem erros.Arquivos alterados
fontes/analise-codigo/validar-lmht.tsfontes/analise-codigo/validar-foles.tsfontes/linguagens/delprops/validador-delprops.tsfontes/analise-codigo/index.tsfontes/extensao.tsfontes/extensao-web.tstestes/linguagens/delprops/validador-delprops.test.tsLimitações conhecidas
O pacote
@designliquido/delpropssuporta apenas strings entre aspas simples ('texto'), não aceitando aspas duplas ("texto").Comentários inline após um valor ainda não são tratados pelo parser.
Exemplo:
não é reconhecida pelo pacote, que utiliza:
como nome oficial da propriedade.
Resultado
Com esta PR, todas as linguagens suportadas pelo ecossistema Líquido passam a contar com diagnósticos em tempo real no editor.
Os desenvolvedores agora recebem feedback imediato para erros em:
reduzindo falhas em tempo de execução e melhorando significativamente a experiência de desenvolvimento.
Closes #113