From c0427e435d2eb2170517438ddd4f0b5fa7a8b691 Mon Sep 17 00:00:00 2001 From: Bailey Ling Date: Tue, 9 Jul 2013 03:23:30 +0000 Subject: [PATCH] use list of funcrecs, allowing window overrides to be dynamically added --- autoload/airline.vim | 4 +++- autoload/airline/extensions.vim | 8 ++------ plugin/airline.vim | 2 ++ 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/autoload/airline.vim b/autoload/airline.vim index d1f6c446..7e52f72c 100644 --- a/autoload/airline.vim +++ b/autoload/airline.vim @@ -68,7 +68,9 @@ function! s:apply_window_overrides() let w:airline_section_c = bufname(winbufnr(winnr())) endif - call airline#extensions#apply_window_overrides() + for FuncRef in g:airline_window_override_funcrefs + call FuncRef() + endfor endfunction function! airline#update_externals() diff --git a/autoload/airline/extensions.vim b/autoload/airline/extensions.vim index 600d3ee4..5b7f0675 100644 --- a/autoload/airline/extensions.vim +++ b/autoload/airline/extensions.vim @@ -10,12 +10,8 @@ function! airline#extensions#load() \ 'prog': 'airline#extensions#ctrlp#ctrlp_airline_status', \ } endif -endfunction -function! s:empty_sections() - for section in s:sections - let w:airline_section_{section} = '' - endfor + call add(g:airline_window_override_funcrefs, function('s:apply_window_overrides')) endfunction function! s:override_left_only(section1, section2) @@ -25,7 +21,7 @@ function! s:override_left_only(section1, section2) let w:airline_left_only = 1 endfunction -function! airline#extensions#apply_window_overrides() +function! s:apply_window_overrides() silent! unlet w:airline_left_only for section in s:sections silent! unlet w:airline_section_{section} diff --git a/plugin/airline.vim b/plugin/airline.vim index 1827a775..ebe3a5db 100644 --- a/plugin/airline.vim +++ b/plugin/airline.vim @@ -50,6 +50,8 @@ function! s:init() endif endfunction +let g:airline_window_override_funcrefs = [] + augroup airline au! autocmd ColorScheme * call airline#highlight(['normal'])