Seit Version 3.19 stellt die Komponente gb.highlight Text-Highlighter zur Verfügung. Die Komponente enthält drei Klassen:
TextHighlighter: Diese Klasse ist die übergeordnete Klasse aller Text-Highlighter und ermöglicht die Erzeugung eines benutzerdefinierten Text-Highlighters auf der Basis einer Definitionsdatei. TextHighlighterStyle: Diese Klasse repräsentiert einen Style, der zum Hervorheben bestimmter Textabschnitte verwendet wird. TextHighlighterTheme: Diese Klasse implementiert ein Text-Highlighter-Thema.
In Anlehnung an https://de.wikipedia.org/wiki/Syntaxhervorhebung versteht man unter Syntaxhervorhebung: „Syntaxhervorhebung oder Syntax-Highlighting ist die Fähigkeit eines Computerprogrammes, bestimmte Wörter und Zeichenkombinationen in einem Text abhängig von ihrer Bedeutung in unterschiedlichen Farben, Schriftarten und -stilen darzustellen. … Hervorgehoben werden dabei etwa Schlüsselwörter und andere Sprachelemente; Bezeichner und Wertzuweisungen von Variablen werden voneinander abgesetzt; Kommentare werden kontrastierend dargestellt.“
Das Text-Highlighting im Quelltext-Editor vom Typ 'TextEditor' (gb.form.editor) in der Gambas-IDE verwendet die Klassen der Komponente gb.highlight:
Abbildung 1: Quelltext-Editor mit Text-Highlighting (Gambas)
Gegenwärtig (September 2024) sind folgende Text-Highlighter in Gambas verfügbar, deren (interne) Namen Sie sich mit der folgenden Prozedur ausgeben lassen können:
Private Sub GetHighlightersList() Print "List of all registered (standard) text-highlighters:" Print String$(52, "-") Print TextHighlighter.List.Join() End
Liste der (internen) Namen der Text-Highlighter in der Konsole der IDE:
List of all registered (standard) text-highlighters: ---------------------------------------------------- c,cplusplus,css,diff,gambas,highlight,html,javascript,sh,sql,webpage
Bitte beachten Sie, dass der Gambas-Highlighter nicht durch eine Definitionsdatei implementiert wird. Er basiert vielmehr auf der Methode Highlight.Analyze() der Komponente gb.eval.