ale/test/sign/test_sign_limits.vader
Horacio Sanson 41ff80dc9e 569 support vim sign group and priority (#2786)
* 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.
2019-09-25 09:15:16 +01:00

58 lines
1.3 KiB
Plaintext

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)