@@ -1785,6 +1785,35 @@ void EditorSettings::notify_changes() {
17851785 root->propagate_notification (NOTIFICATION_EDITOR_SETTINGS_CHANGED);
17861786}
17871787
1788+ #ifdef TOOLS_ENABLED
1789+ void EditorSettings::get_argument_options (const StringName &p_function, int p_idx, List<String> *r_options) const {
1790+ const String pf = p_function;
1791+ if (p_idx == 0 ) {
1792+ if (pf == " has_setting" || pf == " set_setting" || pf == " get_setting" || pf == " erase" ||
1793+ pf == " set_initial_value" || pf == " set_as_basic" || pf == " mark_setting_changed" ) {
1794+ for (const KeyValue<String, VariantContainer> &E : props) {
1795+ if (E.value .hide_from_editor ) {
1796+ continue ;
1797+ }
1798+
1799+ r_options->push_back (E.key .quote ());
1800+ }
1801+ } else if (pf == " get_project_metadata" && project_metadata.is_valid ()) {
1802+ List<String> sections;
1803+ project_metadata->get_sections (§ions);
1804+ for (const String §ion : sections) {
1805+ r_options->push_back (section.quote ());
1806+ }
1807+ } else if (pf == " set_builtin_action_override" ) {
1808+ for (const StringName &action : InputMap::get_singleton ()->get_actions ()) {
1809+ r_options->push_back (String (action).quote ());
1810+ }
1811+ }
1812+ }
1813+ Object::get_argument_options (p_function, p_idx, r_options);
1814+ }
1815+ #endif
1816+
17881817void EditorSettings::_bind_methods () {
17891818 ClassDB::bind_method (D_METHOD (" has_setting" , " name" ), &EditorSettings::has_setting);
17901819 ClassDB::bind_method (D_METHOD (" set_setting" , " name" , " value" ), &EditorSettings::set_setting);
0 commit comments