8

如您所知,有一个名为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 服务器检索突出显示的代码的低效方式?有任何想法吗?

谢谢。

4

6 回答 6

9

两个相关问题:

Java 有哪些代码高亮库? 在哪里可以找到 Java 的语法高亮库?

我发现了一个图书馆:http: //colorer.sourceforge.net/

于 2009-12-05T21:01:49.337 回答
5

看看JHighlighterjEdit Syntax Package。并非开箱即用支持所有提到的语言。但是,您有资源,所以我想应该可以添加语言支持。

不是一个直接的答案,但如果客户端语法高亮是一个选项,Alex Gorbatchev 的SyntaxHighlighter库是一个很棒的 javascript 库,支持多种语言并且高度可扩展

于 2009-12-05T20:59:30.003 回答
3

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

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

于 2009-12-05T21:02:32.917 回答
1

似乎可以从 Java 运行 GeSHi:GeSHi4J似乎是在 JVM 上运行 PHP 库的包装器。

于 2013-10-26T17:51:24.170 回答
1

Java有一个prettify.js端口:java-prettify

它可以用来生成 HTML(用 Java 计算),正如我在这里所讨论的: 使用 java-prettify 解析器来创建 HTML

于 2014-07-11T12:03:18.660 回答
0

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

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

    D:\Source\jedit\jEdit> ant prepare-textArea

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

    D:\Source\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 复制并粘贴到编辑器中,然后查看语法突出显示是否有效。
于 2010-01-28T03:53:01.373 回答