summaryrefslogtreecommitdiff
path: root/lsp-parse.c
diff options
context:
space:
mode:
Diffstat (limited to 'lsp-parse.c')
-rw-r--r--lsp-parse.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/lsp-parse.c b/lsp-parse.c
index a6ef49f..42a3c7b 100644
--- a/lsp-parse.c
+++ b/lsp-parse.c
@@ -161,6 +161,12 @@ static void parse_capabilities(LSP *lsp, const JSON *json, JSONObject capabiliti
cap->definition_support = true;
}
+ // check for workspace/symbol support
+ JSONValue workspace_symbol_value = json_object_get(json, capabilities, "workspaceSymbolProvider");
+ if (workspace_symbol_value.type != JSON_UNDEFINED) {
+ cap->workspace_symbols_support = true;
+ }
+
JSONObject workspace = json_object_get_object(json, capabilities, "workspace");
// check WorkspaceFoldersServerCapabilities
JSONObject workspace_folders = json_object_get_object(json, workspace, "workspaceFolders");