41ff80dc9e
* Use sign-group only on supported vim versions. The sign-group feature is only available in nvim 0.4.0 and vim 8.1.614. * Add priority to ALE signs. This allows users to set a priority to ALE signs to take precedence over other plugin signs.
57 lines
1.3 KiB
Text
57 lines
1.3 KiB
Text
Before:
|
|
Save g:ale_max_signs
|
|
|
|
let g:ale_max_signs = -1
|
|
|
|
function! SetNProblems(sign_count)
|
|
let l:loclist = []
|
|
let l:range = range(1, a:sign_count)
|
|
call setline(1, l:range)
|
|
|
|
for l:index in l:range
|
|
call add(l:loclist, {
|
|
\ 'bufnr': bufnr(''),
|
|
\ 'lnum': l:index,
|
|
\ 'col': 1,
|
|
\ 'type': 'E',
|
|
\ 'text': 'a',
|
|
\})
|
|
endfor
|
|
|
|
call ale#sign#SetSigns(bufnr(''), l:loclist)
|
|
|
|
return sort(map(ale#sign#FindCurrentSigns(bufnr(''))[1], 'v:val[0]'), 'n')
|
|
endfunction
|
|
|
|
After:
|
|
Restore
|
|
|
|
unlet! b:ale_max_signs
|
|
|
|
delfunction SetNProblems
|
|
|
|
call ale#sign#Clear()
|
|
|
|
Execute(There should be no limit on signs with negative numbers):
|
|
AssertEqual range(1, 42), SetNProblems(42)
|
|
|
|
Execute(0 signs should be set when the max is 0):
|
|
let g:ale_max_signs = 0
|
|
|
|
AssertEqual [], SetNProblems(42)
|
|
|
|
Execute(1 signs should be set when the max is 1):
|
|
let g:ale_max_signs = 1
|
|
|
|
AssertEqual [1], SetNProblems(42)
|
|
|
|
Execute(10 signs should be set when the max is 10):
|
|
let g:ale_max_signs = 10
|
|
|
|
" We'll check that we set signs for the first 10 items, not other lines.
|
|
AssertEqual range(1, 10), SetNProblems(42)
|
|
|
|
Execute(5 signs should be set when the max is 5 for the buffer):
|
|
let b:ale_max_signs = 5
|
|
|
|
AssertEqual range(1, 5), SetNProblems(42)
|