From a5f754a5e0271925cfcc3d5eb084863e7bf3a98c Mon Sep 17 00:00:00 2001 From: w0rp Date: Thu, 20 Jul 2017 11:07:07 +0100 Subject: [PATCH] Fix #786 - Only set --no-local-style for yapf if a configuration file is detected --- autoload/ale/fixers/yapf.vim | 4 ++-- .../dir_with_yapf_config/.style.yapf | 0 test/fixers/test_yapf_fixer_callback.vader | 17 +++++++++++++++-- 3 files changed, 17 insertions(+), 4 deletions(-) create mode 100644 test/command_callback/python_paths/with_virtualenv/dir_with_yapf_config/.style.yapf diff --git a/autoload/ale/fixers/yapf.vim b/autoload/ale/fixers/yapf.vim index 7d6dfdc..ba7453b 100644 --- a/autoload/ale/fixers/yapf.vim +++ b/autoload/ale/fixers/yapf.vim @@ -17,10 +17,10 @@ function! ale#fixers#yapf#Fix(buffer) abort let l:config = ale#path#FindNearestFile(a:buffer, '.style.yapf') let l:config_options = !empty(l:config) - \ ? ' --style ' . ale#Escape(l:config) + \ ? ' --no-local-style --style ' . ale#Escape(l:config) \ : '' return { - \ 'command': ale#Escape(l:executable) . ' --no-local-style' . l:config_options, + \ 'command': ale#Escape(l:executable) . l:config_options, \} endfunction diff --git a/test/command_callback/python_paths/with_virtualenv/dir_with_yapf_config/.style.yapf b/test/command_callback/python_paths/with_virtualenv/dir_with_yapf_config/.style.yapf new file mode 100644 index 0000000..e69de29 diff --git a/test/fixers/test_yapf_fixer_callback.vader b/test/fixers/test_yapf_fixer_callback.vader index 2653fd1..6edc267 100644 --- a/test/fixers/test_yapf_fixer_callback.vader +++ b/test/fixers/test_yapf_fixer_callback.vader @@ -19,7 +19,20 @@ Execute(The yapf callback should return the correct default values): \ 0, \ ale#fixers#yapf#Fix(bufnr('')) - silent execute 'file ' . fnameescape(g:dir . '/python_paths/with_virtualenv/subdir/foo/bar.py') + call ale#test#SetFilename('python_paths/with_virtualenv/subdir/foo/bar.py') + AssertEqual - \ {'command': "'" . g:dir . "/python_paths/with_virtualenv/env/bin/yapf' --no-local-style" }, + \ {'command': ale#Escape(g:dir . '/python_paths/with_virtualenv/env/bin/yapf')}, + \ ale#fixers#yapf#Fix(bufnr('')) + \ +Execute(The yapf should include the .style.yapf file if present): + call ale#test#SetFilename('python_paths/with_virtualenv/dir_with_yapf_config/foo/bar.py') + + AssertEqual + \ { + \ 'command': + \ ale#Escape(g:dir . '/python_paths/with_virtualenv/env/bin/yapf') + \ . ' --no-local-style' + \ . ' --style ' . ale#Escape(g:dir . '/python_paths/with_virtualenv/dir_with_yapf_config/.style.yapf'), + \ }, \ ale#fixers#yapf#Fix(bufnr(''))