Allow all Python linter executables to be set to pipenv.

It appends ` run {linter_name}`, analogously to the Ruby linters when
the executable is set to `bundle`
This commit is contained in:
Eddie Lebow
2018-06-04 22:43:02 -04:00
parent 5addd3abef
commit ca88e67af0
14 changed files with 128 additions and 7 deletions

View File

@@ -95,3 +95,12 @@ Execute(You should able able to use the global mypy instead):
\ . ' --show-column-numbers '
\ . '--shadow-file %s %t %s',
\ ale_linters#python#mypy#GetCommand(bufnr(''))
Execute(Setting executable to 'pipenv' appends 'run mypy'):
let g:ale_python_mypy_executable = 'path/to/pipenv'
AssertEqual
\ ale#path#BufferCdString(bufnr(''))
\ . ale#Escape('path/to/pipenv') . ' run mypy'
\ . ' --show-column-numbers --shadow-file %s %t %s',
\ ale_linters#python#mypy#GetCommand(bufnr(''))

View File

@@ -0,0 +1,23 @@
Before:
Save g:ale_python_mypy_executable
Save g:ale_python_mypy_options
unlet! g:ale_python_mypy_executable
unlet! g:ale_python_mypy_options
runtime ale_linters/python/prospector.vim
After:
Restore
unlet! b:executable
call ale#linter#Reset()
Execute(Setting executable to 'pipenv' appends 'run prospector'):
let g:ale_python_prospector_executable = 'path/to/pipenv'
AssertEqual
\ ale#Escape('path/to/pipenv') . ' run prospector'
\ . ' --messages-only --absolute-paths --zero-exit --output-format json %s',
\ ale_linters#python#prospector#GetCommand(bufnr(''))

View File

@@ -25,3 +25,10 @@ Execute(The pycodestyle executable should be configurable):
AssertEqual ale#Escape('~/.local/bin/pycodestyle') . ' -',
\ ale_linters#python#pycodestyle#GetCommand(bufnr(''))
Execute(Setting executable to 'pipenv' appends 'run pycodestyle'):
let g:ale_python_pycodestyle_executable = 'path/to/pipenv'
AssertEqual
\ ale#Escape('path/to/pipenv') . ' run pycodestyle -',
\ ale_linters#python#pycodestyle#GetCommand(bufnr(''))

View File

@@ -47,3 +47,10 @@ Execute(You should be able to override the pyflakes virtualenv lookup):
AssertEqual ale#Escape('pyflakes') . ' %t',
\ ale_linters#python#pyflakes#GetCommand(bufnr(''))
Execute(Setting executable to 'pipenv' appends 'run pyflakes'):
let g:ale_python_pyflakes_executable = 'path/to/pipenv'
AssertEqual
\ ale#Escape('path/to/pipenv') . ' run pyflakes %t',
\ ale_linters#python#pyflakes#GetCommand(bufnr(''))

View File

@@ -102,3 +102,12 @@ Execute(You should able able to use the global pylint instead):
\ ale#path#BufferCdString(bufnr(''))
\ . ale#Escape('pylint') . ' ' . b:command_tail,
\ ale_linters#python#pylint#GetCommand(bufnr(''))
Execute(Setting executable to 'pipenv' appends 'run pylint'):
let g:ale_python_pylint_executable = 'path/to/pipenv'
AssertEqual
\ ale#path#BufferCdString(bufnr(''))
\ . ale#Escape('path/to/pipenv') . ' run pylint'
\ . ' --output-format text --msg-template="{path}:{line}:{column}: {msg_id} ({symbol}) {msg}" --reports n %s',
\ ale_linters#python#pylint#GetCommand(bufnr(''))

View File

@@ -47,3 +47,10 @@ Execute(You should be able to override the pyls virtualenv lookup):
AssertEqual ale#Escape('pyls'),
\ ale_linters#python#pyls#GetCommand(bufnr(''))
Execute(Setting executable to 'pipenv' appends 'run pyls'):
let g:ale_python_pyls_executable = 'path/to/pipenv'
AssertEqual
\ ale#Escape('path/to/pipenv') . ' run pyls',
\ ale_linters#python#pyls#GetCommand(bufnr(''))