Handle linter callback functions being unknown or deleted

This commit is contained in:
w0rp 2018-07-13 09:47:26 +01:00
parent 033a6c1178
commit ab2b181012
No known key found for this signature in database
GPG key ID: 0FC1ECAA8C81CD83
2 changed files with 10 additions and 1 deletions

View file

@ -221,7 +221,12 @@ function! s:HandleExit(job_id, exit_code) abort
call ale#history#RememberOutput(l:buffer, a:job_id, l:output[:])
endif
let l:loclist = ale#util#GetFunction(l:linter.callback)(l:buffer, l:output)
try
let l:loclist = ale#util#GetFunction(l:linter.callback)(l:buffer, l:output)
" Handle the function being unknown, or being deleted.
catch /E700/
let l:loclist = []
endtry
call ale#engine#HandleLoclist(l:linter.name, l:buffer, l:loclist)
endfunction

View file

@ -2206,6 +2206,10 @@ ale#linter#Define(filetype, linter) *ale#linter#Define()*
defined, as LSP linters handle diagnostics
automatically. See |ale-lsp-linters|.
If the function named does not exist, including if
the function is later deleted, ALE will behave as if
the callback returned an empty list.
The keys for each item in the List will be handled in
the following manner:
*ale-loclist-format*