metacode - linguagem declarativa de comentários e parser para padronização de action comments
(github.com/pomponchik)- 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]
- Separa claramente ferramenta, ação e argumentos no formato
- 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
- Pode lidar com combinações como
- 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
insertpara 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.