Work in progress
Godot documentation is being updated to reflect the latest changes in version
4.0
. Some documentation pages may
still state outdated information. This banner will tell you if you're reading one of such pages.
The contents of this page are up to date. If you can still find outdated information, please open an issue.
SyntaxHighlighter¶
Inherits: Resource < RefCounted < Object
Inherited By: CodeHighlighter, EditorSyntaxHighlighter
Base Syntax highlighter resource for TextEdit.
Description¶
Base syntax highlighter resource all syntax highlighters extend from, provides syntax highlighting data to TextEdit.
The associated TextEdit node will call into the SyntaxHighlighter on a as needed basis.
Note: Each Syntax highlighter instance should not be shared across multiple TextEdit nodes.
Methods¶
void |
_clear_highlighting_cache ( ) virtual |
_get_line_syntax_highlighting ( int line ) virtual const |
|
void |
_update_cache ( ) virtual |
void |
|
get_line_syntax_highlighting ( int line ) |
|
get_text_edit ( ) |
|
void |
update_cache ( ) |
Method Descriptions¶
void _clear_highlighting_cache ( ) virtual
Virtual method which can be overridden to clear any local caches.
Dictionary _get_line_syntax_highlighting ( int line ) virtual const
Virtual method which can be overridden to return syntax highlighting data.
See get_line_syntax_highlighting for more details.
void _update_cache ( ) virtual
Virtual method which can be overridden to update any local caches.
void clear_highlighting_cache ( )
Clears all cached syntax highlighting data.
Then calls overridable method _clear_highlighting_cache.
Dictionary get_line_syntax_highlighting ( int line )
Returns syntax highlighting data for a single line. If the line is not cached, calls _get_line_syntax_highlighting to calculate the data.
The return Dictionary is column number to Dictionary. The column number notes 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 return:
var color_map = {
0: {
"color": Color(1, 0, 0)
},
5: {
"color": Color(0, 1, 0)
}
}
This will color columns 0-4 red, and columns 5-eol in green.
TextEdit get_text_edit ( )
Returns the associated TextEdit node.
void 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.