Einzelnen Beitrag anzeigen

Benutzerbild von Codehunter
Codehunter

Registriert seit: 3. Jun 2003
Ort: Thüringen
2.272 Beiträge
 
Delphi 10.4 Sydney
 
#9

AW: SynHighlighter erweitern

  Alt 8. Sep 2012, 08:23
Also wenn du da was strickst, (am coolsten waere irgendwas automatisiertes was dir am Ende halt den Highlighter komplett rausspucken würde) Dann sag mal bescheid! Schönes WE
Naja, sowas wie einen kompletten Highlighter-Generator wird es nie geben. Zum einen hat jede Sprache ihre eigene Logik was Syntax angeht (bei PHP z.B. die Möglichkeit, Variablen direkt in Strings einzubetten, wenn diese in doppelte Hochkommas (Double-Quote) eingeschlossen sind. Da könnte man theoretisch ein AttributeSet für solche eingebetteten Variablen machen.

Zum zweiten sind Highlighter immer auch ein Stück weit dem persönlichen Geschmack des Entwicklers unterworfen, wie viele Features man einbauen möchte. Am obigen Beispiel könnte man auch sagen, eingebettete Variablen müssen nicht extra formatiert werden.

Was aber richtig ist und wo ich zustimme, alle Arbeiten an der SynEdit-Komponente nützen nichts, wenn die Highlighter die verfügbar sind, nur steinalte Sprachen beherrschen. Da muss man dringend nachlegen. Ich bin nämlich immernoch der Meinung, SynEdit ist leistungsfähiger als Scintilla, zumindest in der Delphi-Welt. Niemand würde einen Texteditor zum Entwickeln einsetzen wenn dieser die betreffende Sprache nicht unterstützt.

Leider wird an der Kernkomponente nur wenig gemacht. Es gab einige vielversprechende Forks (Mystix und Letterpress) doch beide sind inzwischen wieder eingeschlafen.

Für HTML5 müsste es relativ einfach sein. Denn das basiert ja nicht auf XHTML sondern dem älteren Standard HTML4. Und für den gibts ja schon einen Highlighter. Ich denke, da muss man auch nur ein paar Keywords ergänzen und einige wenige semantische Erweiterungen. Ebenso bei CSS3. Wobei man hier ehrlicherweise sagen muss, dass der verfügbare CSS-Highlighter noch nicht mal CSS2 komplett unterstützt

Für einige Sprachen könnte ich gar keinen Highlighter schreiben, denn manche kenne ich gar nicht. Man muss schon ein bisschen in der jeweiligen Sprache zuhause sein, sonst bekommt man keinen gescheiten Highlighter zusammen.
  Mit Zitat antworten Zitat