summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorw0rp <devw0rp@gmail.com>2018-07-13 09:47:26 +0100
committerw0rp <devw0rp@gmail.com>2018-07-13 09:47:26 +0100
commita782e0622313672cc7d807425a09a30288b11614 (patch)
tree9953ae3115bc112d4d1303232fa65347356ff511
parent6d6cd6663eefd02603d28011a5a02f1792bbcde9 (diff)
downloadale-a782e0622313672cc7d807425a09a30288b11614.zip
Handle linter callback functions being unknown or deleted
-rw-r--r--autoload/ale/engine.vim7
-rw-r--r--doc/ale.txt4
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*