improve undotree integration; use exposed statusline functions.
This commit is contained in:
parent
7e563f9c74
commit
9d65486063
|
@ -14,7 +14,6 @@ let s:filetype_overrides = {
|
|||
\ 'netrw': [ 'netrw', '%f' ],
|
||||
\ 'unite': [ 'Unite', '%{unite#get_status_string()}' ],
|
||||
\ 'nerdtree': [ 'NERD', '' ],
|
||||
\ 'undotree': [ 'undotree', '' ],
|
||||
\ 'gundo': [ 'Gundo', '' ],
|
||||
\ 'diff': [ 'diff', '' ],
|
||||
\ 'vimfiler': [ 'vimfiler', '%{vimfiler#get_status_string()}' ],
|
||||
|
@ -125,6 +124,10 @@ function! airline#extensions#load()
|
|||
call airline#extensions#commandt#init(s:ext)
|
||||
endif
|
||||
|
||||
if exists(':UndotreeToggle')
|
||||
call airline#extensions#undotree#init(s:ext)
|
||||
endif
|
||||
|
||||
if g:airline_enable_tagbar && exists(':TagbarToggle')
|
||||
call airline#extensions#tagbar#init(s:ext)
|
||||
endif
|
||||
|
|
|
@ -0,0 +1,21 @@
|
|||
" MIT License. Copyright (c) 2013 Bailey Ling.
|
||||
" vim: et ts=2 sts=2 sw=2
|
||||
|
||||
function! airline#extensions#undotree#apply()
|
||||
if exists('t:undotree')
|
||||
if &ft == 'undotree' && exists('*t:undotree.GetStatusLine')
|
||||
call airline#extensions#apply_left_override('undo', '%{t:undotree.GetStatusLine()}')
|
||||
else
|
||||
call airline#extensions#apply_left_override('undotree', '%f')
|
||||
endif
|
||||
|
||||
if &ft == 'diff' && exists('*t:diffpanel.GetStatusLine')
|
||||
call airline#extensions#apply_left_override('diff', '%{t:diffpanel.GetStatusLine()}')
|
||||
endif
|
||||
endif
|
||||
endfunction
|
||||
|
||||
function! airline#extensions#undotree#init(ext)
|
||||
call a:ext.add_statusline_funcref(function('airline#extensions#undotree#apply'))
|
||||
endfunction
|
||||
|
Loading…
Reference in New Issue