summaryrefslogtreecommitdiff
path: root/src/main/lsp/help.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/lsp/help.c')
-rw-r--r--src/main/lsp/help.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/main/lsp/help.c b/src/main/lsp/help.c
index e5bcc28..ea89f23 100644
--- a/src/main/lsp/help.c
+++ b/src/main/lsp/help.c
@@ -36,6 +36,13 @@ static void handle_help_response(struct lsp_server *server,
return;
}
+ struct hover help = hover_from_json(&response->value.result);
+ if (s8empty(help.contents)) {
+ minibuffer_echo_timeout(4, "help: no help found");
+ hover_free(&help);
+ return;
+ }
+
struct buffer *b = buffers_find(buffers, "*lsp-help*");
if (b == NULL) {
b = buffers_add(buffers, buffer_create("*lsp-help*"));
@@ -52,8 +59,6 @@ static void handle_help_response(struct lsp_server *server,
buffer_add_keymap(b, km);
}
- struct hover help = hover_from_json(&response->value.result);
-
buffer_set_readonly(b, false);
buffer_clear(b);
buffer_add(b, buffer_end(b), help.contents.s, help.contents.l);