Class SyntaxHighlighter
Base class for syntax highlighters. Provides syntax highlighting data to a TextEdit.
- Inheritance
-
SyntaxHighlighter
- Derived
Remarks
Base class for syntax highlighters. Provides syntax highlighting data to a TextEdit. The associated TextEdit will call into the SyntaxHighlighter on an as-needed basis.
Note: A SyntaxHighlighter instance should not be used across multiple TextEdit nodes.
Methods
_clear_highlighting_cache
Qualifiers: virtual
Virtual method which can be overridden to clear any local caches.
void _clear_highlighting_cache
_get_line_syntax_highlighting(int)
Qualifiers: virtualconst
Virtual method which can be overridden to return syntax highlighting data.
See SyntaxHighlighter.get_line_syntax_highlighting for more details.
Dictionary _get_line_syntax_highlighting(int line)
Parameters
line
int
_update_cache
Qualifiers: virtual
Virtual method which can be overridden to update any local caches.
void _update_cache
clear_highlighting_cache
Clears all cached syntax highlighting data.
Then calls overridable method _clear_highlighting_cache.
void clear_highlighting_cache
get_line_syntax_highlighting(int)
Returns the syntax highlighting data for the line at index line
. If the line is not cached, calls SyntaxHighlighter._get_line_syntax_highlighting first to calculate the data.
Each entry is a column number containing a nested Dictionary. The column number denotes the start of a region, the region will end if another region is found, or at the end of the line. The nested Dictionary contains the data for that region. Currently only the key "color"
is supported.
Example: Possible return value. This means columns 0
to 4
should be red, and columns 5
to the end of the line should be green:
{
0: {
"color": Color(1, 0, 0)
},
5: {
"color": Color(0, 1, 0)
}
}
Dictionary get_line_syntax_highlighting(int line)
Parameters
line
int
get_text_edit
Qualifiers: const
Returns the associated TextEdit node.
TextEdit get_text_edit
update_cache
Clears then updates the SyntaxHighlighter caches. Override _update_cache for a callback.
Note: This is called automatically when the associated TextEdit node, updates its own cache.
void update_cache