use list of funcrecs, allowing window overrides to be dynamically added

This commit is contained in:
Bailey Ling 2013-07-09 03:23:30 +00:00
parent 0c394308e4
commit c0427e435d
3 changed files with 7 additions and 7 deletions

View File

@ -68,7 +68,9 @@ function! s:apply_window_overrides()
let w:airline_section_c = bufname(winbufnr(winnr())) let w:airline_section_c = bufname(winbufnr(winnr()))
endif endif
call airline#extensions#apply_window_overrides() for FuncRef in g:airline_window_override_funcrefs
call FuncRef()
endfor
endfunction endfunction
function! airline#update_externals() function! airline#update_externals()

View File

@ -10,12 +10,8 @@ function! airline#extensions#load()
\ 'prog': 'airline#extensions#ctrlp#ctrlp_airline_status', \ 'prog': 'airline#extensions#ctrlp#ctrlp_airline_status',
\ } \ }
endif endif
endfunction
function! s:empty_sections() call add(g:airline_window_override_funcrefs, function('s:apply_window_overrides'))
for section in s:sections
let w:airline_section_{section} = ''
endfor
endfunction endfunction
function! s:override_left_only(section1, section2) function! s:override_left_only(section1, section2)
@ -25,7 +21,7 @@ function! s:override_left_only(section1, section2)
let w:airline_left_only = 1 let w:airline_left_only = 1
endfunction endfunction
function! airline#extensions#apply_window_overrides() function! s:apply_window_overrides()
silent! unlet w:airline_left_only silent! unlet w:airline_left_only
for section in s:sections for section in s:sections
silent! unlet w:airline_section_{section} silent! unlet w:airline_section_{section}

View File

@ -50,6 +50,8 @@ function! s:init()
endif endif
endfunction endfunction
let g:airline_window_override_funcrefs = []
augroup airline augroup airline
au! au!
autocmd ColorScheme * call airline#highlight(['normal']) autocmd ColorScheme * call airline#highlight(['normal'])