aboutsummaryrefslogtreecommitdiff
path: root/runtime/lua/vim/lsp/callbacks.lua
diff options
context:
space:
mode:
authorAshkan Kiani <ashkan.k.kiani@gmail.com>2019-12-20 02:50:37 -0800
committerGitHub <noreply@github.com>2019-12-20 02:50:37 -0800
commit026ba804d173c41ab99ee270c93f7975c1d6d713 (patch)
tree89f645a592cfb8a70e63c60232f94fd4426cc17a /runtime/lua/vim/lsp/callbacks.lua
parentd00c624ba4731ba7bfe9bd71e2cc32e54f886342 (diff)
downloadrneovim-026ba804d173c41ab99ee270c93f7975c1d6d713.tar.gz
rneovim-026ba804d173c41ab99ee270c93f7975c1d6d713.tar.bz2
rneovim-026ba804d173c41ab99ee270c93f7975c1d6d713.zip
LSP: Improve the display of the default hover callback. (#11576)
Strips the code blocks from markdown and does syntax highlighting.
Diffstat (limited to 'runtime/lua/vim/lsp/callbacks.lua')
-rw-r--r--runtime/lua/vim/lsp/callbacks.lua14
1 files changed, 10 insertions, 4 deletions
diff --git a/runtime/lua/vim/lsp/callbacks.lua b/runtime/lua/vim/lsp/callbacks.lua
index 4fc3f74519..a3cd521b86 100644
--- a/runtime/lua/vim/lsp/callbacks.lua
+++ b/runtime/lua/vim/lsp/callbacks.lua
@@ -68,16 +68,22 @@ M['textDocument/completion'] = function(_, _, result)
end
M['textDocument/hover'] = function(_, method, result)
- util.focusable_preview(method, function()
+ util.focusable_float(method, function()
if not (result and result.contents) then
- return { 'No information available' }
+ -- return { 'No information available' }
+ return
end
local markdown_lines = util.convert_input_to_markdown_lines(result.contents)
markdown_lines = util.trim_empty_lines(markdown_lines)
if vim.tbl_isempty(markdown_lines) then
- return { 'No information available' }
+ -- return { 'No information available' }
+ return
end
- return markdown_lines, util.try_trim_markdown_code_blocks(markdown_lines)
+ local bufnr, winnr = util.fancy_floating_markdown(markdown_lines, {
+ pad_left = 1; pad_right = 1;
+ })
+ util.close_preview_autocmd({"CursorMoved", "BufHidden", "InsertCharPre"}, winnr)
+ return bufnr, winnr
end)
end