diff options
author | w0rp <devw0rp@gmail.com> | 2018-07-13 09:47:26 +0100 |
---|---|---|
committer | w0rp <devw0rp@gmail.com> | 2018-07-13 09:47:26 +0100 |
commit | a782e0622313672cc7d807425a09a30288b11614 (patch) | |
tree | 9953ae3115bc112d4d1303232fa65347356ff511 | |
parent | 6d6cd6663eefd02603d28011a5a02f1792bbcde9 (diff) | |
download | ale-a782e0622313672cc7d807425a09a30288b11614.zip |
Handle linter callback functions being unknown or deleted
-rw-r--r-- | autoload/ale/engine.vim | 7 | ||||
-rw-r--r-- | doc/ale.txt | 4 |
2 files changed, 10 insertions, 1 deletions
diff --git a/autoload/ale/engine.vim b/autoload/ale/engine.vim index c644e63f..cb4ba534 100644 --- a/autoload/ale/engine.vim +++ b/autoload/ale/engine.vim @@ -222,7 +222,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 diff --git a/doc/ale.txt b/doc/ale.txt index 60178ee1..e1a209cf 100644 --- a/doc/ale.txt +++ b/doc/ale.txt @@ -2205,6 +2205,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* |