165 lines
3.3 KiB
Plaintext
165 lines
3.3 KiB
Plaintext
|
Before:
|
||
|
Save g:ale_set_loclist
|
||
|
Save g:ale_set_quickfix
|
||
|
Save g:ale_loclist_msg_format
|
||
|
Save g:ale_open_list
|
||
|
Save g:ale_buffer_info
|
||
|
Save g:ale_set_lists_synchronously
|
||
|
|
||
|
let g:ale_set_lists_synchronously = 1
|
||
|
let g:ale_loclist_msg_format = '%code: %%s'
|
||
|
let g:ale_open_list = 0
|
||
|
let g:loclist = []
|
||
|
let g:ale_buffer_info = {bufnr(''): {'loclist': g:loclist}}
|
||
|
|
||
|
function! AddItem(data) abort
|
||
|
let l:item = {
|
||
|
\ 'bufnr': bufnr(''),
|
||
|
\ 'lnum': 1,
|
||
|
\ 'col': 1,
|
||
|
\ 'type': 'E',
|
||
|
\ 'linter_name': 'some_linter',
|
||
|
\}
|
||
|
|
||
|
call add(g:loclist, extend(l:item, a:data))
|
||
|
endfunction
|
||
|
|
||
|
After:
|
||
|
Restore
|
||
|
|
||
|
unlet! g:loclist
|
||
|
|
||
|
delfunction AddItem
|
||
|
|
||
|
call setloclist(0, [])
|
||
|
call setqflist([])
|
||
|
|
||
|
Execute(Formatting with codes should work for the loclist):
|
||
|
call AddItem({'text': 'nocode'})
|
||
|
call ale#list#SetLists(bufnr(''), g:loclist)
|
||
|
|
||
|
AssertEqual
|
||
|
\ [
|
||
|
\ {
|
||
|
\ 'lnum': 1,
|
||
|
\ 'bufnr': bufnr(''),
|
||
|
\ 'col': 1,
|
||
|
\ 'valid': 1,
|
||
|
\ 'vcol': 0,
|
||
|
\ 'nr': 0,
|
||
|
\ 'type': 'E',
|
||
|
\ 'pattern': '',
|
||
|
\ 'text': 'nocode',
|
||
|
\ },
|
||
|
\ ],
|
||
|
\ getloclist(0)
|
||
|
|
||
|
call remove(g:loclist, 0)
|
||
|
call AddItem({'text': 'withcode', 'code': 'E123'})
|
||
|
call ale#list#SetLists(bufnr(''), g:loclist)
|
||
|
|
||
|
AssertEqual
|
||
|
\ [
|
||
|
\ {
|
||
|
\ 'lnum': 1,
|
||
|
\ 'bufnr': bufnr(''),
|
||
|
\ 'col': 1,
|
||
|
\ 'valid': 1,
|
||
|
\ 'vcol': 0,
|
||
|
\ 'nr': 0,
|
||
|
\ 'type': 'E',
|
||
|
\ 'pattern': '',
|
||
|
\ 'text': 'E123: withcode',
|
||
|
\ },
|
||
|
\ ],
|
||
|
\ getloclist(0)
|
||
|
|
||
|
Execute(Formatting with codes should work for the quickfix list):
|
||
|
let g:ale_set_loclist = 0
|
||
|
let g:ale_set_quickfix = 1
|
||
|
|
||
|
call AddItem({'text': 'nocode'})
|
||
|
call ale#list#SetLists(bufnr(''), g:loclist)
|
||
|
|
||
|
AssertEqual
|
||
|
\ [
|
||
|
\ {
|
||
|
\ 'lnum': 1,
|
||
|
\ 'bufnr': bufnr(''),
|
||
|
\ 'col': 1,
|
||
|
\ 'valid': 1,
|
||
|
\ 'vcol': 0,
|
||
|
\ 'nr': 0,
|
||
|
\ 'type': 'E',
|
||
|
\ 'pattern': '',
|
||
|
\ 'text': 'nocode',
|
||
|
\ },
|
||
|
\ ],
|
||
|
\ getqflist()
|
||
|
|
||
|
call remove(g:loclist, 0)
|
||
|
call AddItem({'text': 'withcode', 'code': 'E123'})
|
||
|
call ale#list#SetLists(bufnr(''), g:loclist)
|
||
|
|
||
|
AssertEqual
|
||
|
\ [
|
||
|
\ {
|
||
|
\ 'lnum': 1,
|
||
|
\ 'bufnr': bufnr(''),
|
||
|
\ 'col': 1,
|
||
|
\ 'valid': 1,
|
||
|
\ 'vcol': 0,
|
||
|
\ 'nr': 0,
|
||
|
\ 'type': 'E',
|
||
|
\ 'pattern': '',
|
||
|
\ 'text': 'E123: withcode',
|
||
|
\ },
|
||
|
\ ],
|
||
|
\ getqflist()
|
||
|
|
||
|
Execute(Formatting with the linter name should work for the loclist):
|
||
|
let g:ale_loclist_msg_format = '(%linter%) %s'
|
||
|
|
||
|
call AddItem({'text': 'whatever'})
|
||
|
call ale#list#SetLists(bufnr(''), g:loclist)
|
||
|
|
||
|
AssertEqual
|
||
|
\ [
|
||
|
\ {
|
||
|
\ 'lnum': 1,
|
||
|
\ 'bufnr': bufnr(''),
|
||
|
\ 'col': 1,
|
||
|
\ 'valid': 1,
|
||
|
\ 'vcol': 0,
|
||
|
\ 'nr': 0,
|
||
|
\ 'type': 'E',
|
||
|
\ 'pattern': '',
|
||
|
\ 'text': '(some_linter) whatever',
|
||
|
\ },
|
||
|
\ ],
|
||
|
\ getloclist(0)
|
||
|
|
||
|
Execute(Formatting with the linter name should work for the quickfix list):
|
||
|
let g:ale_loclist_msg_format = '(%linter%) %s'
|
||
|
let g:ale_set_loclist = 0
|
||
|
let g:ale_set_quickfix = 1
|
||
|
|
||
|
call AddItem({'text': 'whatever'})
|
||
|
call ale#list#SetLists(bufnr(''), g:loclist)
|
||
|
|
||
|
AssertEqual
|
||
|
\ [
|
||
|
\ {
|
||
|
\ 'lnum': 1,
|
||
|
\ 'bufnr': bufnr(''),
|
||
|
\ 'col': 1,
|
||
|
\ 'valid': 1,
|
||
|
\ 'vcol': 0,
|
||
|
\ 'nr': 0,
|
||
|
\ 'type': 'E',
|
||
|
\ 'pattern': '',
|
||
|
\ 'text': '(some_linter) whatever',
|
||
|
\ },
|
||
|
\ ],
|
||
|
\ getqflist()
|