diff --git a/autoload/lsp/ui/vim/output.vim b/autoload/lsp/ui/vim/output.vim index 7b52f4c11..08442741b 100644 --- a/autoload/lsp/ui/vim/output.vim +++ b/autoload/lsp/ui/vim/output.vim @@ -202,10 +202,8 @@ function! lsp#ui#vim#output#preview(data) abort let l:bufferlines = line('$') let l:maxwidth = max(map(getline(1, '$'), 'strdisplaywidth(v:val)')) - if g:lsp_preview_keep_focus - " restore focus to the previous window - call win_gotoid(l:current_window_id) - endif + " restore focus to the previous window + call win_gotoid(l:current_window_id) echo '' @@ -216,6 +214,11 @@ function! lsp#ui#vim#output#preview(data) abort endif doautocmd User lsp_float_opened endif + + if !g:lsp_preview_keep_focus + " set the focus to the preview window + call win_gotoid(s:winid) + endif return '' endfunction