From bb1f413bf36fc7f54f7828c5722f78df6a6169df Mon Sep 17 00:00:00 2001 From: w0rp Date: Thu, 29 Jun 2017 12:00:32 +0100 Subject: [PATCH] Fix #706 - Skip fixers with jobs that return empty output, in case they have failed --- autoload/ale/fix.vim | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/autoload/ale/fix.vim b/autoload/ale/fix.vim index b4fd3e1af1..9ecacd1281 100644 --- a/autoload/ale/fix.vim +++ b/autoload/ale/fix.vim @@ -102,9 +102,15 @@ function! s:HandleExit(job_id, exit_code) abort let l:job_info.output = readfile(l:job_info.file_to_read) endif + " Use the output of the job for changing the file if it isn't empty, + " otherwise skip this job and use the input from before. + let l:input = !empty(l:job_info.output) + \ ? l:job_info.output + \ : l:job_info.input + call s:RunFixer({ \ 'buffer': l:job_info.buffer, - \ 'input': l:job_info.output, + \ 'input': l:input, \ 'callback_list': l:job_info.callback_list, \ 'callback_index': l:job_info.callback_index + 1, \}) @@ -172,6 +178,7 @@ function! s:RunJob(options) abort let l:job_info = { \ 'buffer': l:buffer, + \ 'input': l:input, \ 'output': [], \ 'callback_list': a:options.callback_list, \ 'callback_index': a:options.callback_index,