Table of Contents

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