diff --git a/autoload/airline/extensions/fugitiveline.vim b/autoload/airline/extensions/fugitiveline.vim index 1dfbb24d..8f8c1d0d 100644 --- a/autoload/airline/extensions/fugitiveline.vim +++ b/autoload/airline/extensions/fugitiveline.vim @@ -17,7 +17,11 @@ function! airline#extensions#fugitiveline#bufname() try if bufname('%') =~? '^fugitive:' && exists('*FugitiveReal') let b:fugitive_name = FugitiveReal(bufname('%')) - elseif exists('b:git_dir') + elseif exists('b:git_dir') && exists('*fugitive#repo') + if get(b:, 'fugitive_type', '') is# 'blob' + let b:fugitive_name = fugitive#repo().translate(FugitivePath(@%, '')) + endif + elseif exists('b:git_dir') && !exists('*fugitive#repo') let buffer = fugitive#buffer() if buffer.type('blob') let b:fugitive_name = buffer.repo().translate(buffer.path('/'))