summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlbert Cervin <albert@acervin.com>2025-11-05 23:24:20 +0100
committerAlbert Cervin <albert@acervin.com>2025-11-05 23:24:20 +0100
commitbf913b7879235ff3d83f9c78722bd1f0a16f4562 (patch)
treeda53685cb03339f639f80b3da6639a7a1552e01f
parentadb65be595a207d6674b14885e3b82397e1ae59f (diff)
downloaddged-bf913b7879235ff3d83f9c78722bd1f0a16f4562.tar.gz
dged-bf913b7879235ff3d83f9c78722bd1f0a16f4562.tar.xz
dged-bf913b7879235ff3d83f9c78722bd1f0a16f4562.zip
Check if LSP help is empty
Then do not display anything and warn user with a message that no help was available.
-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);