Exporter un thème vim pour Pygments et consorts

En retouchant mon thème pour le blog j’ai voulu adapter le feuille de style css utilisée pour la colorisation syntaxique. M’étant inspiré des couleurs du thème snow.vim pour l’apparence globale du thème, autant l’utiliser également pour la colorisation. Et si possible ne pas avoir à la créer à la main.

Une requète sur Mastodon et une recherche sur Github plus tard je tombe sur Vim2Pygments. Le dépôt n’est plus maintenu depuis quelques années, mais je vais tout de même tenter le coup.

Je récupère le fichier vimpygments.py que je place dans le dossier contenant mon thème vim (~/.vim/bundle/snow/colors).
Je lance la commande suivante: python vimpygments.py snow.vim > snow.py
Ensuite je copie le fichier nouvellement crée dans le dossier où les styles Pygments sont installés (pour moi c’est /usr/lib/python3.6/site-packages/pygments/style/).
Un simple pygmentize -S snow -f html -a .chroma > snow.css et me voilà avec un fichier fonctionnel pour intégré à mon blog.

J’ai utilisé la classe chroma pour la génération car utilisant hugo c’est l’outils en golang equivalent à Pygments. Il est donc tout à fait possible d’utiliser ce script pour une utilisation avec Rouge également (équivalent écrit en ruby).
Vraiment facile et sans erreurs dans la génération, le look est adapté.

def distance_from_zero(args):
    if type(args) == int or type(args) == float:
        return abs(args)
    else:
        return "Nope"