1
0
mirror of https://github.com/godotengine/godot.git synced 2025-11-04 12:00:25 +00:00

Expose the EditorScriptHighlighter::_create() method to GDExtension

This commit is contained in:
David Snopek
2024-11-07 12:22:55 -06:00
parent 77d6283d22
commit 1474ecc121
3 changed files with 15 additions and 3 deletions

View File

@@ -10,6 +10,12 @@
<tutorials>
</tutorials>
<methods>
<method name="_create" qualifiers="virtual const">
<return type="EditorSyntaxHighlighter" />
<description>
Virtual method which creates a new instance of the syntax highlighter.
</description>
</method>
<method name="_get_name" qualifiers="virtual const">
<return type="String" />
<description>

View File

@@ -86,9 +86,13 @@ PackedStringArray EditorSyntaxHighlighter::_get_supported_languages() const {
Ref<EditorSyntaxHighlighter> EditorSyntaxHighlighter::_create() const {
Ref<EditorSyntaxHighlighter> syntax_highlighter;
syntax_highlighter.instantiate();
if (get_script_instance()) {
syntax_highlighter->set_script(get_script_instance()->get_script());
if (GDVIRTUAL_IS_OVERRIDDEN(_create)) {
GDVIRTUAL_CALL(_create, syntax_highlighter);
} else {
syntax_highlighter.instantiate();
if (get_script_instance()) {
syntax_highlighter->set_script(get_script_instance()->get_script());
}
}
return syntax_highlighter;
}
@@ -98,6 +102,7 @@ void EditorSyntaxHighlighter::_bind_methods() {
GDVIRTUAL_BIND(_get_name)
GDVIRTUAL_BIND(_get_supported_languages)
GDVIRTUAL_BIND(_create)
}
////

View File

@@ -62,6 +62,7 @@ protected:
GDVIRTUAL0RC(String, _get_name)
GDVIRTUAL0RC(PackedStringArray, _get_supported_languages)
GDVIRTUAL0RC(Ref<EditorSyntaxHighlighter>, _create)
public:
virtual String _get_name() const;