Expose GDScript syntax highlighter to editor plugins
This commit is contained in:
parent
1bd740d18d
commit
3fe644de86
|
@ -11,6 +11,7 @@ def get_doc_classes():
|
||||||
return [
|
return [
|
||||||
"@GDScript",
|
"@GDScript",
|
||||||
"GDScript",
|
"GDScript",
|
||||||
|
"GDScriptSyntaxHighlighter",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,23 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" ?>
|
||||||
|
<class name="GDScriptSyntaxHighlighter" inherits="EditorSyntaxHighlighter" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../doc/class.xsd">
|
||||||
|
<brief_description>
|
||||||
|
A GDScript syntax highlighter that can be used with [TextEdit] and [CodeEdit] nodes.
|
||||||
|
</brief_description>
|
||||||
|
<description>
|
||||||
|
[b]Note:[/b] This class can only be used for editor plugins because it relies on editor settings.
|
||||||
|
[codeblocks]
|
||||||
|
[gdscript]
|
||||||
|
var code_preview = TextEdit.new()
|
||||||
|
var highlighter = GDScriptSyntaxHighlighter.new()
|
||||||
|
code_preview.syntax_highlighter = highlighter
|
||||||
|
[/gdscript]
|
||||||
|
[csharp]
|
||||||
|
var codePreview = new TextEdit();
|
||||||
|
var highlighter = new GDScriptSyntaxHighlighter();
|
||||||
|
codePreview.SyntaxHighlighter = highlighter;
|
||||||
|
[/csharp]
|
||||||
|
[/codeblocks]
|
||||||
|
</description>
|
||||||
|
<tutorials>
|
||||||
|
</tutorials>
|
||||||
|
</class>
|
|
@ -165,6 +165,13 @@ void initialize_gdscript_module(ModuleInitializationLevel p_level) {
|
||||||
|
|
||||||
gdscript_translation_parser_plugin.instantiate();
|
gdscript_translation_parser_plugin.instantiate();
|
||||||
EditorTranslationParser::get_singleton()->add_parser(gdscript_translation_parser_plugin, EditorTranslationParser::STANDARD);
|
EditorTranslationParser::get_singleton()->add_parser(gdscript_translation_parser_plugin, EditorTranslationParser::STANDARD);
|
||||||
|
} else if (p_level == MODULE_INITIALIZATION_LEVEL_EDITOR) {
|
||||||
|
ClassDB::APIType prev_api = ClassDB::get_current_api();
|
||||||
|
ClassDB::set_current_api(ClassDB::API_EDITOR);
|
||||||
|
|
||||||
|
GDREGISTER_CLASS(GDScriptSyntaxHighlighter);
|
||||||
|
|
||||||
|
ClassDB::set_current_api(prev_api);
|
||||||
}
|
}
|
||||||
#endif // TOOLS_ENABLED
|
#endif // TOOLS_ENABLED
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue