Browse Source

Improve GDScript autocompletion for methods

Lazy-Rabbit-2001 8 months ago
parent
commit
ae853e1a42
52 changed files with 126 additions and 113 deletions
  1. 17 4
      modules/gdscript/gdscript_editor.cpp
  2. 1 1
      modules/gdscript/tests/scripts/completion/assignment_options/enum_attribute.cfg
  3. 1 1
      modules/gdscript/tests/scripts/completion/assignment_options/enum_attribute_identifier.cfg
  4. 4 4
      modules/gdscript/tests/scripts/completion/common/identifiers_in_call.cfg
  5. 4 4
      modules/gdscript/tests/scripts/completion/common/identifiers_in_function_body.cfg
  6. 4 4
      modules/gdscript/tests/scripts/completion/common/identifiers_in_unclosed_call.cfg
  7. 5 5
      modules/gdscript/tests/scripts/completion/common/no_completion_in_string.cfg
  8. 4 4
      modules/gdscript/tests/scripts/completion/common/self.cfg
  9. 1 1
      modules/gdscript/tests/scripts/completion/get_node/literal/dollar.cfg
  10. 1 1
      modules/gdscript/tests/scripts/completion/get_node/literal/percent.cfg
  11. 2 2
      modules/gdscript/tests/scripts/completion/get_node/literal_scene/dollar_class_scene.cfg
  12. 2 2
      modules/gdscript/tests/scripts/completion/get_node/literal_scene/dollar_native_scene.cfg
  13. 2 2
      modules/gdscript/tests/scripts/completion/get_node/literal_scene/percent_class_scene.cfg
  14. 2 2
      modules/gdscript/tests/scripts/completion/get_node/literal_scene/percent_native_scene.cfg
  15. 1 1
      modules/gdscript/tests/scripts/completion/get_node/local/local.cfg
  16. 1 1
      modules/gdscript/tests/scripts/completion/get_node/local_infered/local_infered.cfg
  17. 2 2
      modules/gdscript/tests/scripts/completion/get_node/local_infered_scene/class_local_infered_scene.cfg
  18. 2 2
      modules/gdscript/tests/scripts/completion/get_node/local_infered_scene/native_local_infered_scene.cfg
  19. 2 2
      modules/gdscript/tests/scripts/completion/get_node/local_scene/class_local_scene.cfg
  20. 2 2
      modules/gdscript/tests/scripts/completion/get_node/local_scene/native_local_scene.cfg
  21. 2 2
      modules/gdscript/tests/scripts/completion/get_node/local_typehint/class_local_typehint.cfg
  22. 2 2
      modules/gdscript/tests/scripts/completion/get_node/local_typehint/native_local_typehint.cfg
  23. 2 2
      modules/gdscript/tests/scripts/completion/get_node/local_typehint_scene/class_local_typehint_scene.cfg
  24. 2 2
      modules/gdscript/tests/scripts/completion/get_node/local_typehint_scene/native_local_typehint_scene.cfg
  25. 2 2
      modules/gdscript/tests/scripts/completion/get_node/local_typehint_scene_broad/class_local_typehint_scene_broad.cfg
  26. 2 2
      modules/gdscript/tests/scripts/completion/get_node/local_typehint_scene_broad/native_local_typehint_scene_broad.cfg
  27. 3 3
      modules/gdscript/tests/scripts/completion/get_node/local_typehint_scene_incompatible/class_local_typehint_scene_incompatible.cfg
  28. 3 3
      modules/gdscript/tests/scripts/completion/get_node/local_typehint_scene_incompatible/native_local_typehint_scene_incompatible.cfg
  29. 1 1
      modules/gdscript/tests/scripts/completion/get_node/member/member.cfg
  30. 1 1
      modules/gdscript/tests/scripts/completion/get_node/member_infered/member_infered.cfg
  31. 2 2
      modules/gdscript/tests/scripts/completion/get_node/member_infered_scene/class_member_infered_scene.cfg
  32. 2 2
      modules/gdscript/tests/scripts/completion/get_node/member_infered_scene/native_member_infered_scene.cfg
  33. 2 2
      modules/gdscript/tests/scripts/completion/get_node/member_scene/class_member_scene.cfg
  34. 2 2
      modules/gdscript/tests/scripts/completion/get_node/member_scene/native_member_scene.cfg
  35. 2 2
      modules/gdscript/tests/scripts/completion/get_node/member_typehint/class_member_typehint.cfg
  36. 2 2
      modules/gdscript/tests/scripts/completion/get_node/member_typehint/native_member_typehint.cfg
  37. 2 2
      modules/gdscript/tests/scripts/completion/get_node/member_typehint_scene/class_member_typehint_scene.cfg
  38. 2 2
      modules/gdscript/tests/scripts/completion/get_node/member_typehint_scene/native_member_typehint_scene.cfg
  39. 2 2
      modules/gdscript/tests/scripts/completion/get_node/member_typehint_scene_broad/class_member_typehint_scene_broad.cfg
  40. 2 2
      modules/gdscript/tests/scripts/completion/get_node/member_typehint_scene_broad/native_member_typehint_scene_broad.cfg
  41. 3 3
      modules/gdscript/tests/scripts/completion/get_node/member_typehint_scene_incompatible/class_member_typehint_scene_incompatible.cfg
  42. 3 3
      modules/gdscript/tests/scripts/completion/get_node/member_typehint_scene_incompatible/native_member_typehint_scene_incompatible.cfg
  43. 2 2
      modules/gdscript/tests/scripts/completion/types/local/infered.cfg
  44. 2 2
      modules/gdscript/tests/scripts/completion/types/local/no_type.cfg
  45. 2 2
      modules/gdscript/tests/scripts/completion/types/local/typehint.cfg
  46. 2 2
      modules/gdscript/tests/scripts/completion/types/local/typehint_broad.cfg
  47. 2 2
      modules/gdscript/tests/scripts/completion/types/local/typehint_incompatible.cfg
  48. 2 2
      modules/gdscript/tests/scripts/completion/types/member/infered.cfg
  49. 2 2
      modules/gdscript/tests/scripts/completion/types/member/no_type.cfg
  50. 2 2
      modules/gdscript/tests/scripts/completion/types/member/typehint.cfg
  51. 2 2
      modules/gdscript/tests/scripts/completion/types/member/typehint_broad.cfg
  52. 2 2
      modules/gdscript/tests/scripts/completion/types/member/typehint_incompatible.cfg

