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() 🔗
清除然后更新 SyntaxHighlighter 缓存。为一个回调覆盖 _update_cache()。
注意:当关联的 TextEdit 节点更新它自己的缓存时,该函数会被自动调用。