58 lines
1.3 KiB
Plaintext
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
|
|
|
|
sign unplace *
|
|
|
|
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)
|