mirror of
https://github.com/vim-airline/vim-airline.git
synced 2024-11-26 18:31:02 +08:00
Add support for ALE, the Async Linting Engine
Ale is a plugin that lints text in the background, as you type! It is new, but under [rapid development](https://github.com/w0rp/ale).
This commit is contained in:
parent
45e5c907be
commit
06351e86df
|
@ -212,6 +212,10 @@ function! airline#extensions#load()
|
|||
call airline#extensions#syntastic#init(s:ext)
|
||||
endif
|
||||
|
||||
if (get(g:, 'airline#extensions#ale#enabled', 1) && exists('g:loaded_ale'))
|
||||
call airline#extensions#ale#init(s:ext)
|
||||
endif
|
||||
|
||||
if get(g:, 'airline#extensions#whitespace#enabled', 1)
|
||||
call airline#extensions#whitespace#init(s:ext)
|
||||
endif
|
||||
|
|
36
autoload/airline/extensions/ale.vim
Normal file
36
autoload/airline/extensions/ale.vim
Normal file
|
@ -0,0 +1,36 @@
|
|||
" MIT License. Copyright (c) 2013-2016 Bjorn Neergaard.
|
||||
" vim: et ts=2 sts=2 sw=2
|
||||
|
||||
if !exists('g:loaded_ale')
|
||||
finish
|
||||
endif
|
||||
|
||||
let s:error_symbol = get(g:, 'airline#extensions#ale#error_symbol', 'E:')
|
||||
let s:warning_symbol = get(g:, 'airline#extensions#ale#warning_symbol', 'W:')
|
||||
|
||||
function! s:count(index)
|
||||
let l:buf = bufnr('%')
|
||||
let l:count = ale#statusline#Count(l:buf)
|
||||
if type(l:count) ==# type(0)
|
||||
let l:count = 0
|
||||
else
|
||||
let l:count = l:count[a:index]
|
||||
endif
|
||||
|
||||
return l:count
|
||||
endfunction
|
||||
|
||||
function! airline#extensions#ale#get_errors()
|
||||
let l:count = s:count(0)
|
||||
return l:count ? s:error_symbol . l:count : ''
|
||||
endfunction
|
||||
|
||||
function! airline#extensions#ale#get_warnings()
|
||||
let l:count = s:count(1)
|
||||
return l:count ? s:warning_symbol . l:count : ''
|
||||
endfunction
|
||||
|
||||
function! airline#extensions#ale#init(ext)
|
||||
call airline#parts#define_function('ale_error_count', 'airline#extensions#ale#get_errors')
|
||||
call airline#parts#define_function('ale_warning_count', 'airline#extensions#ale#get_warnings')
|
||||
endfunction
|
|
@ -102,7 +102,7 @@ function! airline#init#bootstrap()
|
|||
call airline#parts#define_function('ffenc', 'airline#parts#ffenc')
|
||||
call airline#parts#define_empty(['hunks', 'branch', 'obsession', 'tagbar', 'syntastic',
|
||||
\ 'eclim', 'whitespace','windowswap', 'ycm_error_count', 'ycm_warning_count',
|
||||
\ 'neomake_error_count', 'neomake_warning_count'])
|
||||
\ 'neomake_error_count', 'neomake_warning_count', 'ale_error_count', 'ale_warning_count'])
|
||||
call airline#parts#define_text('capslock', '')
|
||||
|
||||
unlet g:airline#init#bootstrapping
|
||||
|
@ -146,9 +146,9 @@ function! airline#init#sections()
|
|||
endif
|
||||
endif
|
||||
if !exists('g:airline_section_error')
|
||||
let g:airline_section_error = airline#section#create(['ycm_error_count', 'syntastic', 'eclim', 'neomake_error_count'])
|
||||
let g:airline_section_error = airline#section#create(['ycm_error_count', 'syntastic', 'eclim', 'neomake_error_count', 'ale_error_count'])
|
||||
endif
|
||||
if !exists('g:airline_section_warning')
|
||||
let g:airline_section_warning = airline#section#create(['ycm_warning_count', 'neomake_warning_count', 'whitespace'])
|
||||
let g:airline_section_warning = airline#section#create(['ycm_warning_count', 'neomake_warning_count', 'ale_warning_count', 'whitespace'])
|
||||
endif
|
||||
endfunction
|
||||
|
|
Loading…
Reference in New Issue
Block a user