SyntaxHighlighter

Наследует: Resource < RefCounted < Object

Наследуется от: CodeHighlighter, EditorSyntaxHighlighter

Базовый класс для подсветки синтаксиса. Предоставляет данные подсветки синтаксиса в TextEdit.

Описание

Базовый класс для подсветки синтаксиса. Предоставляет данные подсветки синтаксиса для TextEdit. Связанный TextEdit будет вызывать SyntaxHighlighter по мере необходимости.

Примечание: Экземпляр SyntaxHighlighter не следует использовать в нескольких узлах TextEdit.

Методы

void

_clear_highlighting_cache() virtual

Dictionary

_get_line_syntax_highlighting(line: int) virtual const

void

_update_cache() virtual

void

clear_highlighting_cache()

Dictionary

get_line_syntax_highlighting(line: int)

TextEdit

get_text_edit() const

void

update_cache()


Описания метода

void _clear_highlighting_cache() virtual 🔗

Виртуальный метод, который можно переопределить для очистки любых локальных кэшей.


Dictionary _get_line_syntax_highlighting(line: int) virtual const 🔗

Виртуальный метод, который можно переопределить для возврата данных подсветки синтаксиса.

Подробнее см. get_line_syntax_highlighting().


void _update_cache() virtual 🔗

Виртуальный метод, который можно переопределить для обновления любых локальных кэшей.


void clear_highlighting_cache() 🔗

Очищает все кэшированные данные подсветки синтаксиса.

Затем вызывает переопределяемый метод _clear_highlighting_cache().


Dictionary get_line_syntax_highlighting(line: int) 🔗

Возвращает данные подсветки синтаксиса для строки с индексом line. Если строка не кэширована, сначала вызывает _get_line_syntax_highlighting() для вычисления данных.

Каждая запись — это номер столбца, содержащий вложенный Dictionary. Номер столбца обозначает начало региона, регион закончится, если будет найден другой регион, или конец строки. Вложенный Dictionary содержит данные для этого региона. В настоящее время поддерживается только ключ "color".

Пример: Возможное возвращаемое значение. Это означает, что столбцы 0 по 4 должны быть красными, а столбцы 5 до конца строки должны быть зелеными:

{
    0: {
        "color": Color(1, 0, 0)
    },
    5: {
        "color": Color(0, 1, 0)
    }
}

TextEdit get_text_edit() const 🔗

Возвращает связанный узел TextEdit.


void update_cache() 🔗

Очищает, а затем обновляет кэши SyntaxHighlighter. Переопределяет _update_cache() для обратного вызова.

Примечание: Это вызывается автоматически, когда связанный узел TextEdit обновляет свой собственный кэш.