metacode - un langage de commentaires déclaratif et un parseur pour standardiser les action comments
(github.com/pomponchik)- Bibliothèque proposée pour unifier en un seul standard les commentaires spéciaux (action comments) utilisés par les outils de lint, formatters, type checkers et de couverture de l’écosystème Python
- Vise à résoudre la confusion autour de syntaxes de commentaires devenues de facto des conventions, mais sans standard, comme
# noqa,# fmt: off,# type: ignore - Définit un langage léger de commentaires (metacode) utilisant un sous-ensemble de la grammaire Python
- Sépare clairement outil, action et arguments sous la forme
key: action[arguments]
- Sépare clairement outil, action et arguments sous la forme
- Prend en charge une structure permettant de faire coexister en toute sécurité plusieurs commentaires destinés à différents outils sur une même ligne de code
- Peut traiter des combinaisons comme
# type: ignore # fmt: off
- Peut traiter des combinaisons comme
- Fournit un parseur officiel (
parse) pour l’analyse des commentaires, supprimant la logique de parsing par chaînes de caractères ou expressions régulières que chaque outil implémentait séparément - Prend en charge comme types d’arguments les chaînes, nombres, booléens,
None, ellipsis, etc., avec possibilité d’un parsing extensible basé sur l’AST si nécessaire - Permet de parser sélectivement certaines clés seulement, ce qui le rend adapté au traitement séparé des commentaires par outil
- Fournit une API
insertpour générer et insérer automatiquement des commentaires - La syntaxe elle-même est spécifiée sous forme d’EBNF afin de ne pas dépendre de Python et de permettre des implémentations dans d’autres langages
Aucun commentaire pour le moment.