AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

SynHighlighter erweitern

Ein Thema von Codehunter · begonnen am 7. Sep 2012 · letzter Beitrag vom 12. Sep 2012
 
nahpets
(Gast)

n/a Beiträge
 
#35

AW: SynHighlighter erweitern

  Alt 12. Sep 2012, 16:42
Hallo,

habe mir vor einiger Zeit einen eigenen Highlighter gebaut für Pascalscript von RemObjects mit Anpassungen für mein Programm. Als Basis habe ich den Highlighter für Pascal/Delphi genommen. Da mir das manuelle Anpassen zu viel Arbeit wurde, habe ich mir ein Pascalscript geschrieben, das aus einer Textdatei Codefragmente erstellt, die per {$I dateiname} in den Quelltext des Highlighters eingebunden werden. Damit kann ich mir die veränderlichen Fragmente eines Highlighter generieren.

Da nicht jeder Pascalscript zur Verfügung hat, habe ich das Pascalscript nach Delphi übertragen und hier rangehängt.

Das Programm benötigt als ersten Parameter den Namen einer Datei, die die zu verwendenen Zeichenfolgen (Schlüsselwörter...) und den Typen für TtkTokenKind enthält, je Zeile: Zeichenfolge|TtkTokenKind . Als zweiten Parameter erwartet es entweder die Zeichenfolge ROPS oder PHP, da es hier Unterschiede beim Aufbau der Hashtable gibt. Der Dateiname muss in der Form SynRopsSyn.Functionen.txt aufgebaut sein, da hieraus auch Teile des Quelltextes generiert werden.

Habe für vier Highlighter entsprechende Dateien beigefügt, die zum Testen und Weiterentwickeln geeignet sein sollten. Das Fragment mit einem Namen in der Form SynHighlighterROPS.PrivateFunc.inc ist im Abschnitt private des Highlighters hinter function KeyComp(const aKey: String): Boolean; einzufügen, das Fragment mit einem Namen in der Form SynHighlighterROPS.IdentFuncTable.inc muss in die procedure TSynROPSSyn.InitIdent; eingefügt werden und das Fragment mit einem Namen in der Form SynHighlighterROPS.FuncSource.inc wird im Implementierungsteil hinter function TSynROPSSyn.KeyComp(const aKey: String): Boolean; eingefügt und ersetzt den gesamten Quelltext bis vor function TSynROPSSyn.AltFunc: TtkTokenKind; .

Für PHP sind generierte Fragmente beigefügt.

Eventuell kann ja jemand, für die Anpassung vorhandener Highlighter, damit was anfangen.

Geändert von nahpets (21. Nov 2017 um 17:41 Uhr)
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:18 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz