summaryrefslogtreecommitdiff
path: root/lsp.c
diff options
context:
space:
mode:
authorpommicket <pommicket@gmail.com>2023-08-04 19:35:48 -0400
committerpommicket <pommicket@gmail.com>2023-08-04 19:35:48 -0400
commit45d69107725a02cf6d912a571b771da3ef5abfbf (patch)
tree6b5d44104f57074dc00f1bab8eed986ca707b8a2 /lsp.c
parentf278b832dc6e085d05b243bbae2af82e78e36d6d (diff)
textDocument/documentLink parsing
Diffstat (limited to 'lsp.c')
-rw-r--r--lsp.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/lsp.c b/lsp.c
index cac2bea..77e1454 100644
--- a/lsp.c
+++ b/lsp.c
@@ -54,6 +54,7 @@ void lsp_request_free(LSPRequest *r) {
case LSP_REQUEST_HIGHLIGHT:
case LSP_REQUEST_DID_CLOSE:
case LSP_REQUEST_WORKSPACE_FOLDERS:
+ case LSP_REQUEST_DOCUMENT_LINK:
break;
case LSP_REQUEST_CONFIGURATION: {
LSPRequestConfiguration *config = &r->data.configuration;
@@ -112,6 +113,9 @@ void lsp_response_free(LSPResponse *r) {
case LSP_REQUEST_REFERENCES:
arr_free(r->data.references.locations);
break;
+ case LSP_REQUEST_DOCUMENT_LINK:
+ arr_free(r->data.document_link.links);
+ break;
default:
break;
}
@@ -193,6 +197,8 @@ static bool lsp_supports_request(LSP *lsp, const LSPRequest *request) {
return cap->highlight_support;
case LSP_REQUEST_REFERENCES:
return cap->references_support;
+ case LSP_REQUEST_DOCUMENT_LINK:
+ return cap->document_link_support;
}
assert(0);
return false;
@@ -232,6 +238,7 @@ static bool request_type_is_notification(LSPRequestType type) {
case LSP_REQUEST_RENAME:
case LSP_REQUEST_WORKSPACE_SYMBOLS:
case LSP_REQUEST_WORKSPACE_FOLDERS:
+ case LSP_REQUEST_DOCUMENT_LINK:
return false;
}
assert(0);