Fix #730 - Lint files on save even when nothing was fixed
This commit is contained in:
parent
74f2afbe2e
commit
bd0f31147e
2 changed files with 36 additions and 2 deletions
|
@ -77,8 +77,6 @@ function! ale#fix#ApplyFixes(buffer, output) abort
|
|||
echoerr 'The file was changed before fixing finished'
|
||||
return
|
||||
endif
|
||||
|
||||
let l:data.done = 1
|
||||
endif
|
||||
|
||||
if !bufexists(a:buffer)
|
||||
|
@ -86,6 +84,8 @@ function! ale#fix#ApplyFixes(buffer, output) abort
|
|||
call remove(g:ale_fix_buffer_data, a:buffer)
|
||||
endif
|
||||
|
||||
let l:data.done = 1
|
||||
|
||||
" We can only change the lines of a buffer which is currently open,
|
||||
" so try and apply the fixes to the current buffer.
|
||||
call ale#fix#ApplyQueuedFixes()
|
||||
|
|
|
@ -86,6 +86,8 @@ After:
|
|||
call delete('fix_test_file')
|
||||
endif
|
||||
|
||||
call setloclist(0, [])
|
||||
|
||||
let g:ale_fix_buffer_data = {}
|
||||
|
||||
Given testft (A file with three lines):
|
||||
|
@ -305,6 +307,38 @@ Expect(The buffer should be the same):
|
|||
b
|
||||
c
|
||||
|
||||
Execute(ALEFix should still lint when nothing was fixed on save):
|
||||
let g:ale_fix_on_save = 1
|
||||
let g:ale_lint_on_save = 1
|
||||
let g:ale_enabled = 1
|
||||
|
||||
noautocmd silent file fix_test_file
|
||||
|
||||
let g:ale_fixers.testft = ['DoNothing']
|
||||
|
||||
call SetUpLinters()
|
||||
call ale#events#SaveEvent()
|
||||
|
||||
Assert !filereadable('fix_test_file'), 'The file should not have been saved'
|
||||
|
||||
" We have run the linter.
|
||||
AssertEqual [{
|
||||
\ 'bufnr': bufnr('%'),
|
||||
\ 'lnum': 1,
|
||||
\ 'vcol': 0,
|
||||
\ 'col': 1,
|
||||
\ 'text': 'xxx',
|
||||
\ 'type': 'E',
|
||||
\ 'nr': -1,
|
||||
\ 'pattern': '',
|
||||
\ 'valid': 1,
|
||||
\}], getloclist(0)
|
||||
|
||||
Expect(The buffer should be the same):
|
||||
a
|
||||
b
|
||||
c
|
||||
|
||||
Given testft (A file with three lines):
|
||||
a
|
||||
b
|
||||
|
|
Reference in a new issue