diff options
| author | Rémi Verschelde <rverschelde@gmail.com> | 2024-01-04 14:26:33 +0100 |
|---|---|---|
| committer | Rémi Verschelde <rverschelde@gmail.com> | 2024-01-04 14:26:33 +0100 |
| commit | 01e7c26e39d2d4e3a8dbdb6c42e4640e859d9034 (patch) | |
| tree | 94284bdf02cdcf86b08114dab137ba4a02f3b44a | |
| parent | 50a073cb0e9b30c53fc8b9ecc87b673609d70b0b (diff) | |
| parent | 5c87b6eae85d0210b16166aca3d08389c4ae3df0 (diff) | |
| download | redot-engine-01e7c26e39d2d4e3a8dbdb6c42e4640e859d9034.tar.gz | |
Merge pull request #86753 from Mickeon/autocompletion-engine-singletons
Add autocompletion for `Engine.get_singleton` & similar
| -rw-r--r-- | core/core_bind.cpp | 10 | ||||
| -rw-r--r-- | core/core_bind.h | 2 |
2 files changed, 12 insertions, 0 deletions
diff --git a/core/core_bind.cpp b/core/core_bind.cpp index d91c659d1e..a43dce58cb 100644 --- a/core/core_bind.cpp +++ b/core/core_bind.cpp @@ -1718,6 +1718,16 @@ bool Engine::is_printing_error_messages() const { return ::Engine::get_singleton()->is_printing_error_messages(); } +void Engine::get_argument_options(const StringName &p_function, int p_idx, List<String> *r_options) const { + String pf = p_function; + if (p_idx == 0 && (pf == "has_singleton" || pf == "get_singleton" || pf == "unregister_singleton")) { + for (const String &E : get_singleton_list()) { + r_options->push_back(E.quote()); + } + } + Object::get_argument_options(p_function, p_idx, r_options); +} + void Engine::_bind_methods() { ClassDB::bind_method(D_METHOD("set_physics_ticks_per_second", "physics_ticks_per_second"), &Engine::set_physics_ticks_per_second); ClassDB::bind_method(D_METHOD("get_physics_ticks_per_second"), &Engine::get_physics_ticks_per_second); diff --git a/core/core_bind.h b/core/core_bind.h index 715e26cf23..c53765cdee 100644 --- a/core/core_bind.h +++ b/core/core_bind.h @@ -527,6 +527,8 @@ public: void set_print_error_messages(bool p_enabled); bool is_printing_error_messages() const; + virtual void get_argument_options(const StringName &p_function, int p_idx, List<String> *r_options) const override; + Engine() { singleton = this; } }; |
