Pergunta

Como você sabe que há um marcador de sintaxe para PHP chamado GeSHi que suporta um grande número de linguagens de programação ou formatos de código.

No entanto, eu não poderia encontrar uma biblioteca para Java que suporta linguagens de programação que eu preciso (ADA, ASP, BNF, Bash, Brainfuck, C, C ++, C #, CSS, Cobol, ColdFusion, D, Fortran, Haskell , HTML, INI (config), Java, JavaScript, Lisp, Marca, Objective C, Pascal, Perl, PHP, PLSQL, Prolog, Python, ruby, Scheme, SQL, VB.NET, Verilog, VHDL, Visual Basic, XML. )

Você sabe que um ou deveria eu prefiro maneira ineficiente que está recuperando o código realçado a partir de um servidor PHP remoto via http transação? Alguma idéia?

Graças.

Outras dicas

Tenha um olhar em JHighlighter ou jEdit Sintaxe Package . Todos os idiomas mencionados não são suportados fora da caixa. No entanto, você tem as fontes, então eu acho que deve ser possível adicionar suporte a idiomas.

Não é uma resposta direta, mas, se destaque de sintaxe do lado do cliente é uma opção, o href="http://alexgorbatchev.com/" rel="nofollow noreferrer"> SyntaxHighlighter biblioteca de Alex Gorbatchev é uma biblioteca javascript incrível, suporta muitas línguas e é altamente extensível .

Você pode usar Pygments através Jython. não vai ser tão rápido como uma solução Java, mas muito mais rápido do que interagir com um servidor remoto.

Exceto isso, você pode executar Geshi localmente e código fonte tubo através dele, que também bater um HTTP ida e volta.

Parece que é possível executar GeSHi de Java: GeSHi4J parece ser um invólucro que executar a biblioteca PHP na JVM.

Há um porto de prettify.js para Java: java-embelezar .

Ele pode ser usado para produzir HTML (calculado em Java), como já discutido aqui: Use o analisador java-embelezar para criar HTML

jedit é um editor de texto com destaque de sintaxe suporte para alguns 170+ idiomas via "modos". Ele também permite que você especifique seus próprios sintaxes. Você pode usar o componente StandaloneTextArea em seu próprio aplicativo da seguinte forma:

  • fonte Extract (por exemplo: jedit4.3source.tar.bz2 para d: \ source \ jedit)
  • Use formiga para copiar todos os arquivos textarea para .. \ textarea por exemplo:

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

  • No entanto, ele perde o BufferUndoListener.java arquivo. Copie este manualmente executando

    D: \ Fonte \ jedit \ jEdit> copiar org \ GJT \ sp \ jedit \ tampão \ BufferUndoListener.java .. \ área de texto \ src \ org \ GJT \ sp \ jedit \ tampão \

  • Em Eclipse criar um projeto Java da fonte existente no diretório D: \ Source \ jedit \ textarea

  • Navegue até org.gjt.sp.jedit.textarea.StandaloneTextArea.java
  • Alterar a linha
mode.setProperty("file","modes/xml.xml");

para

mode.setProperty("file","src/modes/xml.xml");
  • Executar. Copie e cole um XML para o editor e veja o destaque de sintaxe está funcionando.

Um par de marcadores que o trabalho realmente bem são:

Ambos são fáceis de implementar lado do cliente, e apoiar uma ampla variedade de idiomas. Eles também têm uma gama considerável de temas CSS que fazem o olhar um código como ele faz em seu editor favorito.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top