From: Yegappan Lakshmanan Date: Thu, 24 Nov 2022 16:17:04 +0000 (-0800) Subject: Show the language server capabilities in a scratch buffer X-Git-Url: http://www.git.stargrave.org/?a=commitdiff_plain;h=283b5585aca9ad5e52b5b3d4d715e6fee71c1b0e;p=vim-lsp.git Show the language server capabilities in a scratch buffer --- diff --git a/autoload/lsp/callhierarchy.vim b/autoload/lsp/callhierarchy.vim index 53e73d2..01db0dd 100644 --- a/autoload/lsp/callhierarchy.vim +++ b/autoload/lsp/callhierarchy.vim @@ -204,8 +204,8 @@ def CallHierarchyTreeShow(incoming: bool, prepareItem: dict, CallHierarchyTreeRefresh() - setlocal nomodified - setlocal nomodifiable + :setlocal nomodified + :setlocal nomodifiable enddef export def IncomingCalls(lspserver: dict) diff --git a/autoload/lsp/hover.vim b/autoload/lsp/hover.vim index 6374f42..fa7a5be 100644 --- a/autoload/lsp/hover.vim +++ b/autoload/lsp/hover.vim @@ -66,8 +66,8 @@ export def HoverReply(lspserver: dict, hoverResult: any): void if opt.lspOptions.hoverInPreview silent! pedit LspHoverReply wincmd P - setlocal buftype=nofile - setlocal bufhidden=delete + :setlocal buftype=nofile + :setlocal bufhidden=delete bufnr()->deletebufline(1, '$') hoverText->append(0) [1, 1]->cursor() diff --git a/autoload/lsp/lsp.vim b/autoload/lsp/lsp.vim index fe86fbe..cd2ec7b 100644 --- a/autoload/lsp/lsp.vim +++ b/autoload/lsp/lsp.vim @@ -44,7 +44,7 @@ def LspInitOnce() prop_type_add('LspReadRef', {'highlight': 'DiffChange'}) prop_type_add('LspWriteRef', {'highlight': 'DiffDelete'}) - set ballooneval balloonevalterm + :set ballooneval balloonevalterm lspInitializedOnce = true enddef diff --git a/autoload/lsp/lspserver.vim b/autoload/lsp/lspserver.vim index 5329452..b33b0b0 100644 --- a/autoload/lsp/lspserver.vim +++ b/autoload/lsp/lspserver.vim @@ -1479,10 +1479,29 @@ enddef # Display the LSP server capabilities (received during the initialization # stage). def ShowCapabilities(lspserver: dict) - echo $"Capabilities of '{lspserver.path}' LSP server:" + var wid = bufwinid('Language-Server-Capabilities') + if wid != -1 + wid->win_gotoid() + :setlocal modifiable + :silent! :%d _ + else + :new Language-Server-Capabilities + :setlocal buftype=nofile + :setlocal bufhidden=wipe + :setlocal noswapfile + :setlocal nonumber nornu + :setlocal fdc=0 signcolumn=no + endif + var l = [] + var heading = $"'{lspserver.path}' Language Server Capabilities" + var underlines = repeat('=', heading->len()) + l->extend([heading, underlines]) for k in lspserver.caps->keys()->sort() - echo $'{k}: {lspserver.caps[k]->string()}' + l->add($'{k}: {lspserver.caps[k]->string()}') endfor + setline(1, l) + :setlocal nomodified + :setlocal nomodifiable enddef # Send a 'textDocument/definition' request to the LSP server to get the