开源语法荧光笔工具?

Tho*_*omi 3 open-source syntax-highlighting

我正在寻找一个开源,跨平台(至少Windows和Linux)命令行工具来获取一些代码(C++,但多种语言会很好),并吐出有效的代码的XHTML表示,语法高亮包括在内.

理想情况下,XHTML应该只使用不同的类包装代码<span><div>标签,这样我就可以提供CSS代码并更改颜色,但这是一个可选的附加功能.

有谁知道这样的申请?

Mar*_*ler 9

我可以推荐Pygments.它很容易使用并支持很多语言.它做你想要的,即它将代码包装在<span>标签中:

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

code = 'print "Hello World"'
print highlight(code, PythonLexer(), HtmlFormatter())
Run Code Online (Sandbox Code Playgroud)

<div class="highlight">
<pre><span class="k">print</span> <span class="s">&quot;Hello World&quot;</span></pre>
</div>
Run Code Online (Sandbox Code Playgroud)

然后你可以使用自己提供的样式表之一.

您也可以通过它的pygmentize脚本调用它.该脚本可以以不同的方式格式化输出:HTML,LaTeX,ANSI颜色终端输出.