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 ( int line ) virtual const |
|
void |
_update_cache ( ) virtual |
void |
|
get_line_syntax_highlighting ( int line ) |
|
get_text_edit ( ) const |
|
void |
update_cache ( ) |
方法说明¶
void _clear_highlighting_cache ( ) virtual
虚方法,覆盖后可以清空本地缓存。
Dictionary _get_line_syntax_highlighting ( int line ) virtual const
虚方法,覆盖后可以返回语法高亮数据。
详情见 get_line_syntax_highlighting。
void _update_cache ( ) virtual
虚方法,覆盖后可以更新本地缓存。
void clear_highlighting_cache ( )
清空所有缓存的语法高亮数据。
然后调用可覆盖的 _clear_highlighting_cache 方法。
Dictionary get_line_syntax_highlighting ( int line )
返回某一行的语法高亮数据。如果尚未缓存该行,则会调用 _get_line_syntax_highlighting 来计算相关数据。
返回的 Dictionary 是将列号映射到另一个 Dictionary。列号代表区域的开始位置,当前区域在遇到其他区域或行尾时结束。嵌套的 Dictionary 中包含该区域的数据,目前仅支持“color”字段。
示例返回:
var color_map = {
0: {
"color": Color(1, 0, 0)
},
5: {
"color": Color(0, 1, 0)
}
}
这样就会让 0-4 列为红色,让 5-行尾为绿色。
TextEdit get_text_edit ( ) const
返回关联的 TextEdit 节点。
void update_cache ( )
清除然后更新 SyntaxHighlighter 缓存。为一个回调覆盖 _update_cache。
注意:当关联的 TextEdit 节点更新它自己的缓存时,该函数会被自动调用。