Show buffer name relative to git folder

This commit is contained in:
Cimbali 2017-11-22 22:11:58 +01:00
parent 009f7932fb
commit 33663d7df2
3 changed files with 50 additions and 0 deletions

View File

@ -229,6 +229,12 @@ function! airline#extensions#load()
call add(loaded_ext, 'bufferline') call add(loaded_ext, 'bufferline')
endif endif
if get(g:, 'airline#extensions#fugitiveline#enabled', 1)
\ && exists('*fugitive#head')
call airline#extensions#fugitiveline#init(s:ext)
call add(loaded_ext, 'fugitiveline')
endif
if (get(g:, 'airline#extensions#virtualenv#enabled', 1) && (exists(':VirtualEnvList') || isdirectory($VIRTUAL_ENV))) if (get(g:, 'airline#extensions#virtualenv#enabled', 1) && (exists(':VirtualEnvList') || isdirectory($VIRTUAL_ENV)))
call airline#extensions#virtualenv#init(s:ext) call airline#extensions#virtualenv#init(s:ext)
call add(loaded_ext, 'virtualenv') call add(loaded_ext, 'virtualenv')

View File

@ -0,0 +1,37 @@
" MIT License. Copyright (c) 2017 Cimbali.
" vim: et ts=2 sts=2 sw=2
scriptencoding utf-8
if !exists('*fugitive#head')
finish
endif
if exists("+autochdir") && &autochdir == 1
let s:fmod = ':p'
else
let s:fmod = ':.'
endif
function! airline#extensions#fugitiveline#bufname()
try
let buffer = fugitive#buffer()
if buffer.type('blob')
return fnamemodify(buffer.repo().translate(buffer.path()), s:fmod)
endif
catch
endtry
return fnamemodify(bufname('%'), s:fmod)
endfunction
function! airline#extensions#fugitiveline#init(ext)
if exists("+autochdir") && &autochdir == 1
" if 'acd' is set, vim-airline uses the path section, so we need to redefine this here as well
call airline#parts#define_raw('path', '%<%{airline#extensions#fugitiveline#bufname()}%m')
else
call airline#parts#define_raw('file', '%<%{airline#extensions#fugitiveline#bufname()}%m')
endif
endfunction

View File

@ -400,6 +400,13 @@ vim-bufferline <https://github.com/bling/vim-bufferline>
* determine whether bufferline will overwrite customization variables > * determine whether bufferline will overwrite customization variables >
let g:airline#extensions#bufferline#overwrite_variables = 1 let g:airline#extensions#bufferline#overwrite_variables = 1
< <
------------------------------------- *airline-fugitiveline*
This extension hides the fugitive://**// part of the buffer names, to only
show the file name as if it were in the current working tree.
* enable/disable bufferline integration >
let g:airline#extensions#fugitiveline#enabled = 1
<
------------------------------------- *airline-branch* ------------------------------------- *airline-branch*
vim-airline will display the branch-indicator together with the branch name in vim-airline will display the branch-indicator together with the branch name in