+ 17 - 4
modules/gdscript/gdscript_editor.cpp

@@ -1139,10 +1139,12 @@ static void _find_identifiers_in_class(const GDScriptParser::ClassNode *p_class,
 							continue;
 						}
 						option = ScriptLanguage::CodeCompletionOption(member.function->identifier->name, ScriptLanguage::CODE_COMPLETION_KIND_FUNCTION, location);
-						if (member.function->parameters.size() > 0) {
+						if (member.function->parameters.size() > 0 || (member.function->info.flags & METHOD_FLAG_VARARG)) {
 							option.insert_text += "(";
+							option.display += U"(\u2026)";
 						} else {
 							option.insert_text += "()";
+							option.display += "()";
 						}
 						break;
 					case GDScriptParser::ClassNode::Member::SIGNAL:
@@ -1184,6 +1186,7 @@ static void _find_identifiers_in_base(const GDScriptCompletionIdentifier &p_base
 	if (!p_types_only && base_type.is_meta_type && base_type.kind != GDScriptParser::DataType::BUILTIN && base_type.kind != GDScriptParser::DataType::ENUM) {
 		ScriptLanguage::CodeCompletionOption option("new", ScriptLanguage::CODE_COMPLETION_KIND_FUNCTION, ScriptLanguage::LOCATION_LOCAL);
 		option.insert_text += "(";
+		option.display += U"(\u2026)";
 		r_result.insert(option.display, option);
 	}
 
@@ -1241,10 +1244,12 @@ static void _find_identifiers_in_base(const GDScriptCompletionIdentifier &p_base
 							}
 							int location = p_recursion_depth + _get_method_location(scr->get_class_name(), E.name);
 							ScriptLanguage::CodeCompletionOption option(E.name, ScriptLanguage::CODE_COMPLETION_KIND_FUNCTION, location);
-							if (E.arguments.size()) {
+							if (E.arguments.size() || (E.flags & METHOD_FLAG_VARARG)) {
 								option.insert_text += "(";
+								option.display += U"(\u2026)";
 							} else {
 								option.insert_text += "()";
+								option.display += "()";
 							}
 							r_result.insert(option.display, option);
 						}
@@ -1327,10 +1332,12 @@ static void _find_identifiers_in_base(const GDScriptCompletionIdentifier &p_base
 					}
 					int location = p_recursion_depth + _get_method_location(type, E.name);
 					ScriptLanguage::CodeCompletionOption option(E.name, ScriptLanguage::CODE_COMPLETION_KIND_FUNCTION, location);
-					if (E.arguments.size()) {
+					if (E.arguments.size() || (E.flags & METHOD_FLAG_VARARG)) {
 						option.insert_text += "(";
+						option.display += U"(\u2026)";
 					} else {
 						option.insert_text += "()";
+						option.display += "()";
 					}
 					r_result.insert(option.display, option);
 				}
@@ -1398,10 +1405,12 @@ static void _find_identifiers_in_base(const GDScriptCompletionIdentifier &p_base
 						continue;
 					}
 					ScriptLanguage::CodeCompletionOption option(E.name, ScriptLanguage::CODE_COMPLETION_KIND_FUNCTION, location);
-					if (E.arguments.size()) {
+					if (E.arguments.size() || (E.flags & METHOD_FLAG_VARARG)) {
 						option.insert_text += "(";
+						option.display += U"(\u2026)";
 					} else {
 						option.insert_text += "()";
+						option.display += "()";
 					}
 					r_result.insert(option.display, option);
 				}
@@ -1433,8 +1442,10 @@ static void _find_identifiers(const GDScriptParser::CompletionContext &p_context
 		ScriptLanguage::CodeCompletionOption option(String(E), ScriptLanguage::CODE_COMPLETION_KIND_FUNCTION);
 		if (function.arguments.size() || (function.flags & METHOD_FLAG_VARARG)) {
 			option.insert_text += "(";
+			option.display += U"(\u2026)";
 		} else {
 			option.insert_text += "()";
+			option.display += "()";
 		}
 		r_result.insert(option.display, option);
 	}
@@ -1481,6 +1492,7 @@ static void _find_identifiers(const GDScriptParser::CompletionContext &p_context
 	while (*kwa) {
 		ScriptLanguage::CodeCompletionOption option(*kwa, ScriptLanguage::CODE_COMPLETION_KIND_FUNCTION);
 		option.insert_text += "(";
+		option.display += U"(\u2026)";
 		r_result.insert(option.display, option);
 		kwa++;
 	}
@@ -1491,6 +1503,7 @@ static void _find_identifiers(const GDScriptParser::CompletionContext &p_context
 	for (List<StringName>::Element *E = utility_func_names.front(); E; E = E->next()) {
 		ScriptLanguage::CodeCompletionOption option(E->get(), ScriptLanguage::CODE_COMPLETION_KIND_FUNCTION);
 		option.insert_text += "(";
+		option.display += U"(\u2026)"; // As all utility functions contain an argument or more, this is hardcoded here.
 		r_result.insert(option.display, option);
 	}
 

+ 1 - 1
modules/gdscript/tests/scripts/completion/assignment_options/enum_attribute.cfg

@@ -1,6 +1,6 @@
 [output]
 include=[
-    {"display": "new"},
+    {"display": "new(…)"},
     {"display": "SIZE_EXPAND"},
     {"display": "SIZE_EXPAND_FILL"},
     {"display": "SIZE_FILL"},

+ 1 - 1
modules/gdscript/tests/scripts/completion/assignment_options/enum_attribute_identifier.cfg

@@ -1,6 +1,6 @@
 [output]
 include=[
-    {"display": "new"},
+    {"display": "new(…)"},
     {"display": "SIZE_EXPAND"},
     {"display": "SIZE_EXPAND_FILL"},
     {"display": "SIZE_FILL"},

+ 4 - 4
modules/gdscript/tests/scripts/completion/common/identifiers_in_call.cfg

@@ -2,13 +2,13 @@ scene="res://completion/get_node/get_node.tscn"
 [output]
 include=[
     ; Node
-    {"display": "add_child"},
+    {"display": "add_child(…)"},
     {"display": "owner"},
     {"display": "child_entered_tree"},
 
     ; GDScript: class_a.notest.gd
     {"display": "property_of_a"},
-    {"display": "func_of_a"},
+    {"display": "func_of_a()"},
     {"display": "signal_of_a"},
 
     ; GDScript: identifiers.gd
@@ -16,8 +16,8 @@ include=[
     {"display": "test_signal_2"},
     {"display": "test_var_1"},
     {"display": "test_var_2"},
-    {"display": "test_func_1"},
-    {"display": "test_func_2"},
+    {"display": "test_func_1(…)"},
+    {"display": "test_func_2(…)"},
     {"display": "test_parameter_1"},
     {"display": "test_parameter_2"},
     {"display": "local_test_var_1"},

+ 4 - 4
modules/gdscript/tests/scripts/completion/common/identifiers_in_function_body.cfg

@@ -2,13 +2,13 @@ scene="res://completion/get_node/get_node.tscn"
 [output]
 include=[
     ; Node
-    {"display": "add_child"},
+    {"display": "add_child(…)"},
     {"display": "owner"},
     {"display": "child_entered_tree"},
 
     ; GDScript: class_a.notest.gd
     {"display": "property_of_a"},
-    {"display": "func_of_a"},
+    {"display": "func_of_a()"},
     {"display": "signal_of_a"},
 
     ; GDScript: identifiers.gd
@@ -16,8 +16,8 @@ include=[
     {"display": "test_signal_2"},
     {"display": "test_var_1"},
     {"display": "test_var_2"},
-    {"display": "test_func_1"},
-    {"display": "test_func_2"},
+    {"display": "test_func_1(…)"},
+    {"display": "test_func_2(…)"},
     {"display": "test_parameter_1"},
     {"display": "test_parameter_2"},
     {"display": "local_test_var_1"},

+ 4 - 4
modules/gdscript/tests/scripts/completion/common/identifiers_in_unclosed_call.cfg

@@ -2,13 +2,13 @@ scene="res://completion/get_node/get_node.tscn"
 [output]
 include=[
     ; Node
-    {"display": "add_child"},
+    {"display": "add_child(…)"},
     {"display": "owner"},
     {"display": "child_entered_tree"},
 
     ; GDScript: class_a.notest.gd
     {"display": "property_of_a"},
-    {"display": "func_of_a"},
+    {"display": "func_of_a()"},
     {"display": "signal_of_a"},
 
     ; GDScript: identifiers.gd
@@ -16,8 +16,8 @@ include=[
     {"display": "test_signal_2"},
     {"display": "test_var_1"},
     {"display": "test_var_2"},
-    {"display": "test_func_1"},
-    {"display": "test_func_2"},
+    {"display": "test_func_1(…)"},
+    {"display": "test_func_2(…)"},
     {"display": "test_parameter_1"},
     {"display": "test_parameter_2"},
     {"display": "local_test_var_1"},

+ 5 - 5
modules/gdscript/tests/scripts/completion/common/no_completion_in_string.cfg

@@ -2,14 +2,14 @@ scene="res://completion/get_node/get_node.tscn"
 [output]
 exclude=[
     ; Node
-    {"display": "add_child"},
+    {"display": "add_child(…)"},
     {"display": "owner"},
     {"display": "child_entered_tree"},
-    {"display": "add_child"},
+    {"display": "add_child(…)"},
 
     ; GDScript: class_a.notest.gd
     {"display": "property_of_a"},
-    {"display": "func_of_a"},
+    {"display": "func_of_a()"},
     {"display": "signal_of_a"},
 
     ; GDScript: no_completion_in_string.gd
@@ -17,8 +17,8 @@ exclude=[
     {"display": "test_signal_2"},
     {"display": "test_var_1"},
     {"display": "test_var_2"},
-    {"display": "test_func_1"},
-    {"display": "test_func_2"},
+    {"display": "test_func_1(…)"},
+    {"display": "test_func_2(…)"},
     {"display": "test_parameter_1"},
     {"display": "test_parameter_2"},
     {"display": "local_test_var_1"},

+ 4 - 4
modules/gdscript/tests/scripts/completion/common/self.cfg

@@ -2,13 +2,13 @@ scene="res://completion/get_node/get_node.tscn"
 [output]
 include=[
     ; Node
-    {"display": "add_child"},
+    {"display": "add_child(…)"},
     {"display": "owner"},
     {"display": "child_entered_tree"},
 
     ; GDScript: class_a.notest.gd
     {"display": "property_of_a"},
-    {"display": "func_of_a"},
+    {"display": "func_of_a()"},
     {"display": "signal_of_a"},
 
     ; GDScript: self.gd
@@ -16,6 +16,6 @@ include=[
     {"display": "test_signal_2"},
     {"display": "test_var_1"},
     {"display": "test_var_2"},
-    {"display": "test_func_1"},
-    {"display": "test_func_2"},
+    {"display": "test_func_1(…)"},
+    {"display": "test_func_2(…)"},
 ]

+ 1 - 1
modules/gdscript/tests/scripts/completion/get_node/literal/dollar.cfg

@@ -1,7 +1,7 @@
 [output]
 include=[
     ; Node
-    {"display": "add_child"},
+    {"display": "add_child(…)"},
     {"display": "owner"},
     {"display": "child_entered_tree"},
 ]

+ 1 - 1
modules/gdscript/tests/scripts/completion/get_node/literal/percent.cfg

@@ -1,7 +1,7 @@
 [output]
 include=[
     ; Node
-    {"display": "add_child"},
+    {"display": "add_child(…)"},
     {"display": "owner"},
     {"display": "child_entered_tree"},
 ]

+ 2 - 2
modules/gdscript/tests/scripts/completion/get_node/literal_scene/dollar_class_scene.cfg

@@ -3,12 +3,12 @@ scene="res://completion/get_node/get_node.tscn"
 [output]
 include=[
     ; Node
-    {"display": "add_child"},
+    {"display": "add_child(…)"},
     {"display": "owner"},
     {"display": "child_entered_tree"},
 
     ; GDScript: class_a.notest.gd
     {"display": "property_of_a"},
-    {"display": "func_of_a"},
+    {"display": "func_of_a()"},
     {"display": "signal_of_a"},
 ]

+ 2 - 2
modules/gdscript/tests/scripts/completion/get_node/literal_scene/dollar_native_scene.cfg

@@ -3,12 +3,12 @@ scene="res://completion/get_node/get_node.tscn"
 [output]
 include=[
     ; Node
-    {"display": "add_child"},
+    {"display": "add_child(…)"},
     {"display": "owner"},
     {"display": "child_entered_tree"},
 
     ; AnimationPlayer
     {"display": "autoplay"},
-    {"display": "play"},
+    {"display": "play(…)"},
     {"display": "animation_changed"},
 ]

+ 2 - 2
modules/gdscript/tests/scripts/completion/get_node/literal_scene/percent_class_scene.cfg

@@ -3,12 +3,12 @@ scene="res://completion/get_node/get_node.tscn"
 [output]
 include=[
     ; Node
-    {"display": "add_child"},
+    {"display": "add_child(…)"},
     {"display": "owner"},
     {"display": "child_entered_tree"},
 
     ; GDScript: class_a.notest.gd
     {"display": "property_of_a"},
-    {"display": "func_of_a"},
+    {"display": "func_of_a()"},
     {"display": "signal_of_a"},
 ]

+ 2 - 2
modules/gdscript/tests/scripts/completion/get_node/literal_scene/percent_native_scene.cfg

@@ -3,12 +3,12 @@ scene="res://completion/get_node/get_node.tscn"
 [output]
 include=[
     ; Node
-    {"display": "add_child"},
+    {"display": "add_child(…)"},
     {"display": "owner"},
     {"display": "child_entered_tree"},
 
     ; AnimationPlayer
     {"display": "autoplay"},
-    {"display": "play"},
+    {"display": "play(…)"},
     {"display": "animation_changed"},
 ]

+ 1 - 1
modules/gdscript/tests/scripts/completion/get_node/local/local.cfg

@@ -1,7 +1,7 @@
 [output]
 include=[
     ; Node
-    {"display": "add_child"},
+    {"display": "add_child(…)"},
     {"display": "owner"},
     {"display": "child_entered_tree"},
 ]

+ 1 - 1
modules/gdscript/tests/scripts/completion/get_node/local_infered/local_infered.cfg

@@ -1,7 +1,7 @@
 [output]
 include=[
     ; Node
-    {"display": "add_child"},
+    {"display": "add_child(…)"},
     {"display": "owner"},
     {"display": "child_entered_tree"},
 ]

+ 2 - 2
modules/gdscript/tests/scripts/completion/get_node/local_infered_scene/class_local_infered_scene.cfg

@@ -3,12 +3,12 @@ scene="res://completion/get_node/get_node.tscn"
 [output]
 include=[
     ; Node
-    {"display": "add_child"},
+    {"display": "add_child(…)"},
     {"display": "owner"},
     {"display": "child_entered_tree"},
 
     ; GDScript: class_a.notest.gd
     {"display": "property_of_a"},
-    {"display": "func_of_a"},
+    {"display": "func_of_a()"},
     {"display": "signal_of_a"},
 ]

+ 2 - 2
modules/gdscript/tests/scripts/completion/get_node/local_infered_scene/native_local_infered_scene.cfg

@@ -3,12 +3,12 @@ scene="res://completion/get_node/get_node.tscn"
 [output]
 include=[
     ; Node
-    {"display": "add_child"},
+    {"display": "add_child(…)"},
     {"display": "owner"},
     {"display": "child_entered_tree"},
 
     ; AnimationPlayer
     {"display": "autoplay"},
-    {"display": "play"},
+    {"display": "play(…)"},
     {"display": "animation_changed"},
 ]

+ 2 - 2
modules/gdscript/tests/scripts/completion/get_node/local_scene/class_local_scene.cfg

@@ -3,12 +3,12 @@ scene="res://completion/get_node/get_node.tscn"
 [output]
 include=[
     ; Node
-    {"display": "add_child"},
+    {"display": "add_child(…)"},
     {"display": "owner"},
     {"display": "child_entered_tree"},
 
     ; GDScript: class_a.notest.gd
     {"display": "property_of_a"},
-    {"display": "func_of_a"},
+    {"display": "func_of_a()"},
     {"display": "signal_of_a"},
 ]

+ 2 - 2
modules/gdscript/tests/scripts/completion/get_node/local_scene/native_local_scene.cfg

@@ -3,12 +3,12 @@ scene="res://completion/get_node/get_node.tscn"
 [output]
 include=[
     ; Node
-    {"display": "add_child"},
+    {"display": "add_child(…)"},
     {"display": "owner"},
     {"display": "child_entered_tree"},
 
     ; AnimationPlayer
     {"display": "autoplay"},
-    {"display": "play"},
+    {"display": "play(…)"},
     {"display": "animation_changed"},
 ]

+ 2 - 2
modules/gdscript/tests/scripts/completion/get_node/local_typehint/class_local_typehint.cfg

@@ -1,12 +1,12 @@
 [output]
 include=[
     ; Node
-    {"display": "add_child"},
+    {"display": "add_child(…)"},
     {"display": "owner"},
     {"display": "child_entered_tree"},
 
     ; GDScript: class_a.notest.gd
     {"display": "property_of_a"},
-    {"display": "func_of_a"},
+    {"display": "func_of_a()"},
     {"display": "signal_of_a"},
 ]

+ 2 - 2
modules/gdscript/tests/scripts/completion/get_node/local_typehint/native_local_typehint.cfg

@@ -1,12 +1,12 @@
 [output]
 include=[
     ; Node
-    {"display": "add_child"},
+    {"display": "add_child(…)"},
     {"display": "owner"},
     {"display": "child_entered_tree"},
 
     ; AnimationPlayer
     {"display": "autoplay"},
-    {"display": "play"},
+    {"display": "play(…)"},
     {"display": "animation_changed"},
 ]

+ 2 - 2
modules/gdscript/tests/scripts/completion/get_node/local_typehint_scene/class_local_typehint_scene.cfg

@@ -3,12 +3,12 @@ scene="res://completion/get_node/get_node.tscn"
 [output]
 include=[
     ; Node
-    {"display": "add_child"},
+    {"display": "add_child(…)"},
     {"display": "owner"},
     {"display": "child_entered_tree"},
 
     ; GDScript: class_a.notest.gd
     {"display": "property_of_a"},
-    {"display": "func_of_a"},
+    {"display": "func_of_a()"},
     {"display": "signal_of_a"},
 ]

+ 2 - 2
modules/gdscript/tests/scripts/completion/get_node/local_typehint_scene/native_local_typehint_scene.cfg

@@ -3,12 +3,12 @@ scene="res://completion/get_node/get_node.tscn"
 [output]
 include=[
     ; Node
-    {"display": "add_child"},
+    {"display": "add_child(…)"},
     {"display": "owner"},
     {"display": "child_entered_tree"},
 
     ; AnimationPlayer
     {"display": "autoplay"},
-    {"display": "play"},
+    {"display": "play(…)"},
     {"display": "animation_changed"},
 ]

+ 2 - 2
modules/gdscript/tests/scripts/completion/get_node/local_typehint_scene_broad/class_local_typehint_scene_broad.cfg

@@ -3,12 +3,12 @@ scene="res://completion/get_node/get_node.tscn"
 [output]
 include=[
     ; Node
-    {"display": "add_child"},
+    {"display": "add_child(…)"},
     {"display": "owner"},
     {"display": "child_entered_tree"},
 
     ; GDScript: class_a.notest.gd
     {"display": "property_of_a"},
-    {"display": "func_of_a"},
+    {"display": "func_of_a()"},
     {"display": "signal_of_a"},
 ]

+ 2 - 2
modules/gdscript/tests/scripts/completion/get_node/local_typehint_scene_broad/native_local_typehint_scene_broad.cfg

@@ -3,12 +3,12 @@ scene="res://completion/get_node/get_node.tscn"
 [output]
 include=[
     ; Node
-    {"display": "add_child"},
+    {"display": "add_child(…)"},
     {"display": "owner"},
     {"display": "child_entered_tree"},
 
     ; AnimationPlayer
     {"display": "autoplay"},
-    {"display": "play"},
+    {"display": "play(…)"},
     {"display": "animation_changed"},
 ]

+ 3 - 3
modules/gdscript/tests/scripts/completion/get_node/local_typehint_scene_incompatible/class_local_typehint_scene_incompatible.cfg

@@ -3,18 +3,18 @@ scene="res://completion/get_node/get_node.tscn"
 [output]
 include=[
     ; Node
-    {"display": "add_child"},
+    {"display": "add_child(…)"},
     {"display": "owner"},
     {"display": "child_entered_tree"},
 
     ; Area2D
-    {"display": "get_overlapping_areas"},
+    {"display": "get_overlapping_areas()"},
     {"display": "linear_damp"},
     {"display": "area_entered"},
 ]
 exclude=[
     ; GDScript: class_a.notest.gd
     {"display": "property_of_a"},
-    {"display": "func_of_a"},
+    {"display": "func_of_a()"},
     {"display": "signal_of_a"},
 ]

+ 3 - 3
modules/gdscript/tests/scripts/completion/get_node/local_typehint_scene_incompatible/native_local_typehint_scene_incompatible.cfg

@@ -3,18 +3,18 @@ scene="res://completion/get_node/get_node.tscn"
 [output]
 include=[
     ; Node
-    {"display": "add_child"},
+    {"display": "add_child(…)"},
     {"display": "owner"},
     {"display": "child_entered_tree"},
 
     ; Area2D
-    {"display": "get_overlapping_areas"},
+    {"display": "get_overlapping_areas()"},
     {"display": "linear_damp"},
     {"display": "area_entered"},
 ]
 exclude=[
     ; AnimationPlayer
     {"display": "autoplay"},
-    {"display": "play"},
+    {"display": "play(…)"},
     {"display": "animation_changed"},
 ]

+ 1 - 1
modules/gdscript/tests/scripts/completion/get_node/member/member.cfg

@@ -1,7 +1,7 @@
 [output]
 include=[
     ; Node
-    {"display": "add_child"},
+    {"display": "add_child(…)"},
     {"display": "owner"},
     {"display": "child_entered_tree"},
 ]

+ 1 - 1
modules/gdscript/tests/scripts/completion/get_node/member_infered/member_infered.cfg

@@ -1,7 +1,7 @@
 [output]
 include=[
     ; Node
-    {"display": "add_child"},
+    {"display": "add_child(…)"},
     {"display": "owner"},
     {"display": "child_entered_tree"},
 ]

+ 2 - 2
modules/gdscript/tests/scripts/completion/get_node/member_infered_scene/class_member_infered_scene.cfg

@@ -3,12 +3,12 @@ scene="res://completion/get_node/get_node.tscn"
 [output]
 include=[
     ; Node
-    {"display": "add_child"},
+    {"display": "add_child(…)"},
     {"display": "owner"},
     {"display": "child_entered_tree"},
 
     ; GDScript: class_a.notest.gd
     {"display": "property_of_a"},
-    {"display": "func_of_a"},
+    {"display": "func_of_a()"},
     {"display": "signal_of_a"},
 ]

+ 2 - 2
modules/gdscript/tests/scripts/completion/get_node/member_infered_scene/native_member_infered_scene.cfg

@@ -3,12 +3,12 @@ scene="res://completion/get_node/get_node.tscn"
 [output]
 include=[
     ; Node
-    {"display": "add_child"},
+    {"display": "add_child(…)"},
     {"display": "owner"},
     {"display": "child_entered_tree"},
 
     ; AnimationPlayer
     {"display": "autoplay"},
-    {"display": "play"},
+    {"display": "play(…)"},
     {"display": "animation_changed"},
 ]

+ 2 - 2
modules/gdscript/tests/scripts/completion/get_node/member_scene/class_member_scene.cfg

@@ -3,12 +3,12 @@ scene="res://completion/get_node/get_node.tscn"
 [output]
 include=[
     ; Node
-    {"display": "add_child"},
+    {"display": "add_child(…)"},
     {"display": "owner"},
     {"display": "child_entered_tree"},
 
     ; GDScript: class_a.notest.gd
     {"display": "property_of_a"},
-    {"display": "func_of_a"},
+    {"display": "func_of_a()"},
     {"display": "signal_of_a"},
 ]

+ 2 - 2
modules/gdscript/tests/scripts/completion/get_node/member_scene/native_member_scene.cfg

@@ -3,12 +3,12 @@ scene="res://completion/get_node/get_node.tscn"
 [output]
 include=[
     ; Node
-    {"display": "add_child"},
+    {"display": "add_child(…)"},
     {"display": "owner"},
     {"display": "child_entered_tree"},
 
     ; AnimationPlayer
     {"display": "autoplay"},
-    {"display": "play"},
+    {"display": "play(…)"},
     {"display": "animation_changed"},
 ]

+ 2 - 2
modules/gdscript/tests/scripts/completion/get_node/member_typehint/class_member_typehint.cfg

@@ -1,12 +1,12 @@
 [output]
 include=[
     ; Node
-    {"display": "add_child"},
+    {"display": "add_child(…)"},
     {"display": "owner"},
     {"display": "child_entered_tree"},
 
     ; GDScript: class_a.notest.gd
     {"display": "property_of_a"},
-    {"display": "func_of_a"},
+    {"display": "func_of_a()"},
     {"display": "signal_of_a"},
 ]

+ 2 - 2
modules/gdscript/tests/scripts/completion/get_node/member_typehint/native_member_typehint.cfg

@@ -1,12 +1,12 @@
 [output]
 include=[
     ; Node
-    {"display": "add_child"},
+    {"display": "add_child(…)"},
     {"display": "owner"},
     {"display": "child_entered_tree"},
 
     ; AnimationPlayer
     {"display": "autoplay"},
-    {"display": "play"},
+    {"display": "play(…)"},
     {"display": "animation_changed"},
 ]

+ 2 - 2
modules/gdscript/tests/scripts/completion/get_node/member_typehint_scene/class_member_typehint_scene.cfg

@@ -3,12 +3,12 @@ scene="res://completion/get_node/get_node.tscn"
 [output]
 include=[
     ; Node
-    {"display": "add_child"},
+    {"display": "add_child(…)"},
     {"display": "owner"},
     {"display": "child_entered_tree"},
 
     ; GDScript: class_a.notest.gd
     {"display": "property_of_a"},
-    {"display": "func_of_a"},
+    {"display": "func_of_a()"},
     {"display": "signal_of_a"},
 ]

+ 2 - 2
modules/gdscript/tests/scripts/completion/get_node/member_typehint_scene/native_member_typehint_scene.cfg

@@ -3,12 +3,12 @@ scene="res://completion/get_node/get_node.tscn"
 [output]
 include=[
     ; Node
-    {"display": "add_child"},
+    {"display": "add_child(…)"},
     {"display": "owner"},
     {"display": "child_entered_tree"},
 
     ; AnimationPlayer
     {"display": "autoplay"},
-    {"display": "play"},
+    {"display": "play(…)"},
     {"display": "animation_changed"},
 ]

+ 2 - 2
modules/gdscript/tests/scripts/completion/get_node/member_typehint_scene_broad/class_member_typehint_scene_broad.cfg

@@ -3,7 +3,7 @@ scene="res://completion/get_node/get_node.tscn"
 [output]
 include=[
     ; Node
-    {"display": "add_child"},
+    {"display": "add_child(…)"},
     {"display": "owner"},
     {"display": "child_entered_tree"},
 
@@ -11,6 +11,6 @@ include=[
 exclude=[
     ; GDScript: class_a.notest.gd
     {"display": "property_of_a"},
-    {"display": "func_of_a"},
+    {"display": "func_of_a()"},
     {"display": "signal_of_a"},
 ]

+ 2 - 2
modules/gdscript/tests/scripts/completion/get_node/member_typehint_scene_broad/native_member_typehint_scene_broad.cfg

@@ -3,7 +3,7 @@ scene="res://completion/get_node/get_node.tscn"
 [output]
 include=[
     ; Node
-    {"display": "add_child"},
+    {"display": "add_child(…)"},
     {"display": "owner"},
     {"display": "child_entered_tree"},
 
@@ -11,6 +11,6 @@ include=[
 exclude=[
     ; AnimationPlayer
     {"display": "autoplay"},
-    {"display": "play"},
+    {"display": "play(…)"},
     {"display": "animation_changed"},
 ]

+ 3 - 3
modules/gdscript/tests/scripts/completion/get_node/member_typehint_scene_incompatible/class_member_typehint_scene_incompatible.cfg

@@ -3,18 +3,18 @@ scene="res://completion/get_node/get_node.tscn"
 [output]
 include=[
     ; Node
-    {"display": "add_child"},
+    {"display": "add_child(…)"},
     {"display": "owner"},
     {"display": "child_entered_tree"},
 
     ; Area2D
-    {"display": "get_overlapping_areas"},
+    {"display": "get_overlapping_areas()"},
     {"display": "linear_damp"},
     {"display": "area_entered"},
 ]
 exclude=[
     ; GDScript: class_a.notest.gd
     {"display": "property_of_a"},
-    {"display": "func_of_a"},
+    {"display": "func_of_a()"},
     {"display": "signal_of_a"},
 ]

+ 3 - 3
modules/gdscript/tests/scripts/completion/get_node/member_typehint_scene_incompatible/native_member_typehint_scene_incompatible.cfg

@@ -3,18 +3,18 @@ scene="res://completion/get_node/get_node.tscn"
 [output]
 include=[
     ; Node
-    {"display": "add_child"},
+    {"display": "add_child(…)"},
     {"display": "owner"},
     {"display": "child_entered_tree"},
 
     ; Area2D
-    {"display": "get_overlapping_areas"},
+    {"display": "get_overlapping_areas()"},
     {"display": "linear_damp"},
     {"display": "area_entered"},
 ]
 exclude=[
     ; AnimationPlayer
     {"display": "autoplay"},
-    {"display": "play"},
+    {"display": "play(…)"},
     {"display": "animation_changed"},
 ]

+ 2 - 2
modules/gdscript/tests/scripts/completion/types/local/infered.cfg

@@ -1,12 +1,12 @@
 [output]
 include=[
     ; Node
-    {"display": "add_child"},
+    {"display": "add_child(…)"},
     {"display": "owner"},
     {"display": "child_entered_tree"},
 
     ; GDScript: class_a.notest.gd
     {"display": "property_of_a"},
-    {"display": "func_of_a"},
+    {"display": "func_of_a()"},
     {"display": "signal_of_a"},
 ]

+ 2 - 2
modules/gdscript/tests/scripts/completion/types/local/no_type.cfg

@@ -1,12 +1,12 @@
 [output]
 include=[
     ; Node
-    {"display": "add_child"},
+    {"display": "add_child(…)"},
     {"display": "owner"},
     {"display": "child_entered_tree"},
 
     ; GDScript: class_a.notest.gd
     {"display": "property_of_a"},
-    {"display": "func_of_a"},
+    {"display": "func_of_a()"},
     {"display": "signal_of_a"},
 ]

+ 2 - 2
modules/gdscript/tests/scripts/completion/types/local/typehint.cfg

@@ -1,12 +1,12 @@
 [output]
 include=[
     ; Node
-    {"display": "add_child"},
+    {"display": "add_child(…)"},
     {"display": "owner"},
     {"display": "child_entered_tree"},
 
     ; GDScript: class_a.notest.gd
     {"display": "property_of_a"},
-    {"display": "func_of_a"},
+    {"display": "func_of_a()"},
     {"display": "signal_of_a"},
 ]

+ 2 - 2
modules/gdscript/tests/scripts/completion/types/local/typehint_broad.cfg

@@ -1,12 +1,12 @@
 [output]
 include=[
     ; Node
-    {"display": "add_child"},
+    {"display": "add_child(…)"},
     {"display": "owner"},
     {"display": "child_entered_tree"},
 
     ; GDScript: class_a.notest.gd
     {"display": "property_of_a"},
-    {"display": "func_of_a"},
+    {"display": "func_of_a()"},
     {"display": "signal_of_a"},
 ]

+ 2 - 2
modules/gdscript/tests/scripts/completion/types/local/typehint_incompatible.cfg

@@ -1,12 +1,12 @@
 [output]
 include=[
     ; Node
-    {"display": "add_child"},
+    {"display": "add_child(…)"},
     {"display": "owner"},
     {"display": "child_entered_tree"},
 
     ; GDScript: class_a.notest.gd
     {"display": "property_of_a"},
-    {"display": "func_of_a"},
+    {"display": "func_of_a()"},
     {"display": "signal_of_a"},
 ]

+ 2 - 2
modules/gdscript/tests/scripts/completion/types/member/infered.cfg

@@ -1,12 +1,12 @@
 [output]
 include=[
     ; Node
-    {"display": "add_child"},
+    {"display": "add_child(…)"},
     {"display": "owner"},
     {"display": "child_entered_tree"},
 
     ; GDScript: class_a.notest.gd
     {"display": "property_of_a"},
-    {"display": "func_of_a"},
+    {"display": "func_of_a()"},
     {"display": "signal_of_a"},
 ]

+ 2 - 2
modules/gdscript/tests/scripts/completion/types/member/no_type.cfg

@@ -1,12 +1,12 @@
 [output]
 include=[
     ; Node
-    {"display": "add_child"},
+    {"display": "add_child(…)"},
     {"display": "owner"},
     {"display": "child_entered_tree"},
 
     ; GDScript: class_a.notest.gd
     {"display": "property_of_a"},
-    {"display": "func_of_a"},
+    {"display": "func_of_a()"},
     {"display": "signal_of_a"},
 ]

+ 2 - 2
modules/gdscript/tests/scripts/completion/types/member/typehint.cfg

@@ -1,12 +1,12 @@
 [output]
 include=[
     ; Node
-    {"display": "add_child"},
+    {"display": "add_child(…)"},
     {"display": "owner"},
     {"display": "child_entered_tree"},
 
     ; GDScript: class_a.notest.gd
     {"display": "property_of_a"},
-    {"display": "func_of_a"},
+    {"display": "func_of_a()"},
     {"display": "signal_of_a"},
 ]

+ 2 - 2
modules/gdscript/tests/scripts/completion/types/member/typehint_broad.cfg

@@ -1,13 +1,13 @@
 [output]
 include=[
     ; Node
-    {"display": "add_child"},
+    {"display": "add_child(…)"},
     {"display": "owner"},
     {"display": "child_entered_tree"},
 ]
 exclude=[
     ; GDScript: class_a.notest.gd
     {"display": "property_of_a"},
-    {"display": "func_of_a"},
+    {"display": "func_of_a()"},
     {"display": "signal_of_a"},
 ]

+ 2 - 2
modules/gdscript/tests/scripts/completion/types/member/typehint_incompatible.cfg

@@ -1,12 +1,12 @@
 [output]
 include=[
     ; Node
-    {"display": "add_child"},
+    {"display": "add_child(…)"},
     {"display": "owner"},
     {"display": "child_entered_tree"},
 
     ; GDScript: class_a.notest.gd
     {"display": "property_of_a"},
-    {"display": "func_of_a"},
+    {"display": "func_of_a()"},
     {"display": "signal_of_a"},
 ]