Event TextEditor.Highlight (gb.form.editor)
Event Highlight ( Text As String )
This event is raised when a text line must be highlighted.
-
Text if the text to highlight.
This event is only raised when the
Highlight property is set to
"custom"
,
"none"
or a null string.
How to highlight?
Custom highlighting of the give text line is done by using the static methods of the
TextHighlighter class of the
gb.eval.highlight component.
The
State and
Tag properties represent the state of the highlighter.
They are initialized with the final state of the highlighter at the previous line, or with zero if we are highlighting the first line.
The highlight itself is done by calling the
TextHighlighter.Add method repeatedly to give a style constant to each character of the line until everything is highlighted.
Finally the state properties must be filled with the final state of the highlighter after the current line has been highlighted.
Example
Here is the highlighting of the
diff
command output.
Public Sub Editor_Highlight(Text As String)
If Text Begins "<<<<<<" Then
TextHighlighter.Add(Highlight.Custom, String.Len(Text))
TextHighlighter.State = Highlight.Custom
Else If Text Begins "======" Then
TextHighlighter.Add(Highlight.Comment, String.Len(Text))
TextHighlighter.State = Highlight.Normal
TextHighlighter.Tag = 1
Else If Text Begins ">>>>>>" Then
TextHighlighter.Add(Highlight.Custom + 1, String.Len(Text))
TextHighlighter.State = Highlight.Custom + 1
TextHighlighter.Tag = 2
Else
If TextHighlighter.Tag = 1 Then
TextHighlighter.State = Highlight.Custom + 1
TextHighlighter.Tag = 0
Else If TextHighlighter.Tag = 2 Then
TextHighlighter.State = Highlight.Normal
TextHighlighter.Tag = 0
Endif
TextHighlighter.Add(TextHighlighter.State, String.Len(Text))
Endif
End