diff options
author | jhlink <jhlink@users.noreply.github.com> | 2020-07-26 20:51:41 -0400 |
---|---|---|
committer | jhlink <jhlink@users.noreply.github.com> | 2020-07-26 20:51:41 -0400 |
commit | b25bb64a4d31a343ec210c01146791a5acd3bb99 (patch) | |
tree | aabb356f674cf3ca42b6287d7299d2d4798d20cf | |
parent | a9799fe90e95468ce4d176206e3a59dd7f881fa7 (diff) | |
download | ale-b25bb64a4d31a343ec210c01146791a5acd3bb99.zip |
feat: Use stdin/redirection for astyle
-rw-r--r-- | autoload/ale/fixers/astyle.vim | 6 | ||||
-rw-r--r-- | test/fixers/test_astyle_fixer_callback.vader | 15 |
2 files changed, 11 insertions, 10 deletions
diff --git a/autoload/ale/fixers/astyle.vim b/autoload/ale/fixers/astyle.vim index aea5cc8a..236c97f1 100644 --- a/autoload/ale/fixers/astyle.vim +++ b/autoload/ale/fixers/astyle.vim @@ -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 diff --git a/test/fixers/test_astyle_fixer_callback.vader b/test/fixers/test_astyle_fixer_callback.vader index 9eb52788..fc481d95 100644 --- a/test/fixers/test_astyle_fixer_callback.vader +++ b/test/fixers/test_astyle_fixer_callback.vader @@ -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('')) + |