#904 Do not run linters on :wq or :x

This commit is contained in:
w0rp
2017-10-14 23:22:13 +01:00
parent 010ebc2459
commit ef495ba32d
6 changed files with 113 additions and 2 deletions

View File

@@ -1,8 +1,15 @@
" Author: w0rp <devw0rp@gmail.com>
function! ale#events#QuitEvent(buffer) abort
" Remember when ALE is quitting for BufWrite, etc.
call setbufvar(a:buffer, 'ale_quitting', 1)
endfunction
function! ale#events#SaveEvent(buffer) abort
call setbufvar(a:buffer, 'ale_save_event_fired', 1)
let l:should_lint = ale#Var(a:buffer, 'enabled') && g:ale_lint_on_save
let l:should_lint = ale#Var(a:buffer, 'enabled')
\ && g:ale_lint_on_save
\ && !getbufvar(a:buffer, 'ale_quitting')
if g:ale_fix_on_save
let l:will_fix = ale#fix#Fix('save_file')
@@ -24,6 +31,8 @@ function! s:LintOnEnter(buffer) abort
endfunction
function! ale#events#EnterEvent(buffer) abort
" When entering a buffer, we are no longer quitting it.
call setbufvar(a:buffer, 'ale_quitting', 0)
let l:filetype = getbufvar(a:buffer, '&filetype')
call setbufvar(a:buffer, 'ale_original_filetype', l:filetype)

View File

@@ -56,7 +56,9 @@ function! ale#fix#ApplyQueuedFixes() abort
" If ALE linting is enabled, check for problems with the file again after
" fixing problems.
if g:ale_enabled && l:should_lint
if g:ale_enabled
\&& l:should_lint
\&& !getbufvar(l:buffer, 'ale_quitting')
call ale#Queue(0, l:data.should_save ? 'lint_file' : '')
endif
endfunction