ale/doc/ale-python.txt
2018-08-01 20:07:11 -07:00

452 lines
16 KiB
Plaintext

===============================================================================
ALE Python Integration *ale-python-options*
===============================================================================
ALE Python Project Root Behavior *ale-python-root*
For some linters, ALE will search for a Python project root by looking at the
files in directories on or above where a file being checked is. ALE applies
the following methods, in order:
1. Find the first directory containing a common Python configuration file.
2. If no configuration file can be found, use the first directory which does
not contain a readable file named `__init__.py`.
ALE will look for configuration files with the following filenames. >
MANIFEST.in
setup.cfg
pytest.ini
tox.ini
mypy.ini
pycodestyle.cfg
flake8.cfg
.flake8rc
Pipfile
Pipfile.lock
<
The first directory containing any of the files named above will be used.
===============================================================================
autopep8 *ale-python-autopep8*
g:ale_python_autopep8_executable *g:ale_python_autopep8_executable*
*b:ale_python_autopep8_executable*
Type: |String|
Default: `'autopep8'`
See |ale-integrations-local-executables|
g:ale_python_autopep8_options *g:ale_python_autopep8_options*
*b:ale_python_autopep8_options*
Type: |String|
Default: `''`
This variable can be set to pass extra options to autopep8.
g:ale_python_autopep8_use_global *g:ale_python_autopep8_use_global*
*b:ale_python_autopep8_use_global*
Type: |Number|
Default: `get(g:, 'ale_use_global_executables', 0)`
See |ale-integrations-local-executables|
===============================================================================
black *ale-python-black*
g:ale_python_black_executable *g:ale_python_black_executable*
*b:ale_python_black_executable*
Type: |String|
Default: `'black'`
See |ale-integrations-local-executables|
autopep8
g:ale_python_black_options *g:ale_python_black_options*
*b:ale_python_black_options*
Type: |String|
Default: `''`
This variable can be set to pass extra options to black.
g:ale_python_black_use_global *g:ale_python_black_use_global*
*b:ale_python_black_use_global*
Type: |Number|
Default: `get(g:, 'ale_use_global_executables', 0)`
See |ale-integrations-local-executables|
===============================================================================
flake8 *ale-python-flake8*
g:ale_python_flake8_change_directory *g:ale_python_flake8_change_directory*
*b:ale_python_flake8_change_directory*
Type: |Number|
Default: `1`
If set to `1`, ALE will switch to the directory the Python file being
checked with `flake8` is in before checking it. This helps `flake8` find
configuration files more easily. This option can be turned off if you want
to control the directory Python is executed from yourself.
g:ale_python_flake8_executable *g:ale_python_flake8_executable*
*b:ale_python_flake8_executable*
Type: |String|
Default: `'flake8'`
This variable can be changed to modify the executable used for flake8. Set
this to `'pipenv'` to invoke `'pipenv` `run` `flake8'`.
g:ale_python_flake8_options *g:ale_python_flake8_options*
*b:ale_python_flake8_options*
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_options = '-m flake8'
<
after making sure it's installed for the appropriate Python versions (e.g.
`python3 -m pip install --user flake8`).
g:ale_python_flake8_use_global *g:ale_python_flake8_use_global*
*b:ale_python_flake8_use_global*
Type: |Number|
Default: `get(g:, 'ale_use_global_executables', 0)`
This variable controls whether or not ALE will search for flake8 in a
virtualenv directory first. If this variable is set to `1`, then ALE will
always use |g:ale_python_flake8_executable| for the executable path.
Both variables can be set with `b:` buffer variables instead.
===============================================================================
isort *ale-python-isort*
g:ale_python_isort_executable *g:ale_python_isort_executable*
*b:ale_python_isort_executable*
Type: |String|
Default: `'isort'`
See |ale-integrations-local-executables|
g:ale_python_isort_options *g:ale_python_isort_options*
*b:ale_python_isort_options*
Type: |String|
Default: `''`
This variable can be set to pass extra options to isort.
g:ale_python_isort_use_global *g:ale_python_isort_use_global*
*b:ale_python_isort_use_global*
Type: |Number|
Default: `get(g:, 'ale_use_global_executables', 0)`
See |ale-integrations-local-executables|
===============================================================================
mypy *ale-python-mypy*
The minimum supported version of mypy that ALE supports is v0.4.4. This is
the first version containing the `--shadow-file` option ALE needs to be able
to check for errors while you type.
`mypy` will be run from a detected project root, per |ale-python-root|.
g:ale_python_mypy_executable *g:ale_python_mypy_executable*
*b:ale_python_mypy_executable*
Type: |String|
Default: `'mypy'`
See |ale-integrations-local-executables|
Set this to `'pipenv'` to invoke `'pipenv` `run` `mypy'`.
g:ale_python_mypy_ignore_invalid_syntax
*g:ale_python_mypy_ignore_invalid_syntax*
*b:ale_python_mypy_ignore_invalid_syntax*
Type: |Number|
Default: `0`
When set to `1`, syntax error messages for mypy will be ignored. This option
can be used when running other Python linters which check for syntax errors,
as mypy can take a while to finish executing.
g:ale_python_mypy_options *g:ale_python_mypy_options*
*b:ale_python_mypy_options*
Type: |String|
Default: `''`
This variable can be changed to add command-line arguments to the mypy
invocation.
g:ale_python_mypy_use_global *g:ale_python_mypy_use_global*
*b:ale_python_mypy_use_global*
Type: |Number|
Default: `get(g:, 'ale_use_global_executables', 0)`
See |ale-integrations-local-executables|
===============================================================================
prospector *ale-python-prospector*
g:ale_python_prospector_executable *g:ale_python_prospector_executable*
*b:ale_python_prospector_executable*
Type: |String|
Default: `'prospector'`
See |ale-integrations-local-executables|
Set this to `'pipenv'` to invoke `'pipenv` `run` `prospector'`.
g:ale_python_prospector_options *g:ale_python_prospector_options*
*b:ale_python_prospector_options*
Type: |String|
Default: `''`
This variable can be changed to add command-line arguments to the prospector
invocation.
For example, to dynamically switch between programs targeting Python 2 and
Python 3, you may want to set >
let g:ale_python_prospector_executable = 'python3'
" or 'python' for Python 2
let g:ale_python_prospector_options = '--rcfile /path/to/.prospector.yaml'
" The virtualenv detection needs to be disabled.
let g:ale_python_prospector_use_global = 0
after making sure it's installed for the appropriate Python versions (e.g.
`python3 -m pip install --user prospector`).
g:ale_python_prospector_use_global *g:ale_python_prospector_use_global*
*b:ale_python_prospector_use_global*
Type: |Number|
Default: `get(g:, 'ale_use_global_executables', 0)`
See |ale-integrations-local-executables|
===============================================================================
pycodestyle *ale-python-pycodestyle*
g:ale_python_pycodestyle_executable *g:ale_python_pycodestyle_executable*
*b:ale_python_pycodestyle_executable*
Type: |String|
Default: `'pycodestyle'`
See |ale-integrations-local-executables|
Set this to `'pipenv'` to invoke `'pipenv` `run` `pycodestyle'`.
g:ale_python_pycodestyle_options *g:ale_python_pycodestyle_options*
*b:ale_python_pycodestyle_options*
Type: |String|
Default: `''`
This variable can be changed to add command-line arguments to the
pycodestyle invocation.
g:ale_python_pycodestyle_use_global *g:ale_python_pycodestyle_use_global*
*b:ale_python_pycodestyle_use_global*
Type: |Number|
Default: `get(g:, 'ale_use_global_executables', 0)`
See |ale-integrations-local-executables|
===============================================================================
pyflakes *ale-python-pyflakes*
g:ale_python_pyflakes_executable *g:ale_python_pyflakes_executable*
*b:ale_python_pyflakes_executable*
Type: |String|
Default: `'pyflakes'`
See |ale-integrations-local-executables|
Set this to `'pipenv'` to invoke `'pipenv` `run` `pyflakes'`.
===============================================================================
pylint *ale-python-pylint*
g:ale_python_pylint_change_directory *g:ale_python_pylint_change_directory*
*b:ale_python_pylint_change_directory*
Type: |Number|
Default: `1`
If set to `1`, ALE will switch to the directory the Python file being
checked with `pylint` is in before checking it. This helps `pylint` find
configuration files more easily. This option can be turned off if you want
to control the directory Python is executed from yourself.
g:ale_python_pylint_executable *g:ale_python_pylint_executable*
*b:ale_python_pylint_executable*
Type: |String|
Default: `'pylint'`
See |ale-integrations-local-executables|
Set this to `'pipenv'` to invoke `'pipenv` `run` `pylint'`.
g:ale_python_pylint_options *g:ale_python_pylint_options*
*b:ale_python_pylint_options*
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_options = '--rcfile /path/to/pylint.rc'
" The virtualenv detection needs to be disabled.
let g:ale_python_pylint_use_global = 0
after making sure it's installed for the appropriate Python versions (e.g.
`python3 -m pip install --user pylint`).
g:ale_python_pylint_use_global *g:ale_python_pylint_use_global*
*b:ale_python_pylint_use_global*
Type: |Number|
Default: `get(g:, 'ale_use_global_executables', 0)`
See |ale-integrations-local-executables|
===============================================================================
pyls *ale-python-pyls*
`pyls` will be run from a detected project root, per |ale-python-root|.
g:ale_python_pyls_executable *g:ale_python_pyls_executable*
*b:ale_python_pyls_executable*
Type: |String|
Default: `'pyls'`
See |ale-integrations-local-executables|
Set this to `'pipenv'` to invoke `'pipenv` `run` `pyls'`.
g:ale_python_pyls_use_global *g:ale_python_pyls_use_global*
*b:ale_python_pyls_use_global*
Type: |Number|
Default: `get(g:, 'ale_use_global_executables', 0)`
See |ale-integrations-local-executables|
===============================================================================
pyre *ale-python-pyre*
`pyre` will be run from a detected project root, per |ale-python-root|.
g:ale_python_pyre_executable *g:ale_python_pyre_executable*
*b:ale_python_pyre_executable*
Type: |String|
Default: `'pyre'`
See |ale-integrations-local-executables|
Set this to `'pipenv'` to invoke `'pipenv` `run` `pyre'`.
g:ale_python_pyre_use_global *g:ale_python_pyre_use_global*
*b:ale_python_pyre_use_global*
Type: |Number|
Default: `get(g:, 'ale_use_global_executables', 0)`
See |ale-integrations-local-executables|
===============================================================================
vulture *ale-python-vulture*
g:ale_python_vulture_change_directory *g:ale_python_vulture_change_directory*
*b:ale_python_vulture_change_directory*
Type: |Number|
Default: `1`
If set to `1`, ALE will switch to the directory the Python file being
checked with `vulture` is in before checking it and check the whole project
directory instead of checking only the file opened in the current buffer.
This helps `vulture` to know the context and avoid false-negative results.
g:ale_python_vulture_executable *g:ale_python_vulture_executable*
*b:ale_python_vulture_executable*
Type: |String|
Default: `'vulture'`
See |ale-integrations-local-executables|
g:ale_python_vulture_use_global *g:ale_python_vulture_use_global*
*b:ale_python_vulture_use_global*
Type: |Number|
Default: `get(g:, 'ale_use_global_executables', 0)`
See |ale-integrations-local-executables|
===============================================================================
yapf *ale-python-yapf*
g:ale_python_yapf_executable *g:ale_python_yapf_executable*
*b:ale_python_yapf_executable*
Type: |String|
Default: `'yapf'`
See |ale-integrations-local-executables|
g:ale_python_yapf_use_global *g:ale_python_yapf_use_global*
*b:ale_python_yapf_use_global*
Type: |Number|
Default: `get(g:, 'ale_use_global_executables', 0)`
See |ale-integrations-local-executables|
===============================================================================
vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: