diff options
author | Rémi Verschelde <remi@verschelde.fr> | 2022-07-06 15:31:19 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-07-06 15:31:19 +0200 |
commit | 635d447a69cea1bac19c8ffd2bfc38fc3753441d (patch) | |
tree | 1a3c713560f2c895e1b7080782a6380ad3cad290 /modules/gdscript/gdscript_editor.cpp | |
parent | ea61cd3b320b145fc0dffb7056c01b5672432d90 (diff) | |
parent | a9098e6147d294378bf7c62fb10c83a0d2670b33 (diff) | |
download | redot-engine-635d447a69cea1bac19c8ffd2bfc38fc3753441d.tar.gz |
Merge pull request #62713 from YuriSizov/docs-scripting-annotations
Diffstat (limited to 'modules/gdscript/gdscript_editor.cpp')
-rw-r--r-- | modules/gdscript/gdscript_editor.cpp | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/modules/gdscript/gdscript_editor.cpp b/modules/gdscript/gdscript_editor.cpp index d50a139313..71ee437744 100644 --- a/modules/gdscript/gdscript_editor.cpp +++ b/modules/gdscript/gdscript_editor.cpp @@ -445,6 +445,16 @@ void GDScriptLanguage::get_public_constants(List<Pair<String, Variant>> *p_const p_constants->push_back(nan); } +void GDScriptLanguage::get_public_annotations(List<MethodInfo> *p_annotations) const { + GDScriptParser parser; + List<MethodInfo> annotations; + parser.get_annotation_list(&annotations); + + for (const MethodInfo &E : annotations) { + p_annotations->push_back(E); + } +} + String GDScriptLanguage::make_function(const String &p_class, const String &p_name, const PackedStringArray &p_args) const { #ifdef TOOLS_ENABLED bool th = EditorSettings::get_singleton()->get_setting("text_editor/completion/add_type_hints"); @@ -3380,6 +3390,15 @@ static Error _lookup_symbol_from_base(const GDScriptParser::DataType &p_base, co return OK; } } break; + case GDScriptParser::COMPLETION_ANNOTATION: { + const String annotation_symbol = "@" + p_symbol; + if (parser.annotation_exists(annotation_symbol)) { + r_result.type = ScriptLanguage::LOOKUP_RESULT_CLASS_ANNOTATION; + r_result.class_name = "@GDScript"; + r_result.class_member = annotation_symbol; + return OK; + } + } break; default: { } } |