You've already forked godot
mirror of
https://github.com/godotengine/godot.git
synced 2025-11-23 15:16:17 +00:00
Try and show all the properties added with _get_property_list() when triggering completion.
Closes https://github.com/godotengine/godot/issues/25097
This commit is contained in:
@@ -1936,11 +1936,20 @@ static void _find_identifiers_in_base(const GDScriptCompletionContext &p_context
|
|||||||
Ref<GDScript> script = base_type.script_type;
|
Ref<GDScript> script = base_type.script_type;
|
||||||
if (script.is_valid()) {
|
if (script.is_valid()) {
|
||||||
if (!_static && !p_only_functions) {
|
if (!_static && !p_only_functions) {
|
||||||
|
if (p_context.base && p_context.base->get_script_instance()) {
|
||||||
|
List<PropertyInfo> members;
|
||||||
|
p_context.base->get_script_instance()->get_property_list(&members);
|
||||||
|
for (List<PropertyInfo>::Element *E = members.front(); E; E = E->next()) {
|
||||||
|
ScriptCodeCompletionOption option(E->get().name, ScriptCodeCompletionOption::KIND_MEMBER);
|
||||||
|
r_result.insert(option.display, option);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
for (const Set<StringName>::Element *E = script->get_members().front(); E; E = E->next()) {
|
for (const Set<StringName>::Element *E = script->get_members().front(); E; E = E->next()) {
|
||||||
ScriptCodeCompletionOption option(E->get().operator String(), ScriptCodeCompletionOption::KIND_MEMBER);
|
ScriptCodeCompletionOption option(E->get().operator String(), ScriptCodeCompletionOption::KIND_MEMBER);
|
||||||
r_result.insert(option.display, option);
|
r_result.insert(option.display, option);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
if (!p_only_functions) {
|
if (!p_only_functions) {
|
||||||
for (const Map<StringName, Variant>::Element *E = script->get_constants().front(); E; E = E->next()) {
|
for (const Map<StringName, Variant>::Element *E = script->get_constants().front(); E; E = E->next()) {
|
||||||
ScriptCodeCompletionOption option(E->key().operator String(), ScriptCodeCompletionOption::KIND_CONSTANT);
|
ScriptCodeCompletionOption option(E->key().operator String(), ScriptCodeCompletionOption::KIND_CONSTANT);
|
||||||
|
|||||||
Reference in New Issue
Block a user