Zum Inhalt

Code Beautification II

Ich glaube es zwar selbst kaum, aber ich habe den bisherigen Teil des Tages tatsächlich komplett darauf verwandt, mich mit Regular Expressions herumzuschlagen – und bin letztlich mit wenigen Ausnahmen wieder beim Skriptansatz von gestern gelandet.

Einigermaßen zufrieden bin ich allerdings trotzdem. Das Skript kann hier (leider nicht mehr) als Textdatei eingesehen werden. Hier hingegen wird (leider nicht mehr) das angehübschte Skript gezeigt. Falls ich das Skript weiterentwickele, aktualisiere ich die Dateien ebenfalls.

Wie zu erkennen ist, ersetze ich einige Elemente per str_replace und andere mittels preg_replace. Der Mausereignis-Handler on () zum Beispiel würde – als Keyword in $arCommands untergebracht und mit str_replace verarbeitet – dazu führen, dass die zwei Buchstaben „on“ überall, wo sie auftreten(!), in blau angezeigt werden würden, also auch in Kommentaren oder in Funktionsnamen. Anhand des Trace-Strings ist zu sehen, dass das „on“ dort nicht hervorgehoben wird.
Mir ist klar, dass das Syntax Highlighting in Flashs Entwicklungsumgebung um einiges intelligenter arbeitet und dass ich theoretisch für alle Keywords RegEx verwenden sollte, aber naja.

Die Anpassung der Farbwerte (z.Zt. nur zwei verschiedene, grün und blau) ist einfach durch eine entsprechende Änderung der zwei Variablen $makeBlue1 und $makeGreen1 zu bewerkstelligen.

Ferner ist zu erkennen, dass ich längst nicht alle ActionScript-Keywords in den zwei Arrays untergebracht habe, die die farbige Hervorhebung regeln. Stefkos Vorschlag, diese in externen Dateien zu lagern, ist sehr gut. Dennoch muss ich noch darüber nachdenken, wie weit ich diese Code Beautification treiben will, geht es doch nur um ein paar gelegentliche Codeschnipsel hier im WeBlog…

Ich habe noch keinen Schimmer, wie ich Kommentare (mehr- oder einzeilig) verschönere, also beispielsweise in grau anzeigen lasse. Ich kann zwar nach /* und */ suchen lassen, aber wie ich den Bereich dazwischen zu fassen bekomme, um ihn nach erfolgreichem Fund verändert anzuzeigen, geht zumindest momentan noch über meinen Horizont (Pattern als Ansatz: /\/\*.*\*\//).

Veröffentlicht inAllgemein
Loading Facebook Comments ...

Schreibe den ersten Kommentar

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.


Warning: Declaration of sk2_captcha_plugin::output_plugin_UI() should be compatible with sk2_plugin::output_plugin_UI($output_dls = true) in /www/htdocs/w00e0042/christianscholz.com/wp-content/plugins/SK2/sk2_plugins/sk2_captcha_plugin.php on line 70

Warning: Declaration of sk2_rbl_plugin::treat_this($cmt_object) should be compatible with sk2_plugin::treat_this(&$cmt_object) in /www/htdocs/w00e0042/christianscholz.com/wp-content/plugins/SK2/sk2_plugins/sk2_rbl_plugin.php on line 342

Warning: Declaration of sk2_pjw_simpledigest::output_plugin_UI() should be compatible with sk2_plugin::output_plugin_UI($output_dls = true) in /www/htdocs/w00e0042/christianscholz.com/wp-content/plugins/SK2/sk2_plugins/sk2_pjw_daily_digest_plugin.php on line 277

Warning: Declaration of sk2_referrer_check_plugin::output_plugin_UI() should be compatible with sk2_plugin::output_plugin_UI($output_dls = true) in /www/htdocs/w00e0042/christianscholz.com/wp-content/plugins/SK2/sk2_plugins/sk2_referrer_check_plugin.php on line 78