summaryrefslogtreecommitdiff
path: root/lsp-parse.c
diff options
context:
space:
mode:
authorpommicket <pommicket@gmail.com>2022-12-28 12:08:36 -0500
committerpommicket <pommicket@gmail.com>2022-12-28 12:08:36 -0500
commit92e8db6a364b8d1c38f3c15b8e040f6fb7c564f0 (patch)
tree36339bd5be0ef47a4bc1e6383602d74af8fab496 /lsp-parse.c
parent11df4f10197d67e5b61898bd98cdfccc1159dd26 (diff)
nice signature help (still needs work)
Diffstat (limited to 'lsp-parse.c')
-rw-r--r--lsp-parse.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/lsp-parse.c b/lsp-parse.c
index 2932302..e780ee7 100644
--- a/lsp-parse.c
+++ b/lsp-parse.c
@@ -118,10 +118,14 @@ static void parse_capabilities(LSP *lsp, const JSON *json, JSONObject capabiliti
if (signature_help_value.type == JSON_OBJECT) {
cap->signature_help_support = true;
JSONObject signature_help = signature_help_value.val.object;
+ json_debug_print_object(json, signature_help);
JSONArray trigger_chars = json_object_get_array(json, signature_help, "triggerCharacters");
lsp->signature_help_trigger_chars = parse_trigger_characters(json, trigger_chars);
JSONArray retrigger_chars = json_object_get_array(json, signature_help, "retriggerCharacters");
lsp->signature_help_retrigger_chars = parse_trigger_characters(json, retrigger_chars);
+ // rust-analyzer doesn't have ) or > as a retrigger char which is really weird
+ arr_add(lsp->signature_help_retrigger_chars, ')');
+ arr_add(lsp->signature_help_retrigger_chars, '>');
}
JSONObject workspace = json_object_get_object(json, capabilities, "workspace");