#1872 Remove extra carriage returns when fixing files on Windows

This commit is contained in:
w0rp
2018-09-19 19:28:41 +01:00
parent 9d50a06d48
commit a6c6e24d61
3 changed files with 29 additions and 3 deletions

View File

@@ -30,7 +30,14 @@ function! ale#fix#ApplyQueuedFixes() abort
call winrestview(l:save)
endif
call setline(1, l:data.output)
" If the file is in DOS mode, we have to remove carriage returns from
" the ends of lines before calling setline(), or we will see them
" twice.
let l:lines_to_set = getbufvar(l:buffer, '&fileformat') is# 'dos'
\ ? map(copy(l:data.output), 'substitute(v:val, ''\r\+$'', '''', '''')')
\ : l:data.output
call setline(1, l:lines_to_set)
if l:data.should_save
if empty(&buftype)