summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDerek P Sifford <dereksifford@gmail.com>2018-07-04 21:16:57 -0400
committerDerek P Sifford <dereksifford@gmail.com>2018-07-04 21:16:57 -0400
commit6dc69b2144f567072b9ff757a68de166717b9acf (patch)
tree4368102832dce74bd8c5a0add6258437e3d9d2e0
parent3251d95a911af77feb34153b76d0d5415130e724 (diff)
downloadale-6dc69b2144f567072b9ff757a68de166717b9acf.zip
address code review issues
-rw-r--r--autoload/ale/fixers/isort.vim3
-rw-r--r--test/fixers/test_isort_fixer_callback.vader17
2 files changed, 19 insertions, 1 deletions
diff --git a/autoload/ale/fixers/isort.vim b/autoload/ale/fixers/isort.vim
index acfbe14a..9070fb27 100644
--- a/autoload/ale/fixers/isort.vim
+++ b/autoload/ale/fixers/isort.vim
@@ -2,6 +2,7 @@
" Description: Fixing Python imports with isort.
call ale#Set('python_isort_executable', 'isort')
+call ale#Set('python_isort_options', '')
call ale#Set('python_isort_use_global', get(g:, 'ale_use_global_executables', 0))
function! ale#fixers#isort#Fix(buffer) abort
@@ -19,6 +20,6 @@ function! ale#fixers#isort#Fix(buffer) abort
return {
\ 'command': ale#path#BufferCdString(a:buffer)
- \ . ale#Escape(l:executable) . ' ' . l:options . ' -',
+ \ . ale#Escape(l:executable) . (!empty(l:options) ? ' ' . l:options : '') . ' -',
\}
endfunction
diff --git a/test/fixers/test_isort_fixer_callback.vader b/test/fixers/test_isort_fixer_callback.vader
index 7c2b515f..56c08d26 100644
--- a/test/fixers/test_isort_fixer_callback.vader
+++ b/test/fixers/test_isort_fixer_callback.vader
@@ -1,5 +1,6 @@
Before:
Save g:ale_python_isort_executable
+ Save g:ale_python_isort_options
" Use an invalid global executable, so we don't match it.
let g:ale_python_isort_executable = 'xxxinvalid'
@@ -30,3 +31,19 @@ Execute(The isort callback should return the correct default values):
\ . ale#Escape(ale#path#Simplify(g:dir . '/python_paths/with_virtualenv/env/' . b:bin_dir . '/isort')) . ' -',
\ },
\ ale#fixers#isort#Fix(bufnr(''))
+
+Execute(The isort callback should respect custom options):
+ let g:ale_python_isort_options = '--multi-line=3 --trailing-comma'
+
+ AssertEqual
+ \ 0,
+ \ ale#fixers#isort#Fix(bufnr(''))
+
+ silent execute 'file ' . fnameescape(g:dir . '/python_paths/with_virtualenv/subdir/foo/bar.py')
+ AssertEqual
+ \ {
+ \ 'command': 'cd ' . ale#Escape(ale#path#Simplify(g:dir . '/python_paths/with_virtualenv/subdir/foo')) . ' && '
+ \ . ale#Escape(ale#path#Simplify(g:dir . '/python_paths/with_virtualenv/env/' . b:bin_dir . '/isort'))
+ \ . ' --multi-line=3 --trailing-comma -',
+ \ },
+ \ ale#fixers#isort#Fix(bufnr(''))