Syntax Highlighter per Java
-
13-09-2019 - |
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.
Soluzione
Due questioni correlate:
Quale codice evidenziando librerie ci sono per Java? Dove posso trovare una evidenziazione della sintassi libreria per Java?
E una libreria ho trovato: http://colorer.sourceforge.net/
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.
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.