Attention: Here be dragons
This is the latest
(unstable) version of this documentation, which may document features
not available in or compatible with released stable versions of Godot.
Checking the stable version of the documentation...
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 节点更新它自己的缓存时,该函数会被自动调用。