diff options
author | Rémi Verschelde <rverschelde@gmail.com> | 2019-10-09 08:35:05 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-10-09 08:35:05 +0200 |
commit | 55ef6a0f254b965c0db389c8bbd876160a5dab1c (patch) | |
tree | 48b7bb81656930c937545834cd8779973226145f /modules/gdscript/language_server/gdscript_language_protocol.cpp | |
parent | a39aeade5b86b5a95bd3b7555a8c32b7aec9d6bd (diff) | |
parent | 1ab34bc3c21fc8a75060c2e79e281fcba6fea64e (diff) | |
download | redot-engine-55ef6a0f254b965c0db389c8bbd876160a5dab1c.tar.gz |
Merge pull request #32671 from GodotExplorer/lsp-send-godot-class-tree
lsp: Send godot class tree to clients
Diffstat (limited to 'modules/gdscript/language_server/gdscript_language_protocol.cpp')
-rw-r--r-- | modules/gdscript/language_server/gdscript_language_protocol.cpp | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/modules/gdscript/language_server/gdscript_language_protocol.cpp b/modules/gdscript/language_server/gdscript_language_protocol.cpp index ae2aaf6aee..90646f73ba 100644 --- a/modules/gdscript/language_server/gdscript_language_protocol.cpp +++ b/modules/gdscript/language_server/gdscript_language_protocol.cpp @@ -134,6 +134,22 @@ Dictionary GDScriptLanguageProtocol::initialize(const Dictionary &p_params) { } void GDScriptLanguageProtocol::initialized(const Variant &p_params) { + + lsp::GodotCapabilities capabilities; + + DocData *doc = EditorHelp::get_doc_data(); + for (Map<String, DocData::ClassDoc>::Element *E = doc->class_list.front(); E; E = E->next()) { + + lsp::GodotNativeClassInfo gdclass; + gdclass.name = E->get().name; + gdclass.class_doc = &(E->get()); + if (ClassDB::ClassInfo *ptr = ClassDB::classes.getptr(StringName(E->get().name))) { + gdclass.class_info = ptr; + } + capabilities.native_classes.push_back(gdclass); + } + + notify_client("gdscript/capabilities", capabilities.to_json()); } void GDScriptLanguageProtocol::poll() { |