Giving Back: Eine WordPress-Erweiterung für den Panic-Editor „Nova“

Jahrelang war mein Editor der Wahl Coda von Panic. Ein Mac-nativer Editor, der mit Zusatzfunktionen wie SSH-Terminal und FTP-Browser direkt mehrere Tools vereinte. Für meine Ansprüche und Einsatzzwecke war dies immer absolut ausreichend, ich habe nichts wirklich vermisst.

Vor kurzem erschien nach langer Entwicklungszeit und vorheriger Closed Beta, an der ich auch teilgenommen habe, der Nachfolger aus dem Hause Panic: Nova. Was alles genau unter der Haube steckt, kann sich jeder auf der Nova-Website ansehen. Für mich am herausragendsten ist die Geschwindigkeit, die Nova an den Tag legt. Durch die native „Bauweise“ ist der Editor extrem flüssig.

Nova von Panic

Bereits der nun ausgediente Coda-Editor konnte mit Extensions angepasst und erweitert werden. Für mich immer sehr praktisch war die Autovervollständigung von WordPress-Funktionen, die ein netter Entwickler als Erweiterung angeboten hatte. Mit dem Erscheinen von Nova fragte ich mich also: Wird das wieder kommen? Und als Folgefrage: Warum kümmere ich mich nicht einfach selbst darum, dass es so eine Erweiterung wieder gibt?

Do it yourself: Autovervollständigung von WordPress Funktionen in Nova

Gesagt, getan. Oder nein, nicht so einfach direkt getan. Was braucht’s für diese kleine Erweiterung?

Zunächst habe ich mich auf die Suche begeben, wo man alle WordPress Funktionen gesammelt und in strukturierter Weise abrufen kann. Anfangs dachte ich daran, die Code Reference auf developer.wordpress.org zu scrapen und mir die Funktionen und zusätzliche Infos dort zusammenzutragen. Haken: Wenn man nicht auf wordpress.org angemeldet ist, kann man nicht auf die vollständige Code Reference zugreifen. Nach kurzem Chat mit dem WordPress Docs Team über Slack, die diesen Umstand bestätigten, war diese Möglichkeit raus.

Über die WordPress Docs bin ich dann auf den WordPress PHPDoc Parser bzw. WP-Parser aufmerksam geworden. Dieser wird genutzt, um aus dem WordPress-Quellcode die Code Reference zu generieren. Dabei werden die Funktionen und auch Kommentare aus dem Quellcode extrahiert und als Datensätze innerhalb einer WordPress-Installation gespeichert.

Also kurzerhand (eigentlich langerhand) eine lokal WordPress-Instanz aufgesetzt, den WP-Parser mit Composer installiert und über WP-CLI angeschmissen, und zack – eine saubere Liste aller Funktionen, Hooks und Klassen. Daraus dann über einen normalen Query und Loop die nötigen Daten extrahiert und als JSON ausgegeben, und diese in eine Nova-Erweiterung gepackt. Der einfachste Schritt war dann die Veröffentlichung der Erweiterung. Das Ergebnis ist die recht banale Funktionalität, im Editor Vorschläge und Autovervollständigung zu erhalten:

Autovervollständigung von WordPress Core Funktionen

Und da ist sie nun, die Erweiterung, die Autovervollständigung von WordPress-Funktionen in Nova bringt:

Natürlich lässt sich die Erweiterung auch komfortabel direkt in Nova, über die Erweiterungsbibliothek, laden.

Ich werde versuchen mindestens bei großen WordPress-Releases die Erweiterung mit aktuellen Funktionen zu aktualisieren. Fingers crossed, dass ich hier am Ball bleibe 🙂

Einen Kommentar hinterlassen