代码之家  ›  专栏  ›  技术社区  ›  Thomi

开源语法高亮工具?[关闭]

  •  3
  • Thomi  · 技术社区  · 17 年前

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

    理想情况下,XHTML应该只是用 <span> <div> 带有不同类的标签,这样我就可以提供CSS代码并更改颜色,但这是可选的额外内容。

    有人知道这样的应用程序吗?

    8 回复  |  直到 16 年前
        1
  •  9
  •   Martin Geisler    16 年前

    我可以推荐 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())
    

    提供

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

    然后,您可以使用提供的make样式表之一。

    你也可以通过它来称呼它 pygmentize 脚本。该脚本可以以不同的方式格式化输出:HTML、LaTeX、ANSI彩色终端输出。

        2
  •  4
  •   PW.    17 年前

    Vim 可以将它突出显示的任何代码保存为“彩色”HTML(它在多个平台上运行)。这是 GNU hightlight 我也是。还有很多其他人。

        3
  •  3
  •   Sergey Skoblikov    17 年前

    有一个非常好的,由XML驱动,快速且开源: http://sourceforge.net/projects/colorer/

        4
  •  2
  •   Chris Charabaruk    17 年前

    我不记得是否 GeSHi 有一个命令行程序,但即使没有,也不难编写一个。它在获取代码和生成漂亮的彩色HTML/XHTML方面做得很好,即使有行号(甚至每个X行号)和其他有用的功能。

        5
  •  1
  •   shodanex    17 年前

    Enscript 看起来像你要的:

    1. 从ascii文件中提取HTML(或PS,或RTF)
    2. 它包括几种编程语言中的“漂亮打印”(语言敏感的代码突出显示)功能。
        6
  •  0
  •   f4nt    17 年前

    不确定这会有多大帮助,但我的团队使用doxygen来生成文档,这恰好在我们的代码视图上提供了彩色语法高亮显示,还有一个额外的好处。从来没有真正需要它,但它做到了。

        7
  •  0
  •   Subimage    17 年前

    如果你同意使用ruby,你需要 coderay .

        8
  •  0
  •   Chris S    16 年前

    我会补充的 my own one to the list ,它为C#着色,但可以适用于C、C++和Java。 默认情况下,它会生成内联样式和预标记。

    源代码在C#中,您需要获取mono/mondevelop并将其编译为控制台应用程序,因此在这方面它不会被压缩。

    推荐文章