Tree-Sitter

O predicado que ninguém chamou

Go tree-sitter static-analysis ollanta CGo
Como uma linha de código ausente fez 20 regras de análise estática produzirem centenas de falsos positivos por meses

O Tree-sitter é uma biblioteca que produz árvores sintáticas concretas para dezenas de linguagens. Diferente de um parser tradicional que produz AST, tree-sitter foi projetado para editores de código e ele é incremental, tolerante a erros e capaz de reanalisar um arquivo em milissegundos após uma edição. O Neovim, Atom (RIP), Zed e o próprio GitHub usam tree-sitter para syntax highlighting, folding e code navigation.

O Ollanta usa tree-sitter de uma forma diferente: para análise estática. Em vez de realçar sintaxe, ele usa S-expressions para detectar padrões problemáticos no código-fonte:

Leia mais →