diff options
author | w0rp <devw0rp@gmail.com> | 2017-10-14 23:22:13 +0100 |
---|---|---|
committer | w0rp <devw0rp@gmail.com> | 2017-10-14 23:22:13 +0100 |
commit | ef495ba32db2b0c21e73e2ef0034de6888854587 (patch) | |
tree | 75b3701d9dbc4d4cdac0c991b921a0dbd776897a /autoload | |
parent | 010ebc2459d2ce72d8c264737a9faa4ac694dbe5 (diff) | |
download | ale-ef495ba32db2b0c21e73e2ef0034de6888854587.zip |
#904 Do not run linters on :wq or :x
Diffstat (limited to 'autoload')
-rw-r--r-- | autoload/ale/events.vim | 11 | ||||
-rw-r--r-- | autoload/ale/fix.vim | 4 |
2 files changed, 13 insertions, 2 deletions
diff --git a/autoload/ale/events.vim b/autoload/ale/events.vim index efae11c1..1992b1ee 100644 --- a/autoload/ale/events.vim +++ b/autoload/ale/events.vim @@ -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) diff --git a/autoload/ale/fix.vim b/autoload/ale/fix.vim index e1210f17..2b5387de 100644 --- a/autoload/ale/fix.vim +++ b/autoload/ale/fix.vim @@ -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 |