From 57ca6c9e782c1ca9b85150a386100c5af89894ac Mon Sep 17 00:00:00 2001 From: Christian Brabandt Date: Wed, 28 Sep 2016 21:20:37 +0200 Subject: [PATCH] include workaround from c1704a2de0e3d963714a add workaround from commit c1704a2de0e3d963714a to prevent overwriting v:shell_error --- autoload/airline/extensions/branch.vim | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/autoload/airline/extensions/branch.vim b/autoload/airline/extensions/branch.vim index a877c181..56a49666 100644 --- a/autoload/airline/extensions/branch.vim +++ b/autoload/airline/extensions/branch.vim @@ -248,7 +248,18 @@ function! s:check_in_path() return b:airline_file_in_root endfunction -function! s:reset_untracked_cache() +function! s:reset_untracked_cache(shellcmdpost) + if !s:has_async + if a:shellcmdpost + " function called after executing a shell command, + " only clear cache, if there was no error, else the + " system() command from get_git_untracked() would + " overwrite the v:shell_error status + if v:shell_error + return + endif + endif + endif if exists("s:untracked_git") let s:untracked_git={} endif @@ -263,5 +274,7 @@ function! airline#extensions#branch#init(ext) autocmd BufReadPost * unlet! b:airline_file_in_root autocmd CursorHold,ShellCmdPost,CmdwinLeave * unlet! b:airline_head autocmd User AirlineBeforeRefresh unlet! b:airline_head - autocmd ShellCmdPost,BufWritePost * call s:reset_untracked_cache() + autocmd BufWritePost * call s:reset_untracked_cache(0) + autocmd ShellCmdPost * call s:reset_untracked_cache(1) + endfunction