diff options
author | Rémi Verschelde <remi@verschelde.fr> | 2021-09-25 20:43:17 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-09-25 20:43:17 +0200 |
commit | 14dcb97556f08b8b8d0f94a9ae64a445a4096652 (patch) | |
tree | 1cf29cd9047e24d4027d8b3d17b9ba512a84c6ba /modules/gdscript/language_server/gdscript_language_protocol.cpp | |
parent | ff2f1f54a9de0cc7351cb4810dcdc506ec173338 (diff) | |
parent | 9a8421aa058437ce01bc67244bb8dcd0f15fc9e6 (diff) | |
download | redot-engine-14dcb97556f08b8b8d0f94a9ae64a445a4096652.tar.gz |
Merge pull request #50378 from Razoric480/apply-edit-40
Diffstat (limited to 'modules/gdscript/language_server/gdscript_language_protocol.cpp')
-rw-r--r-- | modules/gdscript/language_server/gdscript_language_protocol.cpp | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/modules/gdscript/language_server/gdscript_language_protocol.cpp b/modules/gdscript/language_server/gdscript_language_protocol.cpp index b6c48468f5..bd5a9f01b2 100644 --- a/modules/gdscript/language_server/gdscript_language_protocol.cpp +++ b/modules/gdscript/language_server/gdscript_language_protocol.cpp @@ -284,6 +284,23 @@ void GDScriptLanguageProtocol::notify_client(const String &p_method, const Varia peer->res_queue.push_back(msg.utf8()); } +void GDScriptLanguageProtocol::request_client(const String &p_method, const Variant &p_params, int p_client_id) { + if (p_client_id == -1) { + ERR_FAIL_COND_MSG(latest_client_id == -1, + "GDScript LSP: Can't notify client as none was connected."); + p_client_id = latest_client_id; + } + ERR_FAIL_COND(!clients.has(p_client_id)); + Ref<LSPeer> peer = clients.get(p_client_id); + ERR_FAIL_COND(peer == nullptr); + + Dictionary message = make_request(p_method, p_params, next_server_id); + next_server_id++; + String msg = Variant(message).to_json_string(); + msg = format_output(msg); + peer->res_queue.push_back(msg.utf8()); +} + bool GDScriptLanguageProtocol::is_smart_resolve_enabled() const { return bool(_EDITOR_GET("network/language_server/enable_smart_resolve")); } |