diff options
author | Ashkan Kiani <ashkan.k.kiani@gmail.com> | 2019-12-20 02:50:37 -0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-12-20 02:50:37 -0800 |
commit | 026ba804d173c41ab99ee270c93f7975c1d6d713 (patch) | |
tree | 89f645a592cfb8a70e63c60232f94fd4426cc17a /runtime/lua/vim/lsp/callbacks.lua | |
parent | d00c624ba4731ba7bfe9bd71e2cc32e54f886342 (diff) | |
download | rneovim-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.lua | 14 |
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 |