out of the box
Es gibt tausende Tools und Utilities für Linux. "out of the box" pickt sich die Rosinen raus und stellt pro Monat ein Progrämmchen vor, das wir für schlichtweg unentbehrlich oder aber zu Unrecht wenig beachtet halten.
Editoren mit Syntax-Highlighting gibt es viele, allerdings erlaubt es kaum einer, die formatierte und eingefärbte Darstellung zu speichern. Die Lücke füllt Highlight von André Simon, das allein diesem Zweck dient und unter der Adresse http://www.andre-simon.de/ zu beziehen ist. Natürlich befindet sich das Quelltext-Archiv highlight-1.3.tar.gz auch auf der Heft-CD. Da sich die Installation nicht im bekannten Dreisatz ./configure; make; make install erschöpft, legen wir zudem das Shell-Skript insthighlight.sh bei.
Diese beiden Dateien kopieren Sie in ein gemeinsames Verzeichnis. Dann starten Sie das Skript mit dem Kommando
sh insthighlight.sh
Im Verlauf der Installation fragt es Sie nach dem root-Passwort, weil es Schreibrechte im /usr/local-Zweig des Dateisystems braucht, genauer in /usr/local/bin und /usr/local/share/highlight.
Licht an
Für den ersten Einsatz des Programms reicht ein Aufruf in der Form
highlight -I quelldatei > ausgabedatei.html
Highlight erkennt den Typ der eingelesenen Datei an der Endung. Für die Ausgabe stehen drei Formate zur Verfügung: HTML mit Cascading Style Sheets (CSS), das Rich Text Format (RTF) und TeX.
Die Option -I bewirkt, dass die Style-Sheet-Definition in die Ausgabe-HTML-Datei integriert wird – ohne sie erzeugt das Programm eine separate Datei highlight.css im Arbeitsverzeichnis. Die entstandene Ausgabe können Sie sich in einem CSS-fähigen Browser ansehen. Abbildung 1 zeigt eine POV-Ray-Szenenbeschreibung, dargestellt von Mozilla.
Farben und Formen
Falls Ihnen die Farbwahl nicht gefällt, probieren Sie einfach einen anderen Stil aus. Dies geschieht mit der Option -s, gefolgt vom Stil-Namen. Meine persönlichen Favoriten sind blue und darkness. Eine Übersicht der vorhandenen Stile erhalten Sie mit dem Kommando
ls /usr/local/share/highlight/@L: *.style
Um herauszufinden, welche Quelltext-Arten Highlight unterstützt, geben Sie das Kommando
ls /usr/local/share/highlight/@L: *.lang
ein. Aufmerksame Leser stellen dabei fest, dass die für Abbildung 1 verwendete Sprachdefinitionsdatei pov.lang nicht zu den aufgelisteten Dateien gehört. Wir liefern sie zusätzlich auf der Heft-CD mit – kopieren Sie pov.lang einfach nach /usr/local/share/highlight!
Für den Fall, dass die Eingabedatei keine passende Endung im Namen trägt, geben Sie den Dateityp mit der Option -S gefolgt vom Namen der Syntaxdefinition vor und lassen die Eingabedaten mit < von der Standardeingabe lesen. Beispielsweise erkennt Highlight das persönliche Start-Skript ~/.bashrc nicht automatisch als Shell-Skript, weil die Endung .sh fehlt. Mit der entsprechenden Vorgabe klappt es:
highlight -I -S sh < ~/.bashrc > bashrc.html
Wer schön formatierten Code in ein Office-Dokument einbinden will, generiert mit der Option -R nicht HTML, sondern RTF als Ausgabeformat:
highlight -R quelldatei > ausgabedatei.rtf
Mit dem RTF-Importfilter von Open- oder StarOffice lesen Sie nun die Ausgabedatei in ein existierendes Dokument ein. Abbildung 2 zeigt als Beispiel das Installationsskript, eingebettet in ein StarOffice-Dokument.
Anwender des Satzsystems TeX werden sich freuen, dass Highlight auch eine Ausgabe in diesem Format anbietet. Hierfür lautet der Aufruf
highlight -T quelldatei > ausgabedatei.tex
Um aus der .tex-Datei ein PostScript-Dokument zu machen, das sich mit gv anzeigen (Abbildung 3) oder mit lpr drucken lässt, muss sie noch den TeX-Interpreter und das Konvertierungstool dvips passieren:
tex ausgabedatei.tex dvips ausgabedatei.dvi
Eine LaTeX-Ausgabe produziert die Option -L. Diese hat allerdings einen kleinen Schönheitsfehler: In der erzeugten Datei fehlt in der vorletzten Zeile eine geschweifte Klammer.



