SyntaxHighlighter

继承: Resource < RefCounted < Object

派生: CodeHighlighter, EditorSyntaxHighlighter

语法荧光笔的基类。向TextEdit提供语法突出显示数据。

描述

语法荧光笔的基类。向TextEdit提供语法突出显示数据。关联的TextEdit将根据需要调用SyntaxHighlighter

注意:不应在多个TextEdit节点之间使用SyntaxHighlighter实例。

方法


方法说明

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"

示例: 可能的返回值。这意味着列 04 应为红色,列 5 到该行末尾应为绿色:

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

TextEdit get_text_edit() const 🔗

返回关联的TextEdit节点。


void update_cache() 🔗

Clears然后更新缓存。重写回调的_update_cache()

注意:这是在关联的TextEdit节点更新自己的缓存时自动调用的。