Preserve alternate buffer when processing realtime diff.

See #238.
This commit is contained in:
Andy Stewart
2015-03-10 10:17:34 +01:00
parent a86a32c530
commit 3420cbf6cb
4 changed files with 21 additions and 1 deletions

View File

@@ -30,7 +30,7 @@ function! gitgutter#diff#run_diff(realtime, use_external_grep)
let buff_file .= '.'.extension
endif
let cmd .= 'git show '.blob_name.' > '.blob_file.' && '
execute 'silent write' buff_file
execute 'keepalt silent write' buff_file
endif
let cmd .= 'git diff --no-ext-diff --no-color -U0 '.g:gitgutter_diff_args.' -- '

View File

@@ -20,3 +20,8 @@ function! DumpGitDiffStaged(filename)
call system('git diff --staged fixture.txt > '.a:filename.'.actual')
endfunction
function! Dump(text, filename)
let msg = type(a:text) == 1 ? split(a:text, '\n') : a:text
call writefile(msg, a:filename.'.actual', 'a')
endfunction

3
test/keepAlt.expected Normal file
View File

@@ -0,0 +1,3 @@
buffer: fixture.txt
altbuffer:
altbuffer:

12
test/testKeepAlt.vim Normal file
View File

@@ -0,0 +1,12 @@
source helper.vim
call Setup()
enew
execute "normal! \<C-^>"
call Dump('buffer: '.bufname(''), 'keepAlt')
call Dump('altbuffer: '.bufname('#'), 'keepAlt')
normal ggx
doautocmd CursorHold
call Dump('altbuffer: '.bufname('#'), 'keepAlt')