From 6a8303f82f78646d77bc3f18b7083313005485c9 Mon Sep 17 00:00:00 2001 From: geequlim Date: Thu, 3 Oct 2019 16:26:55 +0800 Subject: Implement DocumentLink of GDScript LSP Server --- modules/gdscript/language_server/lsp.hpp | 35 ++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) (limited to 'modules/gdscript/language_server/lsp.hpp') diff --git a/modules/gdscript/language_server/lsp.hpp b/modules/gdscript/language_server/lsp.hpp index 3e57b6ee7e..e60e28cc15 100644 --- a/modules/gdscript/language_server/lsp.hpp +++ b/modules/gdscript/language_server/lsp.hpp @@ -199,6 +199,41 @@ struct TextDocumentPositionParams { } }; +struct DocumentLinkParams { + /** + * The document to provide document links for. + */ + TextDocumentIdentifier textDocument; + + _FORCE_INLINE_ void load(const Dictionary &p_params) { + textDocument.load(p_params["textDocument"]); + } +}; + +/** + * A document link is a range in a text document that links to an internal or external resource, like another + * text document or a web site. + */ +struct DocumentLink { + + /** + * The range this link applies to. + */ + Range range; + + /** + * The uri this link points to. If missing a resolve request is sent later. + */ + DocumentUri target; + + Dictionary to_json() const { + Dictionary dict; + dict["range"] = range.to_json(); + dict["target"] = target; + return dict; + } +}; + /** * A textual edit applicable to a text document. */ -- cgit v1.2.3