Domanda

Come sapete c'è un evidenziatore di sintassi per PHP chiamato GeSHi che supporta un gran numero di linguaggi di programmazione o di formati di codice.

Tuttavia, non ho potuto trovare un tale libreria per Java che supporta i linguaggi di programmazione che ho bisogno (ADA, ASP, BNF, Bash, Brainfuck, C, C ++, C #, CSS, Cobol, ColdFusion, D, Fortran, Haskell , HTML, INI (Config), Java, JavaScript, Lisp, Make, Objective C, Pascal, Perl, PHP, PLSQL, Prolog, Python, Ruby, Scheme, SQL, VB.NET, Verilog, VHDL, Visual Basic, XML. )

Sai una o dovrebbe preferisco modo inefficiente, che sta recuperando il codice evidenziato da un server remoto tramite PHP transazione HTTP? Tutte le idee?

Grazie.

Altri suggerimenti

Dai un'occhiata alla JHighlighter o jEdit Sintassi pacchetto. Tutte le lingue di cui non sono supportate out of the box. Tuttavia, si hanno i sorgenti, quindi credo che dovrebbe essere possibile aggiungere il supporto della lingua.

Non è una risposta diretta, ma, se la sintassi lato client evidenziazione è un'opzione, il SyntaxHighlighter libreria da Alex Gorbatchev è una libreria javascript impressionante, supporta un sacco di lingue ed è altamente estensibile .

Si potrebbe utilizzare Pygments attraverso Jython. Non sarà veloce come una soluzione Java, ma molto più veloce di interagire con un server remoto.

A parte ciò, è possibile eseguire Geshi a livello locale e il codice sorgente del tubo attraverso di essa, che sarebbe anche battere un andata e ritorno HTTP.

Sembra che sia possibile eseguire GeSHi da Java: GeSHi4J sembra essere un wrapper che gestisce l'libreria PHP sulla JVM.

Non è un porto di prettify.js per Java: java-prettify .

Può essere usato per produrre HTML (calcolato in Java), come ho discusso qui: Utilizzare il parser java-Prettify per creare HTML

jedit è un editor di testo con evidenziazione della sintassi supporto per alcune lingue tramite 170 + "modi". Consente inoltre di specificare le proprie sintassi. È possibile utilizzare il componente StandaloneTextArea nella propria applicazione come segue:

  • fonte Extract (ad esempio: jedit4.3source.tar.bz2 al d: \ origine \ jedit)
  • Utilizza formica per copiare tutti i file textarea per .. \ textarea ad esempio:

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

  • Tuttavia, manca il file BufferUndoListener.java. Copiare manualmente eseguendo

    D: \ Source \ jedit \ jEdit> copiare org \ GJT \ sp \ jedit \ tampone \ BufferUndoListener.java .. \ textarea \ src \ org \ GJT \ sp \ jedit \ tampone \

  • In Eclipse creare un progetto Java da sorgente esistente nella directory D: \ Source \ jedit \ textarea

  • Accedere alla org.gjt.sp.jedit.textarea.StandaloneTextArea.java
  • Modificare la riga
mode.setProperty("file","modes/xml.xml");
     

a

mode.setProperty("file","src/modes/xml.xml");
  • Esegui. Copiare e incollare un XML nell'editor e vedere l'evidenziazione della sintassi sta lavorando.

Un paio di evidenziatori che funzionano davvero bene sono:

Entrambi sono facili da implementare lato client, e supportare una vasta gamma di lingue. Essi hanno anche una vasta gamma di temi bel CSS che rendono il codice aspetto come fa nel vostro editor preferito.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top