SyntaxHighlighter¶
继承: Resource < RefCounted < Object
派生: CodeHighlighter, EditorSyntaxHighlighter
语法荧光笔的基类。向TextEdit提供语法突出显示数据。
描述¶
语法荧光笔的基类。向TextEdit提供语法突出显示数据。关联的TextEdit将根据需要调用SyntaxHighlighter。
注意:不应在多个TextEdit节点之间使用SyntaxHighlighter实例。
方法¶
void |
_clear_highlighting_cache() virtual |
_get_line_syntax_highlighting(line: int) virtual const |
|
void |
_update_cache() virtual |
void |
|
get_line_syntax_highlighting(line: int) |
|
get_text_edit() const |
|
void |
方法说明¶
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() 🔗
Clears然后更新缓存。重写回调的_update_cache()。
注意:这是在关联的TextEdit节点更新自己的缓存时自动调用的。