account for plugins which use eventignore. resolves #82.
This commit is contained in:
parent
d56b9bbfcd
commit
d107c4fd5d
@ -43,7 +43,9 @@ call s:check_defined('g:airline_mode_map', {
|
|||||||
\ })
|
\ })
|
||||||
|
|
||||||
let s:airline_initialized = 0
|
let s:airline_initialized = 0
|
||||||
function! s:init()
|
let s:active_winnr = -1
|
||||||
|
function! s:on_window_changed()
|
||||||
|
let s:active_winnr = winnr()
|
||||||
if !s:airline_initialized
|
if !s:airline_initialized
|
||||||
call airline#extensions#load()
|
call airline#extensions#load()
|
||||||
call airline#update_externals()
|
call airline#update_externals()
|
||||||
@ -57,6 +59,14 @@ function! s:init()
|
|||||||
call s:check_defined('g:airline_section_z', '%3p%% '.g:airline_linecolumn_prefix.'%3l:%3c')
|
call s:check_defined('g:airline_section_z', '%3p%% '.g:airline_linecolumn_prefix.'%3l:%3c')
|
||||||
let s:airline_initialized = 1
|
let s:airline_initialized = 1
|
||||||
endif
|
endif
|
||||||
|
call airline#update_statusline()
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
" non-trivial number of external plugins use eventignore=all, so we need to account for that
|
||||||
|
function! s:sync_active_winnr()
|
||||||
|
if winnr() != s:active_winnr
|
||||||
|
call airline#update_statusline()
|
||||||
|
endif
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
function! s:get_airline_themes(a, l, p)
|
function! s:get_airline_themes(a, l, p)
|
||||||
@ -75,6 +85,7 @@ command! -nargs=? -complete=customlist,<sid>get_airline_themes AirlineTheme call
|
|||||||
augroup airline
|
augroup airline
|
||||||
au!
|
au!
|
||||||
autocmd ColorScheme * call airline#highlight(['normal'])
|
autocmd ColorScheme * call airline#highlight(['normal'])
|
||||||
autocmd WinEnter,BufWinEnter,FileType,BufUnload * call <sid>init() | call airline#update_statusline()
|
autocmd WinEnter,BufWinEnter,FileType,BufUnload * call <sid>on_window_changed()
|
||||||
autocmd ShellCmdPost * call airline#update_externals()
|
autocmd ShellCmdPost * call airline#update_externals()
|
||||||
|
autocmd CursorMoved * call <sid>sync_active_winnr()
|
||||||
augroup END
|
augroup END
|
||||||
|
Loading…
Reference in New Issue
Block a user