From 97a24e903a7841f410903087c19eaf728668ec81 Mon Sep 17 00:00:00 2001 From: Andy Stewart Date: Thu, 18 Jun 2020 09:38:43 +0100 Subject: [PATCH] Reset any existing preview window When previewing a hunk we re-use any existing preview window. However we need to reset it for our purposes in case it was used in an incompatible way before. See #713. --- autoload/gitgutter/hunk.vim | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/autoload/gitgutter/hunk.vim b/autoload/gitgutter/hunk.vim index 0460248..f80e93a 100644 --- a/autoload/gitgutter/hunk.vim +++ b/autoload/gitgutter/hunk.vim @@ -440,19 +440,21 @@ function! s:open_hunk_preview_window() endif silent! wincmd P - if !&previewwindow + if &previewwindow + file gitgutter://hunk-preview + else noautocmd execute g:gitgutter_preview_win_location &previewheight 'new gitgutter://hunk-preview' doautocmd WinEnter - if exists('*win_getid') - let s:winid = win_getid() - else - let s:preview_bufnr = bufnr('') - endif set previewwindow - setlocal filetype=diff buftype=acwrite bufhidden=delete - " Reset some defaults in case someone else has changed them. - setlocal noreadonly modifiable noswapfile endif + if exists('*win_getid') + let s:winid = win_getid() + else + let s:preview_bufnr = bufnr('') + endif + setlocal filetype=diff buftype=acwrite bufhidden=delete + " Reset some defaults in case someone else has changed them. + setlocal noreadonly modifiable noswapfile endfunction