summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ale_linters/python/flake8.vim19
-rw-r--r--doc/ale.txt28
2 files changed, 45 insertions, 2 deletions
diff --git a/ale_linters/python/flake8.vim b/ale_linters/python/flake8.vim
index abee9691..5b011548 100644
--- a/ale_linters/python/flake8.vim
+++ b/ale_linters/python/flake8.vim
@@ -1,9 +1,24 @@
" Author: w0rp <devw0rp@gmail.com>
" Description: flake8 for python files
+let g:ale_python_flake8_executable =
+\ get(g:, 'ale_python_flake8_executable', 'flake8')
+
+let g:ale_python_flake8_args =
+\ get(g:, 'ale_python_flake8_args', '')
+
+function! ale_linters#python#flake8#GetExecutable(buffer) abort
+ return g:ale_python_flake8_executable
+endfunction
+
+function! ale_linters#python#flake8#GetCommand(buffer) abort
+ return ale_linters#python#flake8#GetExecutable(a:buffer)
+ \ . ' ' . g:ale_python_flake8_args . ' -'
+endfunction
+
call ale#linter#Define('python', {
\ 'name': 'flake8',
-\ 'executable': 'flake8',
-\ 'command': 'flake8 -',
+\ 'executable_callback': 'ale_linters#python#flake8#GetExecutable',
+\ 'command_callback': 'ale_linters#python#flake8#GetCommand',
\ 'callback': 'ale#handlers#HandlePEP8Format',
\})
diff --git a/doc/ale.txt b/doc/ale.txt
index 52aa796c..137d433d 100644
--- a/doc/ale.txt
+++ b/doc/ale.txt
@@ -598,6 +598,34 @@ g:ale_c_clang_options *g:ale_c_clang_options*
This variable can be change to modify flags given to clang.
+-------------------------------------------------------------------------------
+4.17. python-flake8 *ale-linter-options-python-flake8*
+
+g:ale_python_flake8_executable *g:ale_python_flake8_executable*
+
+ Type: |String|
+ Default: `'flake8'`
+
+ This variable can be changed to modify the executable used for flake8.
+
+
+g:ale_python_flake8_args *g:ale_python_flake8_args*
+
+ Type: |String|
+ Default: `''`
+
+ This variable can be changed to add command-line arguments to the flake8
+ invocation.
+
+For example, to dynamically switch between programs targeting Python 2 and
+Python 3, you may want to set >
+
+ let g:ale_python_flake8_executable = 'python3' " or 'python' for Python 2
+ let g:ale_python_flake8_args = '-m flake8'
+
+after making sure it's installed for the appropriate Python versions (e.g.
+`python3 -m pip install --user flake8`).
+
===============================================================================
5. Commands/Keybinds *ale-commands*