Question

Je recherche un outil de ligne de commande open source et multiplateforme (Windows & et au moins Linux) permettant de prendre du code (C ++, mais plusieurs langues seraient utiles) et de cracher une représentation XHTML valide. de ce code, avec la coloration syntaxique incluse.

Idéalement, le XHTML devrait simplement envelopper le code avec des balises <span> et <div> avec différentes classes afin que je puisse fournir le code CSS et modifier la coloration, mais il s'agit d'un extra facultatif.

Quelqu'un est-il au courant d'une telle application?

Était-ce utile?

La solution

Je peux recommander les Pygments . Il est facile de travailler avec et prend en charge de nombreuses langues. Il fait ce que vous voulez, c’est-à-dire qu’il encapsule le code dans <span> tags:

from pygments import highlight
from pygments.lexers import PythonLexer
from pygments.formatters import HtmlFormatter

code = 'print "Hello World"'
print highlight(code, PythonLexer(), HtmlFormatter())

donne

<div class="highlight">
<pre><span class="k">print</span> <span class="s">&quot;Hello World&quot;</span></pre>
</div>

et vous pouvez ensuite utiliser l'une des feuilles de style fournies par make your own.

Vous pouvez également l'appeler via son pygmentize script. Le script peut formater la sortie de différentes manières: HTML, LaTeX, sortie de terminal couleur ANSI.

Autres conseils

Vim peut enregistrer tout code qu'il met en surbrillance dans & "; en couleur &"; HTML (il fonctionne sur plusieurs plates-formes). Il existe également GNU hightlight . Et des tonnes d'autres.

Il en existe une très bonne, motivée par XML, rapide et opensource: http://sourceforge.net/projects/colorer/

Je ne me souviens pas si GeSHi a un programme en ligne de commande, mais même s'il n'en a pas. , il ne devrait pas être difficile d’en préparer un. Il prend très bien le code et génère du code HTML / XHTML coloré, même avec des numéros de ligne (ou même tous les numéros de ligne X) et d’autres fonctionnalités utiles.

Enscript ressemble à ce que vous demandez:

  1. cracher du code HTML (ou PS ou RTF) à partir de fichiers ascii
  2. Il inclut des fonctionnalités permettant une "jolie impression" (mise en surbrillance du code sensible au langage) dans plusieurs langages de programmation.

Je ne sais pas à quel point cela sera utile, mais mon équipe utilise doxygen pour produire une documentation, qui fournit la coloration syntaxique des couleurs sur nos vues de code, ainsi qu'un bonus supplémentaire. Je n'en ai jamais vraiment eu besoin, mais ça le fait.

Si vous voulez utiliser ruby, vous souhaitez coderay .

Je vais ajouter le mien à la liste , il couleurs C # mais pourrait être adapté pour C, C ++ et Java. Il produit les styles en ligne par défaut et une balise pré.

La source est là en C #, vous devez vous saisir de mono / monodéveloppement et la compiler en tant qu’application console, pour qu’elle ne soit pas rétractée à cet égard.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top