summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorw0rp <w0rp@users.noreply.github.com>2017-01-15 13:02:51 +0000
committerGitHub <noreply@github.com>2017-01-15 13:02:51 +0000
commit548ff299f4d68890ec7d00a7d20a78c820b0bb2b (patch)
tree34472c2a428c4673c028d49b59ae291597266039
parent8762a6fa665b54c8a24bfe0139f4ee8cb2a52b99 (diff)
parentdc8166384c023b5de963cb21730b756f80286c90 (diff)
downloadale-548ff299f4d68890ec7d00a7d20a78c820b0bb2b.zip
Merge pull request #243 from SabatierBoris/master
Add options for pylint linter
-rw-r--r--ale_linters/python/pylint.vim21
-rw-r--r--doc/ale.txt29
2 files changed, 48 insertions, 2 deletions
diff --git a/ale_linters/python/pylint.vim b/ale_linters/python/pylint.vim
index 9e6093c7..95e5f0ef 100644
--- a/ale_linters/python/pylint.vim
+++ b/ale_linters/python/pylint.vim
@@ -1,9 +1,26 @@
" Author: keith <k@keith.so>
" Description: pylint for python files
+let g:ale_python_pylint_executable =
+\ get(g:, 'ale_python_pylint_executable', 'pylint')
+
+let g:ale_python_pylint_args =
+\ get(g:, 'ale_python_pylint_args', '')
+
+function! ale_linters#python#pylint#GetExecutable(buffer) abort
+ return g:ale_python_pylint_executable
+endfunction
+
+function! ale_linters#python#pylint#GetCommand(buffer) abort
+ return g:ale#util#stdin_wrapper . ' .py '
+ \ . ale_linters#python#pylint#GetExecutable(a:buffer)
+ \ . ' ' . g:ale_python_pylint_args
+ \ . ' --output-format text --msg-template="{path}:{line}:{column}: {msg_id} {msg}" --reports n'
+endfunction
+
call ale#linter#Define('python', {
\ 'name': 'pylint',
-\ 'executable': 'pylint',
-\ 'command': g:ale#util#stdin_wrapper . ' .py pylint --output-format text --msg-template="{path}:{line}:{column}: {msg_id} {msg}" --reports n',
+\ 'executable_callback': 'ale_linters#python#pylint#GetExecutable',
+\ 'command_callback': 'ale_linters#python#pylint#GetCommand',
\ 'callback': 'ale#handlers#HandlePEP8Format',
\})
diff --git a/doc/ale.txt b/doc/ale.txt
index bda86b63..43e0006e 100644
--- a/doc/ale.txt
+++ b/doc/ale.txt
@@ -32,6 +32,7 @@ CONTENTS *ale-contents*
4.20. lacheck...............................|ale-linter-options-lacheck|
4.21. stylelint.............................|ale-linter-options-stylelint|
4.22. rustc.................................|ale-linter-options-rustc|
+ 4.23. python-pylint.........................|ale-linter-options-python-pylint|
5. Linter Integration Notes...................|ale-linter-integration|
5.1. merlin................................|ale-linter-integration-ocaml-merlin|
5.2. rust...................................|ale-integration-rust|
@@ -791,6 +792,34 @@ g:ale_rust_ignore_error_codes *g:ale_rust_ignore_error_codes*
>
let g:ale_rust_ignore_error_codes = ['E0432', 'E0433']
+-------------------------------------------------------------------------------
+4.23. python-pylint *ale-linter-options-python-pylint*
+
+g:ale_python_pylint_executable *g:ale_python_pylint_executable*
+
+ Type: |String|
+ Default: `'pylint'`
+
+ This variable can be changed to modify the executable used for pylint.
+
+
+g:ale_python_pylint_args *g:ale_python_pylint_args*
+
+ Type: |String|
+ Default: `''`
+
+ This variable can be changed to add command-line arguments to the pylint
+ invocation.
+
+For example, to dynamically switch between programs targeting Python 2 and
+Python 3, you may want to set >
+
+ let g:ale_python_pylint_executable = 'python3' " or 'python' for Python 2
+ let g:ale_python_pylint_args = '-rcfile /path/to/pylint.rc'
+
+after making sure it's installed for the appropriate Python versions (e.g.
+`python3 -m pip install --user pylint`).
+
===============================================================================
5. Linter Integration Notes *ale-linter-integration*