From a8376ca6735244af8f525f11c6cde4dd1add75f4 Mon Sep 17 00:00:00 2001 From: Yegappan Lakshmanan Date: Sun, 20 Dec 2020 23:11:57 -0800 Subject: [PATCH] Add additional details for completion --- autoload/lsp.vim | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/autoload/lsp.vim b/autoload/lsp.vim index 1e61efe..604514c 100644 --- a/autoload/lsp.vim +++ b/autoload/lsp.vim @@ -105,11 +105,13 @@ def LSP_processSignaturehelpReply(lspserver: dict, req: dict, reply: d var text = sig.label var hllen = 0 var startcol = 0 - var params_len = sig.parameters->len() - if params_len > 0 && result.activeParameter < params_len - var label = sig.parameters[result.activeParameter].label - hllen = label->len() - startcol = text->stridx(label) + if sig->has_key('parameters') + var params_len = sig.parameters->len() + if params_len > 0 && result.activeParameter < params_len + var label = sig.parameters[result.activeParameter].label + hllen = label->len() + startcol = text->stridx(label) + endif endif var popupID = popup_atcursor(text, {}) prop_type_add('signature', {'bufnr': popupID->winbufnr(), 'highlight': 'Title'}) @@ -170,6 +172,12 @@ def LSP_processCompletionReply(lspserver: dict, req: dict, reply: dict # map LSP kind to complete-item-kind d.kind = LSP_completeItemKindChar(item.kind) endif + if item->has_key('detail') + d.menu = item.detail + endif + if item->has_key('documentation') + d.info = item.documentation + endif lspserver.completeItems->add(d) endfor -- 2.48.1