88 lines
1.6 KiB
Plaintext
88 lines
1.6 KiB
Plaintext
Before:
|
|
function! GenerateResults(buffer, output)
|
|
return [
|
|
\ {
|
|
\ 'lnum': 1,
|
|
\ 'col': 1,
|
|
\ 'type': 'E',
|
|
\ 'text': 'foo',
|
|
\ },
|
|
\ {
|
|
\ 'lnum': 2,
|
|
\ 'col': 1,
|
|
\ 'type': 'W',
|
|
\ 'text': 'bar',
|
|
\ },
|
|
\ {
|
|
\ 'lnum': 3,
|
|
\ 'col': 1,
|
|
\ 'type': 'E',
|
|
\ 'text': 'baz',
|
|
\ },
|
|
\ {
|
|
\ 'lnum': 4,
|
|
\ 'col': 1,
|
|
\ 'type': 'E',
|
|
\ 'text': 'use this one',
|
|
\ },
|
|
\ {
|
|
\ 'lnum': 4,
|
|
\ 'col': 2,
|
|
\ 'type': 'W',
|
|
\ 'text': 'ignore this one',
|
|
\ },
|
|
\ {
|
|
\ 'lnum': 5,
|
|
\ 'col': 1,
|
|
\ 'type': 'W',
|
|
\ 'text': 'ignore this one',
|
|
\ },
|
|
\ {
|
|
\ 'lnum': 5,
|
|
\ 'col': 2,
|
|
\ 'type': 'E',
|
|
\ 'text': 'use this one',
|
|
\ },
|
|
\]
|
|
endfunction
|
|
|
|
call ale#linter#Define('testft', {
|
|
\ 'name': 'x',
|
|
\ 'executable': 'echo',
|
|
\ 'command': 'echo',
|
|
\ 'callback': 'GenerateResults',
|
|
\})
|
|
|
|
After:
|
|
call ale#linter#Reset()
|
|
delfunction GenerateResults
|
|
unlet! g:output
|
|
|
|
Given testft(A file with warnings/errors):
|
|
foo
|
|
bar
|
|
baz
|
|
fourth line
|
|
fifth line
|
|
|
|
Execute:
|
|
call ale#Lint()
|
|
call ale#engine#WaitForJobs(2000)
|
|
|
|
redir => g:output
|
|
silent sign place
|
|
redir END
|
|
|
|
AssertEqual
|
|
\ [
|
|
\ ['1', '1000001', 'ALEErrorSign'],
|
|
\ ['2', '1000002', 'ALEWarningSign'],
|
|
\ ['3', '1000003', 'ALEErrorSign'],
|
|
\ ['4', '1000004', 'ALEErrorSign'],
|
|
\ ['5', '1000005', 'ALEErrorSign'],
|
|
\ ],
|
|
\ map(
|
|
\ split(g:output, '\n')[2:],
|
|
\ 'matchlist(v:val, "[^=]*=\\(\\d\\+\\)[^=]*=\\(\\d\\+\\).*\\(ALE.*\\)$")[1:3]'
|
|
\ )
|