]> Sergey Matveev's repositories - vim-lsp.git/commitdiff
Show the language server capabilities in a scratch buffer
authorYegappan Lakshmanan <yegappan@yahoo.com>
Thu, 24 Nov 2022 16:17:04 +0000 (08:17 -0800)
committerYegappan Lakshmanan <yegappan@yahoo.com>
Thu, 24 Nov 2022 16:17:04 +0000 (08:17 -0800)
autoload/lsp/callhierarchy.vim
autoload/lsp/hover.vim
autoload/lsp/lsp.vim
autoload/lsp/lspserver.vim

index 53e73d24bb28c5d880597147249942afcf9a7e0e..01db0ddc7bed9d71d75e2971633b5c613626bb17 100644 (file)
@@ -204,8 +204,8 @@ def CallHierarchyTreeShow(incoming: bool, prepareItem: dict<any>,
 
   CallHierarchyTreeRefresh()
 
-  setlocal nomodified
-  setlocal nomodifiable
+  :setlocal nomodified
+  :setlocal nomodifiable
 enddef
 
 export def IncomingCalls(lspserver: dict<any>)
index 6374f424f22f77eff0ce4375d97d7fbd12d9633c..fa7a5be103bd656f2e1666f384601158ad289e47 100644 (file)
@@ -66,8 +66,8 @@ export def HoverReply(lspserver: dict<any>, 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()
index fe86fbef75a9ae1b50e2f02337e62f2b5e11deee..cd2ec7bb717451c4760c598d57a81f33d86b5107 100644 (file)
@@ -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
 
index 53294522f20644da36e00d50873ad64d4fa3f857..b33b0b0eb7fee6dbf14a2eb7adc9398da4719e28 100644 (file)
@@ -1479,10 +1479,29 @@ enddef
 # Display the LSP server capabilities (received during the initialization
 # stage).
 def ShowCapabilities(lspserver: dict<any>)
-  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