Skip to content
Closed
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 5 additions & 1 deletion autoload/lsp/ui/vim/output.vim
Original file line number Diff line number Diff line change
Expand Up @@ -4,12 +4,16 @@ function! lsp#ui#vim#output#preview(data) abort

let l:current_window_id = win_getid()

execute &previewheight.'new'
execute g:lsp_preview_position.' '.&previewheight.'new'

let l:ft = s:append(a:data)
" Delete first empty line
0delete

if g:lsp_preview_auto_resize
execute 'resize ' . line('$')
endif

setlocal readonly nomodifiable

let &l:filetype = l:ft . '.lsp-hover'
Expand Down
20 changes: 20 additions & 0 deletions doc/vim-lsp.txt
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,8 @@ CONTENTS *vim-lsp-contents*
Options |vim-lsp-options|
g:lsp_auto_enable |g:lsp_auto_enable|
g:lsp_preview_keep_focus |g:lsp_preview_keep_focus|
g:lsp_preview_position |g:lsp_preview_position|
g:lsp_preview_auto_resize |g:lsp_preview_auto_resize|
Functions |vim-lsp-functions|
enable |vim-lsp-enable|
disable |vim-lsp-disable|
Expand Down Expand Up @@ -119,6 +121,20 @@ g:lsp_preview_keep_focus *g:lsp_preview_keep_focus*

* |preview-window| can be closed using the default vim mapping - `<c-w><c-z>`.

g:lsp_preview_position *g:lsp_preview_position*
Type: |String|
Default: `above`

Indicates the position of the |preview-window| when a |preview-window| is
opened by vim-lsp. It can be `above` or `below`.

g:lsp_preview_auto_resize *g:lsp_preview_auto_resize*
Type: |Number|
Default: `0`

Indicates if the |preview-window| should be automatically resized to fit
its content when it is opened by vim-lsp.

===============================================================================
FUNCTIONS *vim-lsp-functions*

Expand Down Expand Up @@ -312,6 +328,10 @@ Gets the hover information and displays it in the |preview-window|.
* |preview-window| can be closed using the default vim mapping - `<c-w><c-z>`.
* To control the default focus of |preview-window| for |LspHover|
configure |g:lsp_preview_keep_focus|.
* To control the default position of |preview-window| for |LspHover|
configure |g:lsp_preview_position|.
* To control the auto-resizing of the |preview-window| for |LspHover|
configure |g:lsp_preview_auto_resize|.


LspNextError *LspNextError*
Expand Down
2 changes: 2 additions & 0 deletions plugin/lsp.vim
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,8 @@ let g:lsp_diagnostics_echo_cursor = get(g:, 'lsp_diagnostics_echo_cursor', 0)
let g:lsp_diagnostics_echo_delay = get(g:, 'lsp_diagnostics_echo_delay', 500)
let g:lsp_next_sign_id = get(g:, 'lsp_next_sign_id', 6999)
let g:lsp_preview_keep_focus = get(g:, 'lsp_preview_keep_focus', 1)
let g:lsp_preview_position = get(g:, 'lsp_preview_position', 'above')
let g:lsp_preview_auto_resize = get(g:, 'lsp_preview_auto_resize', 0)

if g:lsp_auto_enable
au VimEnter * call lsp#enable()
Expand Down