Pergunta

Estou procurando uma ferramenta de linha de comando de código aberto, Cross Platform (Windows & Linux) para pegar algum código (C ++, mas vários idiomas seriam doces) e cuspindo uma representação válida de uma XHTML desse código, com destaque da sintaxe incluído.

Idealmente, o XHTML deve apenas embrulhar o código com <span> e <div> Tags com classes diferentes para que eu possa fornecer o código CSS e alterar a coloração, mas isso é um extra opcional.

Alguém conhece esse aplicativo?

Foi útil?

Solução

Eu posso recomendar Pigmentos. É fácil trabalhar e suporta muitos idiomas. Faz o que você quer, ou seja, envolve o código <span> Tag:

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

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

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

E você pode usar uma das folhas de estilo fornecidas.

Você também pode chamá -lo por meio pygmentize roteiro. O script pode formatar a saída de maneiras diferentes: HTML, LATEX, Saída do terminal de cores ANSI.

Outras dicas

Vim Pode salvar qualquer código que destaque no HTML "colorido" (ele é executado em várias plataformas). Há GNU Hightlight também. E toneladas de outros.

Há muito bom, impulsionado por XML, rápido e OpenSource: http://sourceforge.net/projects/colorer/

Eu não me lembro se Geshi Tem um programa de linha de comando, mas mesmo que não, não deve ser difícil preparar um. Ele faz um ótimo trabalho ao pegar código e gerar HTML/XHTML bonito e colorido, mesmo com números de linha (ou todos os números de linha X, até) e outros recursos úteis.

Enscript Parece o que você está pedindo:

  1. cuspir html (ou ps, ou rtf) de arquivos ASCII
  2. Inclui recursos para 'impressão bonita' (destaque de código sensível ao idioma) em várias linguagens de programação.

Não tenho certeza de quão útil isso será, mas minha equipe usa doxygen para produzir documentação, que por acaso fornece a sintaxe de cores destacando em nossas visualizações de código, bem como um bônus lateral. Nunca realmente precisava disso, mas é isso.

Se você está bem em usar ruby, você quer coderay.

Vou acrescentar meu próprio para a lista, ele colora C#, mas pode ser adaptado para C, C ++ e Java. Produz os estilos embutidos por padrão e uma pré -etiqueta.

A fonte está lá em C#, você precisará pegar o Mono/Monodevelo e compilá -lo como um aplicativo de console, para que não seja encolhido nesse aspecto.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top