summaryrefslogtreecommitdiffstats
path: root/modules/gdscript/language_server/gdscript_text_document.cpp
diff options
context:
space:
mode:
authorgeequlim <geequlim@gmail.com>2019-10-03 16:26:55 +0800
committergeequlim <geequlim@gmail.com>2019-10-03 18:51:03 +0800
commit6a8303f82f78646d77bc3f18b7083313005485c9 (patch)
tree121a0e02d66158c8bee22b25ad67c979c03b7eae /modules/gdscript/language_server/gdscript_text_document.cpp
parentd1a6964d3965ced647226e0489ca50f1f28aacd2 (diff)
downloadredot-engine-6a8303f82f78646d77bc3f18b7083313005485c9.tar.gz
Implement DocumentLink of GDScript LSP Server
Diffstat (limited to 'modules/gdscript/language_server/gdscript_text_document.cpp')
-rw-r--r--modules/gdscript/language_server/gdscript_text_document.cpp13
1 files changed, 11 insertions, 2 deletions
diff --git a/modules/gdscript/language_server/gdscript_text_document.cpp b/modules/gdscript/language_server/gdscript_text_document.cpp
index 7c58c7aa15..f51f3671dd 100644
--- a/modules/gdscript/language_server/gdscript_text_document.cpp
+++ b/modules/gdscript/language_server/gdscript_text_document.cpp
@@ -271,8 +271,17 @@ Array GDScriptTextDocument::codeLens(const Dictionary &p_params) {
return arr;
}
-Variant GDScriptTextDocument::documentLink(const Dictionary &p_params) {
- Variant ret;
+Array GDScriptTextDocument::documentLink(const Dictionary &p_params) {
+ Array ret;
+
+ lsp::DocumentLinkParams params;
+ params.load(p_params);
+
+ List<lsp::DocumentLink> links;
+ GDScriptLanguageProtocol::get_singleton()->get_workspace()->resolve_document_links(params.textDocument.uri, links);
+ for (const List<lsp::DocumentLink>::Element *E = links.front(); E; E = E->next()) {
+ ret.push_back(E->get().to_json());
+ }
return ret;
}