feat: Use stdin/redirection for astyle

This commit is contained in:
jhlink 2020-07-26 20:51:41 -04:00
parent a9799fe90e
commit b25bb64a4d
2 changed files with 11 additions and 10 deletions

View File

@ -18,10 +18,10 @@ endfunction
function! ale#fixers#astyle#Fix(buffer) abort
let l:executable = ale#fixers#astyle#Var(a:buffer, 'executable')
let l:command = ' %t'
let l:filename = ale#Escape(bufname(a:buffer))
let l:command = ' --stdin=' . l:filename
return {
\ 'command': ale#Escape(l:executable) . l:command,
\ 'read_temporary_file': 1,
\ 'command': ale#Escape(l:executable) . l:command
\}
endfunction

View File

@ -3,6 +3,7 @@ Before:
" Use an invalid global executable, so we don't match it.
let g:ale_c_astyle_executable = 'xxxinvalid'
let g:ale_cpp_astyle_executable = 'invalidpp'
call ale#test#SetDirectory('/testplugin/test/fixers')
@ -13,24 +14,24 @@ After:
Execute(The astyle callback should return the correct default values):
call ale#test#SetFilename('../c_files/testfile.c')
let targetfile = '/testplugin/test/c_files/testfile.c'
AssertEqual
\ {
\ 'read_temporary_file': 1,
\ 'command': ale#Escape('xxxinvalid')
\ . ' %t',
\ 'command': ale#Escape(g:ale_c_astyle_executable)
\ . ' --stdin=' . ale#Escape(targetfile)
\ },
\ ale#fixers#astyle#Fix(bufnr(''))
Execute(The astyle callback should support cpp files):
call ale#test#SetFilename('../cpp_files/dummy.cpp')
let g:ale_cpp_astyle_executable = 'xxxinvalid'
let targetfile = '/testplugin/test/cpp_files/dummy.cpp'
set filetype=cpp " The test fails without this
AssertEqual
\ {
\ 'read_temporary_file': 1,
\ 'command': ale#Escape('xxxinvalid')
\ . ' %t',
\ 'command': ale#Escape(g:ale_cpp_astyle_executable)
\ . ' --stdin=' . ale#Escape(targetfile)
\ },
\ ale#fixers#astyle#Fix(bufnr(''))