用于Java的语法Highlighter

时间:2009-12-05 20:51:22

标签: java syntax-highlighting geshi

如您所知,有一个名为GeSHi的PHP语法荧光笔支持大量编程语言或代码格式。

但是,我找不到这样的Java库,它支持我需要的编程语言(ADA,ASP,BNF,Bash,Brainfuck,C,C ++,C#,CSS,Cobol,ColdFusion,D,Fortran,Haskell) ,HTML,INI(配置),Java,JavaScript,Lisp,Make,Objective C,PASCAL,Perl,PHP,PLSQL,Prolog,Python,Ruby,Scheme,SQL,VB.NET,Verilog,VHDL,Visual Basic,XML。 )

您是否知道一个或者我是否应该选择通过http事务从远程PHP服务器检索突出显示的代码的低效方式?有什么想法吗?

感谢。

7 个答案:

答案 0 :(得分:8)

答案 1 :(得分:5)

查看JHighlighterjEdit Syntax Package。所有提及的语言都不支持开箱即用。但是,你有源,所以我想应该可以添加语言支持。

不是直接的答案,但是,如果客户端语法突出显示是一个选项,Alex Gorbatchev的SyntaxHighlighter库是一个很棒的javascript库,支持很多languages并且高度{{3} }。

答案 2 :(得分:3)

您可以通过Jython使用Pygments。不会像Java解决方案那么快,但比与远程服务器交互要快得多。

除此之外,您可以在本地运行Geshi并通过它管道源代码,这也将击败HTTP往返。

答案 3 :(得分:1)

似乎可以从Java运行GeSHiGeSHi4J它似乎是在JVM上运行PHP库的包装器。

答案 4 :(得分:1)

Java端口prettify.jsjava-prettify

它可用于生成HTML(用Java计算),正如我在这里讨论的那样: Use the java-prettify parser to create HTML

答案 5 :(得分:0)

jedit是一个文本编辑器,通过“模式”突出显示支持170多种语言的语法。它还允许您指定自己的语法。您可以在自己的应用程序中使用StandaloneTextArea组件,如下所示:

  • 提取源(例如:jedit4.3source.tar.bz2到d:\ source \ jedit)
  • 使用ant将所有textarea文件复制到.. \ textarea,例如:

    d:\源\ jEdit的\ jEdit的> ant prepare-textArea

  • 但是,它错过了文件BufferUndoListener.java。通过执行

    手动复制

    d:\源\ jEdit的\ jEdit的>复制org \ gjt \ sp \ jedit \ buffer \ BufferUndoListener.java .. \ textarea \ src \ org \ gjt \ sp \ jedit \ buffer \

  • 在Eclipse中,从目录D:\ Source \ jedit \ textarea

  • 中的现有源创建Java项目
  • 导航至org.gjt.sp.jedit.textarea.StandaloneTextArea.java
  • 更改行
mode.setProperty("file","modes/xml.xml");
     

mode.setProperty("file","src/modes/xml.xml");
  • 运行。将XML复制并粘贴到编辑器中,然后查看语法突出显示是否有效。

答案 6 :(得分:0)

一些效果很好的荧光笔是:

两者都易于实现客户端,并支持多种语言。它们还有一系列可观的css主题,使代码看起来就像你喜欢的编辑器一样。