From 87c8bd6eb27edb4bfc539967235c3a1e2f8d77e4 Mon Sep 17 00:00:00 2001 From: pommicket Date: Tue, 3 Jan 2023 17:29:19 -0500 Subject: go to declaration --- lsp-parse.c | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'lsp-parse.c') diff --git a/lsp-parse.c b/lsp-parse.c index 14db651..9c22fe4 100644 --- a/lsp-parse.c +++ b/lsp-parse.c @@ -163,6 +163,12 @@ static void parse_capabilities(LSP *lsp, const JSON *json, JSONObject capabiliti cap->definition_support = true; } + // check for declaration support + JSONValue declaration_value = json_object_get(json, capabilities, "declarationProvider"); + if (declaration_value.type != JSON_UNDEFINED && declaration_value.type != JSON_FALSE) { + cap->declaration_support = true; + } + // check for textDocument/documentHighlight support JSONValue highlight_value = json_object_get(json, capabilities, "documentHighlightProvider"); if (highlight_value.type != JSON_UNDEFINED && highlight_value.type != JSON_FALSE) { @@ -883,6 +889,7 @@ void process_message(LSP *lsp, JSON *json) { add_to_messages = parse_hover(lsp, json, &response); break; case LSP_REQUEST_DEFINITION: + case LSP_REQUEST_DECLARATION: add_to_messages = parse_definition(lsp, json, &response); break; case LSP_REQUEST_HIGHLIGHT: -- cgit v1.2.3