metacode - lenguaje de comentarios declarativos y parser para estandarizar los action comments
(github.com/pomponchik)- 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: offy# 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]
- Separa con claridad herramienta, acción y argumentos en la forma
- 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
- Puede manejar combinaciones como
- 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.