mirror of
https://github.com/vim-airline/vim-airline.git
synced 2024-11-25 09:41:33 +08:00
Added function to show line number
The function shows the line number of the first error/warning that appears in the current buffer. If there are 20 warnings and the first warning exists on line 33, then vim-airline would show "W:20(L33)". One can change how the line number is represented using: `g:airline#extensions#ale#open_lnum_symbol` and `airline#extensions#ale#close_lnum_symbol`
This commit is contained in:
parent
4a1f65841c
commit
58328b347c
|
@ -8,6 +8,27 @@ function! s:airline_ale_count(cnt, symbol)
|
||||||
return a:cnt ? a:symbol. a:cnt : ''
|
return a:cnt ? a:symbol. a:cnt : ''
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
|
function! s:airline_ale_get_line_number(cnt, type) abort
|
||||||
|
if a:cnt == 0
|
||||||
|
return ''
|
||||||
|
endif
|
||||||
|
|
||||||
|
let buffer = bufnr('')
|
||||||
|
let problem_type = (a:type ==# 'error') ? 'E' : 'W'
|
||||||
|
let problems = copy(ale#engine#GetLoclist(buffer))
|
||||||
|
|
||||||
|
call filter(problems, 'v:val.bufnr is buffer && v:val.type is# problem_type')
|
||||||
|
|
||||||
|
if empty(problems)
|
||||||
|
return ''
|
||||||
|
endif
|
||||||
|
|
||||||
|
let open_lnum_symbol = get(g:, 'airline#extensions#ale#open_lnum_symbol', '(L')
|
||||||
|
let close_lnum_symbol = get(g:, 'airline#extensions#ale#close_lnum_symbol', ')')
|
||||||
|
|
||||||
|
return open_lnum_symbol . problems[0].lnum . close_lnum_symbol
|
||||||
|
endfunction
|
||||||
|
|
||||||
function! airline#extensions#ale#get(type)
|
function! airline#extensions#ale#get(type)
|
||||||
if !exists(':ALELint')
|
if !exists(':ALELint')
|
||||||
return ''
|
return ''
|
||||||
|
@ -29,7 +50,7 @@ function! airline#extensions#ale#get(type)
|
||||||
let num = is_err ? counts[0] : counts[1]
|
let num = is_err ? counts[0] : counts[1]
|
||||||
endif
|
endif
|
||||||
|
|
||||||
return s:airline_ale_count(num, symbol)
|
return s:airline_ale_count(num, symbol) . <sid>airline_ale_get_line_number(num, a:type)
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
function! airline#extensions#ale#get_warning()
|
function! airline#extensions#ale#get_warning()
|
||||||
|
|
|
@ -987,6 +987,12 @@ ale <https://github.com/w0rp/ale>
|
||||||
* ale warning >
|
* ale warning >
|
||||||
let airline#extensions#ale#warning_symbol = 'W:'
|
let airline#extensions#ale#warning_symbol = 'W:'
|
||||||
<
|
<
|
||||||
|
* ale open_lnum_symbol >
|
||||||
|
let airline#extensions#ale#open_lnum_symbol = '(L'
|
||||||
|
<
|
||||||
|
* ale close_lnum_symbol >
|
||||||
|
let airline#extensions#ale#close_lnum_symbol = ')'
|
||||||
|
<
|
||||||
------------------------------------- *airline-neomake*
|
------------------------------------- *airline-neomake*
|
||||||
neomake <https://github.com/neomake/neomake>
|
neomake <https://github.com/neomake/neomake>
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user