2017-03-28 22:25:44 +00:00
|
|
|
===============================================================================
|
|
|
|
ALE Python Integration *ale-python-options*
|
|
|
|
|
|
|
|
|
2018-09-16 01:38:26 +00:00
|
|
|
g:ale_python_auto_pipenv *g:ale_python_auto_pipenv*
|
|
|
|
*b:ale_python_auto_pipenv*
|
|
|
|
Type: |Number|
|
|
|
|
Default: `0`
|
|
|
|
|
|
|
|
Detect whether the file is inside a pipenv, and set the executable to `pipenv`
|
|
|
|
if true. This is overridden by a manually-set executable.
|
|
|
|
|
2018-05-30 19:09:33 +00:00
|
|
|
===============================================================================
|
|
|
|
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
|
2018-08-02 03:07:11 +00:00
|
|
|
.flake8rc
|
2018-07-15 18:26:45 +00:00
|
|
|
Pipfile
|
|
|
|
Pipfile.lock
|
2018-05-30 19:09:33 +00:00
|
|
|
<
|
|
|
|
|
|
|
|
The first directory containing any of the files named above will be used.
|
|
|
|
|
|
|
|
|
2017-07-08 13:17:26 +00:00
|
|
|
===============================================================================
|
2017-06-18 10:03:31 +00:00
|
|
|
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|
|
2018-04-09 18:11:20 +00:00
|
|
|
Default: `get(g:, 'ale_use_global_executables', 0)`
|
2017-06-18 10:03:31 +00:00
|
|
|
|
|
|
|
See |ale-integrations-local-executables|
|
|
|
|
|
|
|
|
|
2018-04-06 09:08:25 +00:00
|
|
|
===============================================================================
|
|
|
|
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|
|
|
|
|
|
2019-01-03 20:33:59 +00:00
|
|
|
|
2018-04-06 09:08:25 +00:00
|
|
|
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|
|
2018-04-09 18:11:20 +00:00
|
|
|
Default: `get(g:, 'ale_use_global_executables', 0)`
|
2018-04-06 09:08:25 +00:00
|
|
|
|
|
|
|
See |ale-integrations-local-executables|
|
|
|
|
|
2019-01-03 20:33:59 +00:00
|
|
|
|
2018-10-10 13:05:52 +00:00
|
|
|
g:ale_python_black_auto_pipenv *g:ale_python_black_auto_pipenv*
|
|
|
|
*b:ale_python_black_auto_pipenv*
|
|
|
|
Type: |Number|
|
|
|
|
Default: `0`
|
|
|
|
|
|
|
|
Detect whether the file is inside a pipenv, and set the executable to `pipenv`
|
|
|
|
if true. This is overridden by a manually-set executable.
|
|
|
|
|
2018-04-06 09:08:25 +00:00
|
|
|
|
2017-07-08 13:17:26 +00:00
|
|
|
===============================================================================
|
2017-03-28 22:25:44 +00:00
|
|
|
flake8 *ale-python-flake8*
|
|
|
|
|
2018-05-28 15:34:54 +00:00
|
|
|
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.
|
|
|
|
|
|
|
|
|
2017-03-28 22:25:44 +00:00
|
|
|
g:ale_python_flake8_executable *g:ale_python_flake8_executable*
|
2017-04-27 21:04:34 +00:00
|
|
|
*b:ale_python_flake8_executable*
|
2017-03-28 22:25:44 +00:00
|
|
|
Type: |String|
|
|
|
|
Default: `'flake8'`
|
|
|
|
|
2018-06-05 02:43:02 +00:00
|
|
|
This variable can be changed to modify the executable used for flake8. Set
|
|
|
|
this to `'pipenv'` to invoke `'pipenv` `run` `flake8'`.
|
2017-03-28 22:25:44 +00:00
|
|
|
|
|
|
|
|
2017-04-15 12:35:54 +00:00
|
|
|
g:ale_python_flake8_options *g:ale_python_flake8_options*
|
2017-04-27 21:04:34 +00:00
|
|
|
*b:ale_python_flake8_options*
|
2017-03-28 22:25:44 +00:00
|
|
|
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
|
2017-04-15 12:35:54 +00:00
|
|
|
let g:ale_python_flake8_options = '-m flake8'
|
2017-03-28 22:25:44 +00:00
|
|
|
<
|
|
|
|
after making sure it's installed for the appropriate Python versions (e.g.
|
|
|
|
`python3 -m pip install --user flake8`).
|
|
|
|
|
|
|
|
|
2017-05-07 15:16:17 +00:00
|
|
|
g:ale_python_flake8_use_global *g:ale_python_flake8_use_global*
|
|
|
|
*b:ale_python_flake8_use_global*
|
|
|
|
Type: |Number|
|
2018-04-09 18:11:20 +00:00
|
|
|
Default: `get(g:, 'ale_use_global_executables', 0)`
|
2017-05-07 15:16:17 +00:00
|
|
|
|
|
|
|
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.
|
|
|
|
|
|
|
|
|
Add python_[linter]_auto_pipenv options for python linters (fixes #1656)
When set to true, and the buffer is currently inside a pipenv,
GetExecutable will return "pipenv", which will trigger the existing
functionality to append the correct pipenv arguments to run each linter.
Defaults to false.
I was going to implement ale#python#PipenvPresent by invoking
`pipenv --venv` or `pipenv --where`, but it seemed to be abominably
slow, even to the point where the test suite wasn't even finishing
("Tried to run tests 3 times"). The diff is:
diff --git a/autoload/ale/python.vim b/autoload/ale/python.vim
index 7baae079..8c100d41 100644
--- a/autoload/ale/python.vim
+++ b/autoload/ale/python.vim
@@ -106,5 +106,9 @@ endfunction
" Detects whether a pipenv environment is present.
function! ale#python#PipenvPresent(buffer) abort
- return findfile('Pipfile.lock', expand('#' . a:buffer . ':p:h') . ';') isnot# ''
+ let l:cd_string = ale#path#BufferCdString(a:buffer)
+ let l:output = systemlist(l:cd_string . 'pipenv --where')[0]
+ " `pipenv --where` returns the path to the dir containing the Pipfile
+ " if in a pipenv, or some error text otherwise.
+ return strpart(l:output, 0, 18) !=# "No Pipfile present"
endfunction
Using vim's `findfile` is much faster, behaves correctly in the majority
of situations, and also works reliably when the `pipenv` command doesn't
exist.
2018-07-12 03:02:23 +00:00
|
|
|
g:ale_python_flake8_auto_pipenv *g:ale_python_flake8_auto_pipenv*
|
|
|
|
*b:ale_python_flake8_auto_pipenv*
|
|
|
|
Type: |Number|
|
|
|
|
Default: `0`
|
|
|
|
|
|
|
|
Detect whether the file is inside a pipenv, and set the executable to `pipenv`
|
|
|
|
if true. This is overridden by a manually-set executable.
|
|
|
|
|
|
|
|
|
2017-07-08 13:17:26 +00:00
|
|
|
===============================================================================
|
2017-06-18 10:03:31 +00:00
|
|
|
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|
|
|
|
|
|
|
|
|
|
2018-07-05 08:24:57 +00:00
|
|
|
g:ale_python_isort_options *g:ale_python_isort_options*
|
|
|
|
*b:ale_python_isort_options*
|
2018-07-04 17:01:16 +00:00
|
|
|
Type: |String|
|
|
|
|
Default: `''`
|
|
|
|
|
|
|
|
This variable can be set to pass extra options to isort.
|
|
|
|
|
|
|
|
|
2017-06-18 10:03:31 +00:00
|
|
|
g:ale_python_isort_use_global *g:ale_python_isort_use_global*
|
|
|
|
*b:ale_python_isort_use_global*
|
|
|
|
Type: |Number|
|
2018-04-09 18:11:20 +00:00
|
|
|
Default: `get(g:, 'ale_use_global_executables', 0)`
|
2017-06-18 10:03:31 +00:00
|
|
|
|
|
|
|
See |ale-integrations-local-executables|
|
|
|
|
|
|
|
|
|
2017-07-08 13:17:26 +00:00
|
|
|
===============================================================================
|
2017-03-28 22:25:44 +00:00
|
|
|
mypy *ale-python-mypy*
|
|
|
|
|
2017-06-27 09:06:03 +00:00
|
|
|
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.
|
|
|
|
|
2018-05-30 19:09:33 +00:00
|
|
|
`mypy` will be run from a detected project root, per |ale-python-root|.
|
|
|
|
|
2017-06-27 09:06:03 +00:00
|
|
|
|
2017-05-06 22:19:54 +00:00
|
|
|
g:ale_python_mypy_executable *g:ale_python_mypy_executable*
|
|
|
|
*b:ale_python_mypy_executable*
|
|
|
|
Type: |String|
|
|
|
|
Default: `'mypy'`
|
|
|
|
|
2017-06-18 10:03:31 +00:00
|
|
|
See |ale-integrations-local-executables|
|
2017-05-06 22:19:54 +00:00
|
|
|
|
2018-06-05 02:43:02 +00:00
|
|
|
Set this to `'pipenv'` to invoke `'pipenv` `run` `mypy'`.
|
|
|
|
|
2018-01-11 16:43:10 +00:00
|
|
|
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.
|
|
|
|
|
2017-05-06 22:19:54 +00:00
|
|
|
|
2017-03-28 22:25:44 +00:00
|
|
|
g:ale_python_mypy_options *g:ale_python_mypy_options*
|
2017-04-27 21:04:34 +00:00
|
|
|
*b:ale_python_mypy_options*
|
2017-03-28 22:25:44 +00:00
|
|
|
Type: |String|
|
|
|
|
Default: `''`
|
|
|
|
|
|
|
|
This variable can be changed to add command-line arguments to the mypy
|
|
|
|
invocation.
|
|
|
|
|
|
|
|
|
2017-05-06 22:19:54 +00:00
|
|
|
g:ale_python_mypy_use_global *g:ale_python_mypy_use_global*
|
|
|
|
*b:ale_python_mypy_use_global*
|
|
|
|
Type: |Number|
|
2018-04-09 18:11:20 +00:00
|
|
|
Default: `get(g:, 'ale_use_global_executables', 0)`
|
2017-05-06 22:19:54 +00:00
|
|
|
|
2017-06-18 10:03:31 +00:00
|
|
|
See |ale-integrations-local-executables|
|
2017-05-06 22:19:54 +00:00
|
|
|
|
|
|
|
|
Add python_[linter]_auto_pipenv options for python linters (fixes #1656)
When set to true, and the buffer is currently inside a pipenv,
GetExecutable will return "pipenv", which will trigger the existing
functionality to append the correct pipenv arguments to run each linter.
Defaults to false.
I was going to implement ale#python#PipenvPresent by invoking
`pipenv --venv` or `pipenv --where`, but it seemed to be abominably
slow, even to the point where the test suite wasn't even finishing
("Tried to run tests 3 times"). The diff is:
diff --git a/autoload/ale/python.vim b/autoload/ale/python.vim
index 7baae079..8c100d41 100644
--- a/autoload/ale/python.vim
+++ b/autoload/ale/python.vim
@@ -106,5 +106,9 @@ endfunction
" Detects whether a pipenv environment is present.
function! ale#python#PipenvPresent(buffer) abort
- return findfile('Pipfile.lock', expand('#' . a:buffer . ':p:h') . ';') isnot# ''
+ let l:cd_string = ale#path#BufferCdString(a:buffer)
+ let l:output = systemlist(l:cd_string . 'pipenv --where')[0]
+ " `pipenv --where` returns the path to the dir containing the Pipfile
+ " if in a pipenv, or some error text otherwise.
+ return strpart(l:output, 0, 18) !=# "No Pipfile present"
endfunction
Using vim's `findfile` is much faster, behaves correctly in the majority
of situations, and also works reliably when the `pipenv` command doesn't
exist.
2018-07-12 03:02:23 +00:00
|
|
|
g:ale_python_mypy_auto_pipenv *g:ale_python_mypy_auto_pipenv*
|
|
|
|
*b:ale_python_mypy_auto_pipenv*
|
|
|
|
Type: |Number|
|
|
|
|
Default: `0`
|
|
|
|
|
|
|
|
Detect whether the file is inside a pipenv, and set the executable to `pipenv`
|
|
|
|
if true. This is overridden by a manually-set executable.
|
|
|
|
|
|
|
|
|
2017-12-01 17:04:30 +00:00
|
|
|
===============================================================================
|
|
|
|
prospector *ale-python-prospector*
|
|
|
|
|
2018-01-11 16:43:10 +00:00
|
|
|
g:ale_python_prospector_executable *g:ale_python_prospector_executable*
|
|
|
|
*b:ale_python_prospector_executable*
|
2017-12-01 17:04:30 +00:00
|
|
|
Type: |String|
|
|
|
|
Default: `'prospector'`
|
|
|
|
|
|
|
|
See |ale-integrations-local-executables|
|
|
|
|
|
2018-06-05 02:43:02 +00:00
|
|
|
Set this to `'pipenv'` to invoke `'pipenv` `run` `prospector'`.
|
|
|
|
|
2017-12-01 17:04:30 +00:00
|
|
|
|
2018-01-11 16:43:10 +00:00
|
|
|
g:ale_python_prospector_options *g:ale_python_prospector_options*
|
|
|
|
*b:ale_python_prospector_options*
|
2017-12-01 17:04:30 +00:00
|
|
|
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`).
|
|
|
|
|
|
|
|
|
2018-01-11 16:43:10 +00:00
|
|
|
g:ale_python_prospector_use_global *g:ale_python_prospector_use_global*
|
|
|
|
*b:ale_python_prospector_use_global*
|
2017-12-01 17:04:30 +00:00
|
|
|
Type: |Number|
|
2018-04-09 18:11:20 +00:00
|
|
|
Default: `get(g:, 'ale_use_global_executables', 0)`
|
2017-12-01 17:04:30 +00:00
|
|
|
|
|
|
|
See |ale-integrations-local-executables|
|
|
|
|
|
|
|
|
|
Add python_[linter]_auto_pipenv options for python linters (fixes #1656)
When set to true, and the buffer is currently inside a pipenv,
GetExecutable will return "pipenv", which will trigger the existing
functionality to append the correct pipenv arguments to run each linter.
Defaults to false.
I was going to implement ale#python#PipenvPresent by invoking
`pipenv --venv` or `pipenv --where`, but it seemed to be abominably
slow, even to the point where the test suite wasn't even finishing
("Tried to run tests 3 times"). The diff is:
diff --git a/autoload/ale/python.vim b/autoload/ale/python.vim
index 7baae079..8c100d41 100644
--- a/autoload/ale/python.vim
+++ b/autoload/ale/python.vim
@@ -106,5 +106,9 @@ endfunction
" Detects whether a pipenv environment is present.
function! ale#python#PipenvPresent(buffer) abort
- return findfile('Pipfile.lock', expand('#' . a:buffer . ':p:h') . ';') isnot# ''
+ let l:cd_string = ale#path#BufferCdString(a:buffer)
+ let l:output = systemlist(l:cd_string . 'pipenv --where')[0]
+ " `pipenv --where` returns the path to the dir containing the Pipfile
+ " if in a pipenv, or some error text otherwise.
+ return strpart(l:output, 0, 18) !=# "No Pipfile present"
endfunction
Using vim's `findfile` is much faster, behaves correctly in the majority
of situations, and also works reliably when the `pipenv` command doesn't
exist.
2018-07-12 03:02:23 +00:00
|
|
|
g:ale_python_prospector_auto_pipenv *g:ale_python_prospector_auto_pipenv*
|
|
|
|
*b:ale_python_prospector_auto_pipenv*
|
|
|
|
Type: |Number|
|
|
|
|
Default: `0`
|
|
|
|
|
|
|
|
Detect whether the file is inside a pipenv, and set the executable to `pipenv`
|
|
|
|
if true. This is overridden by a manually-set executable.
|
|
|
|
|
|
|
|
|
2017-08-25 11:46:56 +00:00
|
|
|
===============================================================================
|
|
|
|
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|
|
|
|
|
|
2018-06-05 02:43:02 +00:00
|
|
|
Set this to `'pipenv'` to invoke `'pipenv` `run` `pycodestyle'`.
|
|
|
|
|
2017-08-25 11:46:56 +00:00
|
|
|
|
|
|
|
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|
|
2018-04-09 18:11:20 +00:00
|
|
|
Default: `get(g:, 'ale_use_global_executables', 0)`
|
2017-08-25 11:46:56 +00:00
|
|
|
|
|
|
|
See |ale-integrations-local-executables|
|
|
|
|
|
|
|
|
|
Add python_[linter]_auto_pipenv options for python linters (fixes #1656)
When set to true, and the buffer is currently inside a pipenv,
GetExecutable will return "pipenv", which will trigger the existing
functionality to append the correct pipenv arguments to run each linter.
Defaults to false.
I was going to implement ale#python#PipenvPresent by invoking
`pipenv --venv` or `pipenv --where`, but it seemed to be abominably
slow, even to the point where the test suite wasn't even finishing
("Tried to run tests 3 times"). The diff is:
diff --git a/autoload/ale/python.vim b/autoload/ale/python.vim
index 7baae079..8c100d41 100644
--- a/autoload/ale/python.vim
+++ b/autoload/ale/python.vim
@@ -106,5 +106,9 @@ endfunction
" Detects whether a pipenv environment is present.
function! ale#python#PipenvPresent(buffer) abort
- return findfile('Pipfile.lock', expand('#' . a:buffer . ':p:h') . ';') isnot# ''
+ let l:cd_string = ale#path#BufferCdString(a:buffer)
+ let l:output = systemlist(l:cd_string . 'pipenv --where')[0]
+ " `pipenv --where` returns the path to the dir containing the Pipfile
+ " if in a pipenv, or some error text otherwise.
+ return strpart(l:output, 0, 18) !=# "No Pipfile present"
endfunction
Using vim's `findfile` is much faster, behaves correctly in the majority
of situations, and also works reliably when the `pipenv` command doesn't
exist.
2018-07-12 03:02:23 +00:00
|
|
|
g:ale_python_pycodestyle_auto_pipenv *g:ale_python_pycodestyle_auto_pipenv*
|
|
|
|
*b:ale_python_pycodestyle_auto_pipenv*
|
|
|
|
Type: |Number|
|
|
|
|
Default: `0`
|
|
|
|
|
|
|
|
Detect whether the file is inside a pipenv, and set the executable to `pipenv`
|
|
|
|
if true. This is overridden by a manually-set executable.
|
|
|
|
|
|
|
|
|
2018-12-06 18:27:03 +00:00
|
|
|
===============================================================================
|
|
|
|
pydocstyle *ale-python-pydocstyle*
|
|
|
|
|
|
|
|
|
|
|
|
g:ale_python_pydocstyle_executable *g:ale_python_pydocstyle_executable*
|
|
|
|
*b:ale_python_pydocstyle_executable*
|
|
|
|
Type: |String|
|
|
|
|
Default: `'pydocstyle'`
|
|
|
|
|
|
|
|
See |ale-integrations-local-executables|
|
|
|
|
|
|
|
|
Set this to `'pipenv'` to invoke `'pipenv` `run` `pydocstyle'`.
|
|
|
|
|
|
|
|
|
|
|
|
g:ale_python_pydocstyle_options *g:ale_python_pydocstyle_options*
|
|
|
|
*b:ale_python_pydocstyle_options*
|
|
|
|
Type: |String|
|
|
|
|
Default: `''`
|
|
|
|
|
|
|
|
This variable can be changed to add command-line arguments to the
|
|
|
|
pydocstyle invocation.
|
|
|
|
|
|
|
|
|
|
|
|
g:ale_python_pydocstyle_use_global *g:ale_python_pydocstyle_use_global*
|
|
|
|
*b:ale_python_pydocstyle_use_global*
|
|
|
|
Type: |Number|
|
|
|
|
Default: `get(g:, 'ale_use_global_executables', 0)`
|
|
|
|
|
|
|
|
See |ale-integrations-local-executables|
|
|
|
|
|
|
|
|
|
|
|
|
g:ale_python_pydocstyle_auto_pipenv *g:ale_python_pydocstyle_auto_pipenv*
|
|
|
|
*b:ale_python_pydocstyle_auto_pipenv*
|
|
|
|
Type: |Number|
|
|
|
|
Default: `0`
|
|
|
|
|
|
|
|
Detect whether the file is inside a pipenv, and set the executable to `pipenv`
|
|
|
|
if true. This is overridden by a manually-set executable.
|
|
|
|
|
|
|
|
|
2018-06-05 02:43:02 +00:00
|
|
|
===============================================================================
|
|
|
|
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'`.
|
|
|
|
|
|
|
|
|
Add python_[linter]_auto_pipenv options for python linters (fixes #1656)
When set to true, and the buffer is currently inside a pipenv,
GetExecutable will return "pipenv", which will trigger the existing
functionality to append the correct pipenv arguments to run each linter.
Defaults to false.
I was going to implement ale#python#PipenvPresent by invoking
`pipenv --venv` or `pipenv --where`, but it seemed to be abominably
slow, even to the point where the test suite wasn't even finishing
("Tried to run tests 3 times"). The diff is:
diff --git a/autoload/ale/python.vim b/autoload/ale/python.vim
index 7baae079..8c100d41 100644
--- a/autoload/ale/python.vim
+++ b/autoload/ale/python.vim
@@ -106,5 +106,9 @@ endfunction
" Detects whether a pipenv environment is present.
function! ale#python#PipenvPresent(buffer) abort
- return findfile('Pipfile.lock', expand('#' . a:buffer . ':p:h') . ';') isnot# ''
+ let l:cd_string = ale#path#BufferCdString(a:buffer)
+ let l:output = systemlist(l:cd_string . 'pipenv --where')[0]
+ " `pipenv --where` returns the path to the dir containing the Pipfile
+ " if in a pipenv, or some error text otherwise.
+ return strpart(l:output, 0, 18) !=# "No Pipfile present"
endfunction
Using vim's `findfile` is much faster, behaves correctly in the majority
of situations, and also works reliably when the `pipenv` command doesn't
exist.
2018-07-12 03:02:23 +00:00
|
|
|
g:ale_python_pyflakes_auto_pipenv *g:ale_python_pyflakes_auto_pipenv*
|
|
|
|
*b:ale_python_pyflakes_auto_pipenv*
|
|
|
|
Type: |Number|
|
|
|
|
Default: `0`
|
|
|
|
|
|
|
|
Detect whether the file is inside a pipenv, and set the executable to `pipenv`
|
|
|
|
if true. This is overridden by a manually-set executable.
|
|
|
|
|
|
|
|
|
2017-07-08 13:17:26 +00:00
|
|
|
===============================================================================
|
2017-03-28 22:25:44 +00:00
|
|
|
pylint *ale-python-pylint*
|
|
|
|
|
2018-04-17 12:30:30 +00:00
|
|
|
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.
|
|
|
|
|
|
|
|
|
2017-03-28 22:25:44 +00:00
|
|
|
g:ale_python_pylint_executable *g:ale_python_pylint_executable*
|
2017-04-27 21:04:34 +00:00
|
|
|
*b:ale_python_pylint_executable*
|
2017-03-28 22:25:44 +00:00
|
|
|
Type: |String|
|
|
|
|
Default: `'pylint'`
|
|
|
|
|
2017-06-18 10:03:31 +00:00
|
|
|
See |ale-integrations-local-executables|
|
2017-03-28 22:25:44 +00:00
|
|
|
|
2018-06-05 02:43:02 +00:00
|
|
|
Set this to `'pipenv'` to invoke `'pipenv` `run` `pylint'`.
|
|
|
|
|
2017-03-28 22:25:44 +00:00
|
|
|
|
|
|
|
g:ale_python_pylint_options *g:ale_python_pylint_options*
|
2017-04-27 21:04:34 +00:00
|
|
|
*b:ale_python_pylint_options*
|
2017-03-28 22:25:44 +00:00
|
|
|
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
|
2017-10-24 13:11:56 +00:00
|
|
|
let g:ale_python_pylint_options = '--rcfile /path/to/pylint.rc'
|
2017-05-06 22:19:54 +00:00
|
|
|
" The virtualenv detection needs to be disabled.
|
|
|
|
let g:ale_python_pylint_use_global = 0
|
2017-03-28 22:25:44 +00:00
|
|
|
|
|
|
|
after making sure it's installed for the appropriate Python versions (e.g.
|
|
|
|
`python3 -m pip install --user pylint`).
|
|
|
|
|
|
|
|
|
2017-05-06 18:11:43 +00:00
|
|
|
g:ale_python_pylint_use_global *g:ale_python_pylint_use_global*
|
|
|
|
*b:ale_python_pylint_use_global*
|
|
|
|
Type: |Number|
|
2018-04-09 18:11:20 +00:00
|
|
|
Default: `get(g:, 'ale_use_global_executables', 0)`
|
2017-05-06 18:11:43 +00:00
|
|
|
|
2017-06-18 10:03:31 +00:00
|
|
|
See |ale-integrations-local-executables|
|
2017-05-06 18:11:43 +00:00
|
|
|
|
2017-11-21 23:51:18 +00:00
|
|
|
|
Add python_[linter]_auto_pipenv options for python linters (fixes #1656)
When set to true, and the buffer is currently inside a pipenv,
GetExecutable will return "pipenv", which will trigger the existing
functionality to append the correct pipenv arguments to run each linter.
Defaults to false.
I was going to implement ale#python#PipenvPresent by invoking
`pipenv --venv` or `pipenv --where`, but it seemed to be abominably
slow, even to the point where the test suite wasn't even finishing
("Tried to run tests 3 times"). The diff is:
diff --git a/autoload/ale/python.vim b/autoload/ale/python.vim
index 7baae079..8c100d41 100644
--- a/autoload/ale/python.vim
+++ b/autoload/ale/python.vim
@@ -106,5 +106,9 @@ endfunction
" Detects whether a pipenv environment is present.
function! ale#python#PipenvPresent(buffer) abort
- return findfile('Pipfile.lock', expand('#' . a:buffer . ':p:h') . ';') isnot# ''
+ let l:cd_string = ale#path#BufferCdString(a:buffer)
+ let l:output = systemlist(l:cd_string . 'pipenv --where')[0]
+ " `pipenv --where` returns the path to the dir containing the Pipfile
+ " if in a pipenv, or some error text otherwise.
+ return strpart(l:output, 0, 18) !=# "No Pipfile present"
endfunction
Using vim's `findfile` is much faster, behaves correctly in the majority
of situations, and also works reliably when the `pipenv` command doesn't
exist.
2018-07-12 03:02:23 +00:00
|
|
|
g:ale_python_pylint_auto_pipenv *g:ale_python_pylint_auto_pipenv*
|
|
|
|
*b:ale_python_pylint_auto_pipenv*
|
|
|
|
Type: |Number|
|
|
|
|
Default: `0`
|
|
|
|
|
|
|
|
Detect whether the file is inside a pipenv, and set the executable to `pipenv`
|
|
|
|
if true. This is overridden by a manually-set executable.
|
|
|
|
|
|
|
|
|
2017-11-08 17:58:56 +00:00
|
|
|
===============================================================================
|
|
|
|
pyls *ale-python-pyls*
|
|
|
|
|
2018-05-30 19:09:33 +00:00
|
|
|
`pyls` will be run from a detected project root, per |ale-python-root|.
|
|
|
|
|
|
|
|
|
2017-11-08 17:58:56 +00:00
|
|
|
g:ale_python_pyls_executable *g:ale_python_pyls_executable*
|
|
|
|
*b:ale_python_pyls_executable*
|
|
|
|
Type: |String|
|
2017-11-21 23:51:18 +00:00
|
|
|
Default: `'pyls'`
|
|
|
|
|
|
|
|
See |ale-integrations-local-executables|
|
|
|
|
|
2018-06-05 02:43:02 +00:00
|
|
|
Set this to `'pipenv'` to invoke `'pipenv` `run` `pyls'`.
|
|
|
|
|
2017-11-21 23:51:18 +00:00
|
|
|
|
|
|
|
g:ale_python_pyls_use_global *g:ale_python_pyls_use_global*
|
|
|
|
*b:ale_python_pyls_use_global*
|
|
|
|
Type: |Number|
|
2018-04-09 18:11:20 +00:00
|
|
|
Default: `get(g:, 'ale_use_global_executables', 0)`
|
2017-11-08 17:58:56 +00:00
|
|
|
|
|
|
|
See |ale-integrations-local-executables|
|
2017-06-18 10:03:31 +00:00
|
|
|
|
2017-11-21 23:51:18 +00:00
|
|
|
|
Add python_[linter]_auto_pipenv options for python linters (fixes #1656)
When set to true, and the buffer is currently inside a pipenv,
GetExecutable will return "pipenv", which will trigger the existing
functionality to append the correct pipenv arguments to run each linter.
Defaults to false.
I was going to implement ale#python#PipenvPresent by invoking
`pipenv --venv` or `pipenv --where`, but it seemed to be abominably
slow, even to the point where the test suite wasn't even finishing
("Tried to run tests 3 times"). The diff is:
diff --git a/autoload/ale/python.vim b/autoload/ale/python.vim
index 7baae079..8c100d41 100644
--- a/autoload/ale/python.vim
+++ b/autoload/ale/python.vim
@@ -106,5 +106,9 @@ endfunction
" Detects whether a pipenv environment is present.
function! ale#python#PipenvPresent(buffer) abort
- return findfile('Pipfile.lock', expand('#' . a:buffer . ':p:h') . ';') isnot# ''
+ let l:cd_string = ale#path#BufferCdString(a:buffer)
+ let l:output = systemlist(l:cd_string . 'pipenv --where')[0]
+ " `pipenv --where` returns the path to the dir containing the Pipfile
+ " if in a pipenv, or some error text otherwise.
+ return strpart(l:output, 0, 18) !=# "No Pipfile present"
endfunction
Using vim's `findfile` is much faster, behaves correctly in the majority
of situations, and also works reliably when the `pipenv` command doesn't
exist.
2018-07-12 03:02:23 +00:00
|
|
|
g:ale_python_pyls_auto_pipenv *g:ale_python_pyls_auto_pipenv*
|
|
|
|
*b:ale_python_pyls_auto_pipenv*
|
|
|
|
Type: |Number|
|
|
|
|
Default: `0`
|
|
|
|
|
|
|
|
Detect whether the file is inside a pipenv, and set the executable to `pipenv`
|
|
|
|
if true. This is overridden by a manually-set executable.
|
|
|
|
|
|
|
|
|
2019-01-21 04:52:44 +00:00
|
|
|
g:ale_python_pyls_config *g:ale_python_pyls_config*
|
|
|
|
*b:ale_python_pyls_config*
|
|
|
|
Type: |Dictionary|
|
|
|
|
Default: `{}`
|
|
|
|
|
|
|
|
Dictionary with configuration settings for pyls. For example, to disable
|
|
|
|
the pycodestyle linter: >
|
|
|
|
{
|
|
|
|
\ 'pyls': {
|
|
|
|
\ 'plugins': {
|
|
|
|
\ 'pycodestyle': {
|
|
|
|
\ 'enabled': v:false
|
|
|
|
\ }
|
|
|
|
\ }
|
|
|
|
\ },
|
|
|
|
\ }
|
|
|
|
<
|
|
|
|
|
2018-07-01 18:59:49 +00:00
|
|
|
===============================================================================
|
|
|
|
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|
|
|
|
|
|
|
|
|
|
Add python_[linter]_auto_pipenv options for python linters (fixes #1656)
When set to true, and the buffer is currently inside a pipenv,
GetExecutable will return "pipenv", which will trigger the existing
functionality to append the correct pipenv arguments to run each linter.
Defaults to false.
I was going to implement ale#python#PipenvPresent by invoking
`pipenv --venv` or `pipenv --where`, but it seemed to be abominably
slow, even to the point where the test suite wasn't even finishing
("Tried to run tests 3 times"). The diff is:
diff --git a/autoload/ale/python.vim b/autoload/ale/python.vim
index 7baae079..8c100d41 100644
--- a/autoload/ale/python.vim
+++ b/autoload/ale/python.vim
@@ -106,5 +106,9 @@ endfunction
" Detects whether a pipenv environment is present.
function! ale#python#PipenvPresent(buffer) abort
- return findfile('Pipfile.lock', expand('#' . a:buffer . ':p:h') . ';') isnot# ''
+ let l:cd_string = ale#path#BufferCdString(a:buffer)
+ let l:output = systemlist(l:cd_string . 'pipenv --where')[0]
+ " `pipenv --where` returns the path to the dir containing the Pipfile
+ " if in a pipenv, or some error text otherwise.
+ return strpart(l:output, 0, 18) !=# "No Pipfile present"
endfunction
Using vim's `findfile` is much faster, behaves correctly in the majority
of situations, and also works reliably when the `pipenv` command doesn't
exist.
2018-07-12 03:02:23 +00:00
|
|
|
g:ale_python_pyre_auto_pipenv *g:ale_python_pyre_auto_pipenv*
|
|
|
|
*b:ale_python_pyre_auto_pipenv*
|
|
|
|
Type: |Number|
|
|
|
|
Default: `0`
|
|
|
|
|
|
|
|
Detect whether the file is inside a pipenv, and set the executable to `pipenv`
|
|
|
|
if true. This is overridden by a manually-set executable.
|
|
|
|
|
|
|
|
|
2018-07-26 07:41:27 +00:00
|
|
|
===============================================================================
|
|
|
|
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|
|
|
|
|
|
|
|
|
|
2017-07-08 13:17:26 +00:00
|
|
|
===============================================================================
|
2017-06-18 10:03:31 +00:00
|
|
|
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|
|
2018-04-09 18:11:20 +00:00
|
|
|
Default: `get(g:, 'ale_use_global_executables', 0)`
|
2017-06-18 10:03:31 +00:00
|
|
|
|
|
|
|
See |ale-integrations-local-executables|
|
2017-05-06 18:11:43 +00:00
|
|
|
|
|
|
|
|
2017-07-08 13:17:26 +00:00
|
|
|
===============================================================================
|
2017-03-28 22:25:44 +00:00
|
|
|
vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl:
|