From 11d6e13194bbbc27dbfefdca4d71099804e70b48 Mon Sep 17 00:00:00 2001 From: Andy Stewart Date: Thu, 1 Jun 2023 14:59:56 +0100 Subject: [PATCH] Ensure staging from preview always stages into correct file Fixes #785. --- autoload/gitgutter/hunk.vim | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/autoload/gitgutter/hunk.vim b/autoload/gitgutter/hunk.vim index ba6e0ee..8f939f4 100644 --- a/autoload/gitgutter/hunk.vim +++ b/autoload/gitgutter/hunk.vim @@ -423,6 +423,7 @@ endfunction " Preview window: moves cursor to preview window. function! s:open_hunk_preview_window() let source_wrap = &wrap + let source_window = winnr() if g:gitgutter_preview_win_floating if exists('*nvim_open_win') @@ -484,11 +485,12 @@ function! s:open_hunk_preview_window() endif setlocal filetype=diff buftype=acwrite bufhidden=delete let &l:wrap = source_wrap + let b:source_window = source_window " Reset some defaults in case someone else has changed them. setlocal noreadonly modifiable noswapfile if g:gitgutter_close_preview_on_escape " Ensure cursor goes to the expected window. - nnoremap :wincmd ppclose + nnoremap :execute b:source_window . "wincmd w"pclose endif if exists('&previewpopup') @@ -599,7 +601,7 @@ endfunction function! s:goto_original_window() - noautocmd wincmd p + noautocmd execute b:source_window . "wincmd w" doautocmd WinEnter endfunction