- Biblioteca proposta para unificar em um único padrão os comentários especiais (action comments) usados por ferramentas de lint, formatadores, type checkers e ferramentas de cobertura do ecossistema Python
- O objetivo é resolver a confusão de sintaxe de comentários que é de fato uma convenção, mas sem padrão definido, como
# noqa, # fmt: off, # type: ignore
- Define uma linguagem leve de comentários (metacode) que usa um subconjunto da sintaxe de Python
- Separa claramente ferramenta, ação e argumentos no formato
key: action[arguments]
- Suporta uma estrutura para fazer vários comentários de ferramentas coexistirem com segurança em uma única linha de código
- Pode lidar com combinações como
# type: ignore # fmt: off
- Fornece um parser oficial (
parse) para parsing de comentários, eliminando a lógica de parsing com strings e regex que cada ferramenta implementava por conta própria
- Suporta como tipos de argumento string, número, bool, None, ellipsis etc., e, se necessário, permite parsing estendido com base em AST
- É possível fazer parsing seletivo de apenas chaves específicas, o que o torna adequado para tratamento separado de comentários por ferramenta
- Fornece uma API
insert para gerar e inserir comentários automaticamente
- A própria sintaxe é especificada em formato EBNF para não ficar presa ao Python, permitindo implementações em outras linguagens
Ainda não há comentários.