diff options
author | Ivor Peles <ivorpeles@gmail.com> | 2020-10-06 02:12:05 -0400 |
---|---|---|
committer | Ivor Peles <ivorpeles@gmail.com> | 2020-11-21 19:24:19 -0500 |
commit | 373ffa0f316f14559870fb3903d723c6d88597ee (patch) | |
tree | 4777517d8d1a428a2460aa0db8ac698d9f477550 /autoload | |
parent | 681a6e371d02cce9c2414c19f5deeae61aa321fa (diff) | |
download | ale-373ffa0f316f14559870fb3903d723c6d88597ee.zip |
Use pipenv isort executable when python_auto_pipenv = 1
Diffstat (limited to 'autoload')
-rw-r--r-- | autoload/ale/fixers/isort.vim | 22 |
1 files changed, 16 insertions, 6 deletions
diff --git a/autoload/ale/fixers/isort.vim b/autoload/ale/fixers/isort.vim index 9070fb27..926822f2 100644 --- a/autoload/ale/fixers/isort.vim +++ b/autoload/ale/fixers/isort.vim @@ -5,14 +5,23 @@ 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#GetExecutable(buffer) abort + if (ale#Var(a:buffer, 'python_auto_pipenv') || ale#Var(a:buffer, 'python_isort_auto_pipenv')) + \ && ale#python#PipenvPresent(a:buffer) + return 'pipenv' + endif + + return ale#python#FindExecutable(a:buffer, 'python_isort', ['isort']) +endfunction + function! ale#fixers#isort#Fix(buffer) abort let l:options = ale#Var(a:buffer, 'python_isort_options') - let l:executable = ale#python#FindExecutable( - \ a:buffer, - \ 'python_isort', - \ ['isort'], - \) + let l:executable = ale#fixers#isort#GetExecutable(a:buffer) + + let l:exec_args = l:executable =~? 'pipenv$' + \ ? ' run isort' + \ : '' if !executable(l:executable) return 0 @@ -20,6 +29,7 @@ function! ale#fixers#isort#Fix(buffer) abort return { \ 'command': ale#path#BufferCdString(a:buffer) - \ . ale#Escape(l:executable) . (!empty(l:options) ? ' ' . l:options : '') . ' -', + \ . ale#Escape(l:executable) . l:exec_args + \ . (!empty(l:options) ? ' ' . l:options : '') . ' -', \} endfunction |