Skip to content

Commit f428358

Browse files
committed
Fix: Add Variant to type autocompletion and filter out Nil option in autocompletion
1 parent 0fdbf05 commit f428358

File tree

1 file changed

+12
-8
lines changed

1 file changed

+12
-8
lines changed

modules/gdscript/gdscript_editor.cpp

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1027,15 +1027,13 @@ static void _find_annotation_arguments(const GDScriptParser::AnnotationNode *p_a
10271027
}
10281028
}
10291029

1030-
static void _find_built_in_variants(HashMap<String, ScriptLanguage::CodeCompletionOption> &r_result, bool exclude_nil = false) {
1030+
static void _find_built_in_variants(HashMap<String, ScriptLanguage::CodeCompletionOption> &r_result) {
10311031
for (int i = 0; i < Variant::VARIANT_MAX; i++) {
1032-
if (!exclude_nil && Variant::Type(i) == Variant::Type::NIL) {
1033-
ScriptLanguage::CodeCompletionOption option("null", ScriptLanguage::CODE_COMPLETION_KIND_CLASS);
1034-
r_result.insert(option.display, option);
1035-
} else {
1036-
ScriptLanguage::CodeCompletionOption option(Variant::get_type_name(Variant::Type(i)), ScriptLanguage::CODE_COMPLETION_KIND_CLASS);
1037-
r_result.insert(option.display, option);
1032+
if (Variant::Type(i) == Variant::Type::NIL) {
1033+
continue;
10381034
}
1035+
ScriptLanguage::CodeCompletionOption option(Variant::get_type_name(Variant::Type(i)), ScriptLanguage::CODE_COMPLETION_KIND_CLASS);
1036+
r_result.insert(option.display, option);
10391037
}
10401038
}
10411039

@@ -1050,7 +1048,13 @@ static void _find_global_enums(HashMap<String, ScriptLanguage::CodeCompletionOpt
10501048

10511049
static void _list_available_types(bool p_inherit_only, GDScriptParser::CompletionContext &p_context, HashMap<String, ScriptLanguage::CodeCompletionOption> &r_result) {
10521050
// Built-in Variant Types
1053-
_find_built_in_variants(r_result, true);
1051+
_find_built_in_variants(r_result);
1052+
1053+
// Variant meta-type
1054+
if (!p_inherit_only) {
1055+
ScriptLanguage::CodeCompletionOption variant_option("Variant", ScriptLanguage::CODE_COMPLETION_KIND_CLASS);
1056+
r_result.insert(variant_option.display, variant_option);
1057+
}
10541058

10551059
LocalVector<StringName> native_types;
10561060
ClassDB::get_class_list(native_types);

0 commit comments

Comments
 (0)