- Biblioteca propuesta para unificar en un solo estándar los comentarios especiales (action comments) que usan las herramientas de lint, formateo, type checking y cobertura del ecosistema de Python
- Su objetivo es resolver la confusión de una sintaxis de comentarios que en la práctica es una convención, pero no tiene un estándar, como
# noqa, # fmt: off y # type: ignore
- Define un lenguaje ligero de comentarios (metacode) que usa un subconjunto de la gramática de Python
- Separa con claridad herramienta, acción y argumentos en la forma
key: action[arguments]
- Soporta una estructura para que coexistan de forma segura varios comentarios para distintas herramientas en una sola línea de código
- Puede manejar combinaciones como
# type: ignore # fmt: off
- Proporciona un parser oficial (
parse) para analizar comentarios, eliminando la lógica de parsing con cadenas y expresiones regulares que cada herramienta implementaba por su cuenta
- Soporta como tipos de argumentos cadenas, números, bool, None, ellipsis, etc., y permite parsing extendido basado en AST cuando sea necesario
- Puede parsear de forma selectiva solo ciertas keys, por lo que es adecuado para procesar por separado los comentarios de cada herramienta
- Incluye una API de inserción (
insert) para generar e insertar comentarios automáticamente
- La sintaxis en sí está especificada en formato EBNF para no depender de Python, por lo que también puede implementarse en otros lenguajes
Aún no hay comentarios.