diff --git a/autoload/ale.vim b/autoload/ale.vim index 0f916c22..3c5f0478 100644 --- a/autoload/ale.vim +++ b/autoload/ale.vim @@ -46,6 +46,11 @@ function! ale#ShouldDoNothing(buffer) abort " The checks are split into separate if statements to make it possible to " profile each check individually with Vim's profiling tools. + " Don't perform any checks when newer NeoVim versions are exiting. + if get(v:, 'exiting', v:null) isnot v:null + return 1 + endif + " Do nothing for blacklisted files if index(g:ale_filetype_blacklist, &filetype) >= 0 return 1 diff --git a/autoload/ale/engine.vim b/autoload/ale/engine.vim index 29cb44f3..890d3df2 100644 --- a/autoload/ale/engine.vim +++ b/autoload/ale/engine.vim @@ -801,6 +801,11 @@ endfunction " clear the state of everything, and remove the Dictionary for managing " the buffer. function! ale#engine#Cleanup(buffer) abort + " Don't bother with cleanup code when newer NeoVim versions are exiting. + if get(v:, 'exiting', v:null) isnot v:null + return + endif + if !has_key(g:ale_buffer_info, a:buffer) return endif