语法突出显示

我正在寻找一个通用的语法高亮库,输出到html。

它是在一个ruby应用程序中使用,所以一个ruby库会很好,但是一个很好的实用程序可以通过管道输入和输出

还需要猜测适当的语言来自己突出显示

基于HTML / CSS / JavaScript的语法高亮显示器解决方案是最受欢迎的,适用于包括Ruby在内的不同服务器技术。

  • SyntaxHighlighter (推荐)可以帮助开发人员/编码人员轻松地在线发布代码片段并让它看起来很漂亮。 这是100%基于Java脚本,它不关心您在服务器上的内容。

  • 在Rubyforge.org上突出显示各种语言库的语法 。 内置支持将源代码转换为语法高亮的HTML。

  • WordPress的SyntaxHighlighter 。 它允许您轻松发布语法突出显示的代码,而不会丢失其格式或进行手动更改。

  • 整理 。 一个Javascript模块和CSS文件,允许在html页面中突出显示源代码片段。

  • GeSHi – 通用语法荧光笔 。 GeSHi最初是为phpBB论坛系统创建通用语法高亮显示器的想法,但已经推广到这个项目。 GeSHi旨在成为一个简单但function强大的突出课程,具有以下目标:(1)支持多种流行语言(2)轻松添加新语言以突出显示(3)高度可定制的输出格式

  • JUSH是一个用JavaScript编写的语法高亮组件。 它突出了彼此嵌入的HTML,CSS,JS,PHP和SQL代码。 除语法突出显示外,它还提供指向所有受支持语言的文档的链接。

  • CodePlex.com上用于Windows Live Writer的SyntaxHighlighter (以防万一:)

这里有一些关于这个主题的博客文章:

  • Ruby的语法突出显示非常简单
  • Ruby中的语法高亮显示

您是否看过谷歌的语法荧光笔? 我相信SO使用它吗?

http://code.google.com/p/syntaxhighlighter/

编辑:其实我认为它是Prettify:

http://code.google.com/p/google-code-prettify/

一些选项是:

  • 语法 – 它真的很广泛,但我认为它有一些许可问题(语法是GPL)

  • Coderay – 我在我的博客上使用它,它非常有限,但function齐全

  • 支持大量语言的紫外线 (文本可以做的任何事情)

  • 如果您愿意与Python桥接,那么Pygments就支持大量语言

试试胭脂 。 它是纯粹的ruby,兼容pygments,并积极开发。

你可能想看看Colorer 。 它似乎没有Ruby的绑定,但是对于Perl和PHP,也许有人可以在此基础上为Ruby绑定绑定。

Scintilla可以与C ++代码一起使用。 我不知道有没有办法在Ruby中使用C ++应用程序。