[gnome-builder] lsp: Improve compatibility with textDocument/hover
- From: Christian Hergert <chergert src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-builder] lsp: Improve compatibility with textDocument/hover
- Date: Mon, 28 Mar 2022 20:11:27 +0000 (UTC)
commit fd803f606f6bc5ea7af5a3fdbf325a1f0165c212
Author: JCWasmx86 <JCWasmx86 t-online de>
Date: Sun Mar 27 18:31:50 2022 +0200
lsp: Improve compatibility with textDocument/hover
Before this commit, only the first item of the contents of the response where shown.
This means, e.g. in the case of eclipse.jdt.ls that is returning several MarkedStrings, only the first
one is shown.
With this commit, all informations are shown.
src/libide/lsp/ide-lsp-hover-provider.c | 11 +++++++----
1 file changed, 7 insertions(+), 4 deletions(-)
---
diff --git a/src/libide/lsp/ide-lsp-hover-provider.c b/src/libide/lsp/ide-lsp-hover-provider.c
index 1ca2fc900..43ac69e32 100644
--- a/src/libide/lsp/ide-lsp-hover-provider.c
+++ b/src/libide/lsp/ide-lsp-hover-provider.c
@@ -108,7 +108,7 @@ parse_marked_string (GVariant *v)
else
{
g_variant_iter_init (&iter, v);
- if ((item = g_variant_iter_next_value (&iter)))
+ while ((item = g_variant_iter_next_value (&iter)))
{
GVariant *asv = item;
g_autoptr(GVariant) child2 = NULL;
@@ -133,7 +133,7 @@ parse_marked_string (GVariant *v)
g_string_append (str, value);
#else
if (!ide_str_empty0 (value))
- g_string_append_printf (gstr, "```\n%s\n```", value);
+ g_string_append_printf (gstr, "```\n%s\n```\n", value);
#endif
}
@@ -141,8 +141,11 @@ parse_marked_string (GVariant *v)
}
}
if (gstr->len)
- return ide_marked_content_new_from_data (gstr->str, gstr->len, IDE_MARKED_KIND_MARKDOWN);
-
+ {
+ while (g_ascii_isspace(gstr->str[gstr->len]))
+ g_string_erase (gstr, gstr->len - 1, 1);
+ return ide_marked_content_new_from_data (gstr->str, gstr->len, IDE_MARKED_KIND_MARKDOWN);
+ }
return NULL;
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]