diff --git a/autoload/airline/extensions/eclim.vim b/autoload/airline/extensions/eclim.vim index ff6a84fe..68360466 100644 --- a/autoload/airline/extensions/eclim.vim +++ b/autoload/airline/extensions/eclim.vim @@ -17,12 +17,18 @@ endfunction function! airline#extensions#eclim#get_warnings() let eclimList = eclim#display#signs#GetExisting() + if !empty(eclimList) - let errorsLine = eclimList[0]['line'] - let errorsNumber = len(eclimList) - let errors = "[Eclim: line:".string(errorsLine)." (".string(errorsNumber).")]" - if !exists(':SyntasticCheck') || SyntasticStatuslineFlag() == '' - return errors.(g:airline_symbols.space) + " Remove any non-eclim signs (see eclim#display#signs#Update) + call filter(eclimList, "v:val.name =~ '^\(qf_\)\?\(error\|info\|warning\)$'") + + if !empty(eclimList) + let errorsLine = eclimList[0]['line'] + let errorsNumber = len(eclimList) + let errors = "[Eclim: line:".string(errorsLine)." (".string(errorsNumber).")]" + if !exists(':SyntasticCheck') || SyntasticStatuslineFlag() == '' + return errors.(g:airline_symbols.space) + endif endif endif return ''