add g:lsp_hover_ui

This commit is contained in:
Prabir Shrestha
2021-03-03 03:20:33 +00:00
parent c5e8fa97a4
commit 09cadddb9a
3 changed files with 17 additions and 4 deletions

View File

@@ -12,7 +12,7 @@ let s:Buffer = vital#lsp#import('VS.Vim.Buffer')
" }
function! lsp#internal#document_hover#under_cursor#do(options) abort
let l:bufnr = bufnr('%')
let l:ui = get(a:options, 'ui', g:lsp_preview_float ? 'float' : 'preview')
let l:ui = get(a:options, 'ui', s:FloatingWindow.is_available() ? 'float' : 'preview')
if has_key(a:options, 'server')
let l:servers = [a:options['server']]
else
@@ -63,11 +63,9 @@ function! s:show_hover(ui, server_name, request, response) abort
if s:FloatingWindow.is_available() && a:ui ==? 'float'
" show floating window
call s:show_floating_window(a:server_name, a:request, a:response)
elseif a:ui ==? 'preview'
else
" FIXME: user preview window
call lsp#ui#vim#output#preview(a:server_name, a:response['result']['contents'], {'statusline': ' LSP Hover'})
else
call lsp#utils#error('Invalid ui for LspHover')
endif
endfunction

View File

@@ -65,6 +65,7 @@ CONTENTS *vim-lsp-contents*
g:lsp_signature_help_enabled |g:lsp_signature_help_enabled|
g:lsp_fold_enabled |g:lsp_fold_enabled|
g:lsp_hover_conceal |g:lsp_hover_conceal|
g:lsp_hover_ui |g:lsp_hover_ui|
g:lsp_ignorecase |g:lsp_ignorecase|
g:lsp_log_file |g:lsp_log_file|
g:lsp_semantic_enabled |g:lsp_semantic_enabled|
@@ -859,6 +860,19 @@ g:lsp_hover_conceal *g:lsp_hover_conceal*
To override this setting per server, see
|vim-lsp-server_info-hover_conceal|.
g:lsp_hover_ui *g:lsp_hover_ui*
Type: |String|
Default: `''`
Controls deafult UI behavior for |LspHover|.
If empty string, defaults to `float` is popup is supported in vim or
floating window is supported in neovim else uses |preview-window|.
Example: >
let g:lsp_hover_ui = ''
let g:lsp_hover_ui = 'float'
let g:lsp_hover_ui = 'preview'
g:lsp_ignorecase *g:lsp_ignorecase*
Type: |Boolean|
Default: the value of 'ignorecase'

View File

@@ -60,6 +60,7 @@ let g:lsp_signature_help_delay = get(g:, 'lsp_signature_help_delay', 200)
let g:lsp_show_workspace_edits = get(g:, 'lsp_show_workspace_edits', 0)
let g:lsp_fold_enabled = get(g:, 'lsp_fold_enabled', 1)
let g:lsp_hover_conceal = get(g:, 'lsp_hover_conceal', 1)
let g:lsp_hover_ui = get(g:, 'lsp_hover_ui', '')
let g:lsp_ignorecase = get(g:, 'lsp_ignorecase', &ignorecase)
let g:lsp_semantic_enabled = get(g:, 'lsp_semantic_enabled', 0)
let g:lsp_text_document_did_save_delay = get(g:, 'lsp_text_document_did_save_delay', -1)