Editor Plugins
Der eingebaute Praat-Skript-Editor ist bestens geeignet für schnelle Skripte zwischendurch. Für die Entwicklung komplexer Skripte lohnt sich jedoch der Blick auf einen ausgewachsenen externen Editor. Solche Code-Editoren, wie z.B. Notepad++ (Windows), TextMate/TextWrangler (Mac), Kate/Gedit (Linux) oder Sublime Text (Windows, Mac, Linux), bieten Funktionen, die das Entwickeln produktiver und komfortabler machen, wie z.B.
- farbige Syntaxhervorhebung
- automatische Vervollständigung
- automatische Ein- und Ausrückung
- Einfalten von zusammengehörigem Code
- Multiselektion
- gleichzeitiges Editieren mehrerer Zeilen
- Makros
und manches mehr. Viele dieser Funktionen sind sprachabhängig, d.h. um mit solchen Editoren sinnvoll Praat-Skripte entwickeln zu können, muss man ihnen zunächst mithilfe von Plugins die Eigenheiten der Praat-Skript-Sprache beibringen. Genau das ist die Aufgabe der im folgenden aufgelisteten Plugins.
Command History
Der (aus meiner Sicht) einzige kleine Nachteil externer Editoren besteht darin, dass man auf die Command History verzichten muss; aber natürlich kann man sich mit einem geöffneten Skript-Editor in Praat behelfen, um dort bei Bedarf die Command History zu nutzen und die Befehle dann in den externen Editor zu kopieren.
Sublime Text Plugin
Mein Plugin für den Editor Sublime Text bietet:
- Kommentarerkennung
- Definitionen für automatisches Ein- und Ausrücken
- ein paar Code-Schnipsel (mehr Code-Schnipsel gibt es in Mauricio Figueroas Plugin oder man baut sie sich einfach selbst)
- farbige Syntaxhervorhebung (gemäß der aktuellen Syntax seit Praat 5.3.63; ältere Syntaxversionen werden auch weitgehend unterstützt)
- Definitionen für Code-Faltung
- ein angepasstes, für die Praat-Syntax optimiertes Solarized Light Theme
- ein einfaches Build-System
Das Build-System ist eine Spezialität von Sublime Text und ermöglicht es, Praat-Skripte innerhalb von Sublime Text zu starten, um sie ganz normal innerhalb von Praat auszuführen, d.h. man muss die in Sublime Text entwickelten Skripte nicht erst in den Praat Skript-Editor kopieren, um sie dann auszuführen, sondern drückt einfach in Sublime Text die Standardtastenkombination für Build-Systeme (ctrl-B bzw. cmd-B). Diese Tastenkombination aktiviert Praat und führt das aktuell in Sublime Text editierte Skript aus – sehr bequem! Einzig form..endform funktioniert auf diese Weise nicht. Solche Skripte müsen im Skript-Editor ausgeführt werden oder man verwendet stattdessen beginPause..endPause (was außerdem noch flexibler und ‚moderner‘ ist als das etwas angestaubte form..endform).
So sieht ein Praat-Skript in Sublime Text mit aktiviertem Praat-Plugin aus:
Eine Auto-Vervollständigung für Praat-Befehle finde ich nicht besonders hilfreich, daher fehlt eine entsprechende Definition in meinem Plugin (Auto-Vervollständigung von Variablennamen finde ich dagegen sehr sinnvoll, aber das ist ohnehin in Sublime Text eingebaut). Wer das möchte, kann die Datei Praat.sublime-completions von Mauricio Figueroas Plugin nach Packages/Praat/ kopieren oder gleich dessen Sublime-Plugin verwenden. Das bietet außerdem mehr Code-Schnippsel, allerdings kein Build-System. Mein Build-System kann aber einfach in Mauricios Plugin integriert werden (die Dateien Praat.sublime-build, runPraatScript.sh sowie runPraatScript.bat aus meinem Plugin-Verzeichnis in seines kopieren – fertig).
Download und Installation
Hier können Sie das Sublime-Plugin als zip-Archiv herunterladen:
Um das Plugin zu installieren, entpacken Sie das zip-Archiv in das Packages-Verzeichnis Ihrer Sublime-Installation (Sublime Text 3 oder 4).
Wenn Sie das Build-System mit Praat-Versionen älter als 6.2.05 benutzen wollen, benötigen Sie außerdem noch das sendpraat-Hilfsprogramm. Aktivieren Sie im Plugin einen der auskommentierten sendpraat-Befehle und passen Sie die Pfade zu sendpraat an. Navigieren Sie dazu in das Plugin-Verzeichnis (Packages/SublimePraat/) und editieren Sie folgenden Dateien:
- Mac- und Linux-Nutzer: runPraatScript.sh
- Windows-Nutzer: runPraatScript.bat
Plugins von anderen Entwicklern
Von José Joaquín Atria gibt es eine Language Definition für Kate. Mauricio Figueroa entwickelt ebenfalls ein Plugin für Sublime Text. Stefano Coretta hat Mauricios Plugin in ein Language Package für Atom konvertiert. Notepad++ wird von Scott Sadowsky mit Syntax Highlighting versorgt. Und es gibt ein Syntax File für Vim von Mart Lubbers. Ace, ein in JavaScript geschriebener Editor, der in Webseiten eingebettet werden kann, beherrscht auch Syntax Highlighting für Praat.
Unvollständige, veraltete Plugins
Mit den folgenden Pugins können die jeweiligen Editoren die Syntax von Praat-Skripts farblich hervorheben. Die Plugins für TextWrangler und jEdit sind eher rudimentär, aber durchaus brauchbar. Die Plugins für TextMate funktioniert am besten und ermöglich z.B. auch code folding. Alle Plugins dürfen beliebig kopiert, verändert und weitergegeben werden, sind ohne Gewähr und werden von mir nicht mehr weiterentwickelt.
- Bundle für TextMate (neue Syntax): TextMate bundle
- Language Grammar für TextMate (alte Syntax): praat_language
- Edit-Mode für jEdit (alte Syntax): praat.xml
- Language Module für TextWrangler / BBEdit (alte Syntax): praat.plist