Support for neomake

Added support for neomake plugin; similar to syntastic.
Shows warning and error counts in the airline statusbar.
This commit is contained in:
Saad Malik 2016-09-26 20:57:51 -07:00 committed by Christian Brabandt
parent 1c052e39b1
commit 3c33251ee7
3 changed files with 33 additions and 3 deletions

View File

@ -216,6 +216,10 @@ function! airline#extensions#load()
call airline#extensions#whitespace#init(s:ext) call airline#extensions#whitespace#init(s:ext)
endif endif
if (get(g:, 'airline#extensions#neomake#enabled', 1) && exists(':Neomake'))
call airline#extensions#neomake#init(s:ext)
endif
if get(g:, 'airline#extensions#po#enabled', 1) && executable('msgfmt') if get(g:, 'airline#extensions#po#enabled', 1) && executable('msgfmt')
call airline#extensions#po#init(s:ext) call airline#extensions#po#init(s:ext)
endif endif

View File

@ -0,0 +1,25 @@
" vim: et ts=2 sts=2 sw=2
if !exists(':Neomake')
finish
endif
let s:error_symbol = get(g:, 'airline#extensions#neomake#error_symbol', 'E:')
let s:warning_symbol = get(g:, 'airline#extensions#neomake#warning_symbol', 'W:')
function! airline#extensions#neomake#get_warnings()
let counts = neomake#statusline#LoclistCounts()
let warnings = get(counts, 'W', 0)
return warnings ? s:warning_symbol.warnings : ''
endfunction
function! airline#extensions#neomake#get_errors()
let counts = neomake#statusline#LoclistCounts()
let errors = get(counts, 'E', 0)
return errors ? s:error_symbol.errors : ''
endfunction
function! airline#extensions#neomake#init(ext)
call airline#parts#define_function('neomake_warning_count', 'airline#extensions#neomake#get_warnings')
call airline#parts#define_function('neomake_error_count', 'airline#extensions#neomake#get_errors')
endfunction

View File

@ -96,7 +96,8 @@ function! airline#init#bootstrap()
\ 'accent': 'bold'}) \ 'accent': 'bold'})
call airline#parts#define_function('ffenc', 'airline#parts#ffenc') call airline#parts#define_function('ffenc', 'airline#parts#ffenc')
call airline#parts#define_empty(['hunks', 'branch', 'obsession', 'tagbar', 'syntastic', call airline#parts#define_empty(['hunks', 'branch', 'obsession', 'tagbar', 'syntastic',
\ 'eclim', 'whitespace','windowswap', 'ycm_error_count', 'ycm_warning_count']) \ 'eclim', 'whitespace','windowswap', 'ycm_error_count', 'ycm_warning_count',
\ 'neomake_error_count', 'neomake_warning_count'])
call airline#parts#define_text('capslock', '') call airline#parts#define_text('capslock', '')
unlet g:airline#init#bootstrapping unlet g:airline#init#bootstrapping
@ -140,10 +141,10 @@ function! airline#init#sections()
endif endif
endif endif
if !exists('g:airline_section_error') if !exists('g:airline_section_error')
let g:airline_section_error = airline#section#create(['ycm_error_count', 'syntastic', 'eclim']) let g:airline_section_error = airline#section#create(['ycm_error_count', 'syntastic', 'eclim', 'neomake_error_count'])
endif endif
if !exists('g:airline_section_warning') if !exists('g:airline_section_warning')
let g:airline_section_warning = airline#section#create(['ycm_warning_count', 'whitespace']) let g:airline_section_warning = airline#section#create(['ycm_warning_count', 'neomake_warning_count', 'whitespace'])
endif endif
endfunction endfunction