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.
|
|
|
|
|
2021-11-18 22:41:05 +00:00
|
|
|
|
2021-07-25 04:39:05 +00:00
|
|
|
g:ale_python_auto_poetry *g:ale_python_auto_poetry*
|
|
|
|
*b:ale_python_auto_poetry*
|
|
|
|
Type: |Number|
|
|
|
|
Default: `0`
|
|
|
|
|
|
|
|
Detect whether the file is inside a poetry, and set the executable to `poetry`
|
|
|
|
if true. This is overridden by a manually-set executable.
|
|
|
|
|
2021-11-18 22:41:05 +00:00
|
|
|
|
2024-09-05 06:37:30 +00:00
|
|
|
g:ale_python_auto_uv *g:ale_python_auto_uv*
|
|
|
|
*b:ale_python_auto_uv*
|
|
|
|
Type: |Number|
|
|
|
|
Default: `0`
|
|
|
|
|
|
|
|
Set the executable to `uv` if true. This is overridden by a manually-set
|
|
|
|
executable.
|
|
|
|
|
|
|
|
|
2023-02-08 09:11:31 +00:00
|
|
|
g:ale_python_auto_virtualenv *g:ale_python_auto_virtualenv*
|
|
|
|
*b:ale_python_auto_virtualenv*
|
|
|
|
Type: |Number|
|
|
|
|
Default: `0`
|
|
|
|
|
|
|
|
If set to `1`, ALE will automatically set environment variables for commands
|
|
|
|
such as `PATH` to attempt to make the experience of running Python linters
|
|
|
|
via virtualenv easier, without the need for another plugin or some
|
|
|
|
specialised setup.
|
|
|
|
|
|
|
|
|
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
|
2021-09-15 12:07:45 +00:00
|
|
|
.pyre_configuration.local
|
2018-05-30 19:09:33 +00:00
|
|
|
mypy.ini
|
2022-05-15 03:20:16 +00:00
|
|
|
.mypy.ini
|
2018-05-30 19:09:33 +00:00
|
|
|
pycodestyle.cfg
|
2019-05-18 13:42:19 +00:00
|
|
|
.flake8
|
2018-08-02 03:07:11 +00:00
|
|
|
.flake8rc
|
2019-02-08 21:44:34 +00:00
|
|
|
pylama.ini
|
2019-02-17 17:12:24 +00:00
|
|
|
pylintrc
|
|
|
|
.pylintrc
|
2022-09-30 02:21:09 +00:00
|
|
|
pyrightconfig.json
|
|
|
|
pyrightconfig.toml
|
2018-07-15 18:26:45 +00:00
|
|
|
Pipfile
|
|
|
|
Pipfile.lock
|
2021-07-09 13:40:31 +00:00
|
|
|
poetry.lock
|
2020-10-15 11:35:47 +00:00
|
|
|
pyproject.toml
|
2021-07-20 09:14:45 +00:00
|
|
|
.tool-versions
|
2018-05-30 19:09:33 +00:00
|
|
|
<
|
|
|
|
|
|
|
|
The first directory containing any of the files named above will be used.
|
|
|
|
|
|
|
|
|
2021-07-13 12:58:18 +00:00
|
|
|
===============================================================================
|
|
|
|
autoflake *ale-python-autoflake*
|
|
|
|
|
|
|
|
g:ale_python_autoflake_executable *g:ale_python_autoflake_executable*
|
|
|
|
*b:ale_python_autoflake_executable*
|
|
|
|
Type: |String|
|
|
|
|
Default: `'autoflake'`
|
|
|
|
|
|
|
|
See |ale-integrations-local-executables|
|
|
|
|
|
|
|
|
|
|
|
|
g:ale_python_autoflake_options *g:ale_python_autoflake_options*
|
|
|
|
*b:ale_python_autoflake_options*
|
|
|
|
Type: |String|
|
|
|
|
Default: `''`
|
|
|
|
|
|
|
|
This variable can be set to pass extra options to autoflake.
|
|
|
|
|
|
|
|
|
|
|
|
g:ale_python_autoflake_use_global *g:ale_python_autoflake_use_global*
|
|
|
|
*b:ale_python_autoflake_use_global*
|
|
|
|
Type: |Number|
|
|
|
|
Default: `get(g:, 'ale_use_global_executables', 0)`
|
|
|
|
|
|
|
|
See |ale-integrations-local-executables|
|
|
|
|
|
|
|
|
|
2024-09-05 06:37:30 +00:00
|
|
|
g:ale_python_autoflake_auto_pipenv *g:ale_python_autoflake_auto_pipenv*
|
|
|
|
*b:ale_python_autoflake_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.
|
|
|
|
|
|
|
|
|
|
|
|
g:ale_python_autoflake_auto_poetry *g:ale_python_autoflake_auto_poetry*
|
|
|
|
*b:ale_python_autoflake_auto_poetry*
|
|
|
|
Type: |Number|
|
|
|
|
Default: `0`
|
|
|
|
|
|
|
|
Detect whether the file is inside a poetry, and set the executable to `poetry`
|
|
|
|
if true. This is overridden by a manually-set executable.
|
|
|
|
|
|
|
|
|
|
|
|
g:ale_python_autoflake_auto_uv *g:ale_python_autoflake_auto_uv*
|
|
|
|
*b:ale_python_autoflake_auto_uv*
|
|
|
|
Type: |Number|
|
|
|
|
Default: `0`
|
|
|
|
|
|
|
|
Set the executable to `uv` if true. This is overridden by a manually-set
|
|
|
|
executable.
|
|
|
|
|
|
|
|
|
2020-10-23 16:53:38 +00:00
|
|
|
===============================================================================
|
|
|
|
autoimport *ale-python-autoimport*
|
|
|
|
|
2023-02-08 09:11:31 +00:00
|
|
|
g:ale_python_autoimport_executable *g:ale_python_autoimport_executable*
|
|
|
|
*b:ale_python_autoimport_executable*
|
2020-10-23 16:53:38 +00:00
|
|
|
Type: |String|
|
|
|
|
Default: `'autoimport'`
|
|
|
|
|
|
|
|
See |ale-integrations-local-executables|
|
|
|
|
|
|
|
|
|
2023-02-08 09:11:31 +00:00
|
|
|
g:ale_python_autoimport_options *g:ale_python_autoimport_options*
|
|
|
|
*b:ale_python_autoimport_options*
|
2020-10-23 16:53:38 +00:00
|
|
|
Type: |String|
|
|
|
|
Default: `''`
|
|
|
|
|
|
|
|
This variable can be set to pass extra options to autoimport.
|
|
|
|
|
|
|
|
|
2023-02-08 09:11:31 +00:00
|
|
|
g:ale_python_autoimport_use_global *g:ale_python_autoimport_use_global*
|
|
|
|
*b:ale_python_autoimport_use_global*
|
2020-10-23 16:53:38 +00:00
|
|
|
Type: |Number|
|
|
|
|
Default: `get(g:, 'ale_use_global_executables', 0)`
|
|
|
|
|
|
|
|
See |ale-integrations-local-executables|
|
|
|
|
|
2021-07-13 12:58:18 +00:00
|
|
|
|
2024-09-05 06:37:30 +00:00
|
|
|
g:ale_python_autoimport_auto_pipenv *g:ale_python_autoimport_auto_pipenv*
|
|
|
|
*b:ale_python_autoimport_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.
|
|
|
|
|
|
|
|
|
|
|
|
g:ale_python_autoimport_auto_poetry *g:ale_python_autoimport_auto_poetry*
|
|
|
|
*b:ale_python_autoimport_auto_poetry*
|
|
|
|
Type: |Number|
|
|
|
|
Default: `0`
|
|
|
|
|
|
|
|
Detect whether the file is inside a poetry, and set the executable to `poetry`
|
|
|
|
if true. This is overridden by a manually-set executable.
|
|
|
|
|
|
|
|
|
|
|
|
g:ale_python_autoimport_auto_uv *g:ale_python_autoimport_auto_uv*
|
|
|
|
*b:ale_python_autoimport_auto_uv*
|
|
|
|
Type: |Number|
|
|
|
|
Default: `0`
|
|
|
|
|
|
|
|
Set the executable to `uv` 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
|
|
|
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|
|
|
|
|
|
|
|
|
|
2024-09-05 06:37:30 +00:00
|
|
|
g:ale_python_autopep8_auto_pipenv *g:ale_python_autopep8_auto_pipenv*
|
|
|
|
*b:ale_python_autopep8_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.
|
|
|
|
|
|
|
|
|
|
|
|
g:ale_python_autopep8_auto_poetry *g:ale_python_autopep8_auto_poetry*
|
|
|
|
*b:ale_python_autopep8_auto_poetry*
|
|
|
|
Type: |Number|
|
|
|
|
Default: `0`
|
|
|
|
|
|
|
|
Detect whether the file is inside a poetry, and set the executable to `poetry`
|
|
|
|
if true. This is overridden by a manually-set executable.
|
|
|
|
|
|
|
|
|
|
|
|
g:ale_python_autopep8_auto_uv *g:ale_python_autopep8_auto_uv*
|
|
|
|
*b:ale_python_autopep8_auto_uv*
|
|
|
|
Type: |Number|
|
|
|
|
Default: `0`
|
|
|
|
|
|
|
|
Set the executable to `uv` if true. This is overridden by a manually-set
|
|
|
|
executable.
|
|
|
|
|
|
|
|
|
2019-01-26 10:48:03 +00:00
|
|
|
===============================================================================
|
|
|
|
bandit *ale-python-bandit*
|
|
|
|
|
|
|
|
g:ale_python_bandit_executable *g:ale_python_bandit_executable*
|
|
|
|
*b:ale_python_bandit_executable*
|
|
|
|
Type: |String|
|
|
|
|
Default: `'bandit'`
|
|
|
|
|
|
|
|
See |ale-integrations-local-executables|
|
|
|
|
|
|
|
|
Set this to `'pipenv'` to invoke `'pipenv` `run` `bandit'`.
|
2021-07-25 04:39:05 +00:00
|
|
|
Set this to `'poetry'` to invoke `'poetry` `run` `bandit'`.
|
2019-01-26 10:48:03 +00:00
|
|
|
|
|
|
|
|
|
|
|
g:ale_python_bandit_options *g:ale_python_bandit_options*
|
|
|
|
*b:ale_python_bandit_options*
|
|
|
|
Type: |String|
|
|
|
|
Default: `''`
|
|
|
|
|
|
|
|
This variable can be changed to add command-line arguments to the
|
|
|
|
bandit invocation.
|
|
|
|
|
|
|
|
|
2019-02-17 21:11:56 +00:00
|
|
|
g:ale_python_bandit_use_config *g:ale_python_bandit_use_config*
|
|
|
|
*b:ale_python_bandit_use_config*
|
|
|
|
Type: |Number|
|
|
|
|
Default: `1`
|
|
|
|
|
|
|
|
If this variable is true and a `.bandit` file exists in the directory of the
|
|
|
|
file being checked or a parent directory, an `--ini` option is added to the
|
|
|
|
`bandit` command for the nearest `.bandit` file. Set this variable false to
|
|
|
|
disable adding the `--ini` option automatically.
|
|
|
|
|
|
|
|
|
2019-01-26 10:48:03 +00:00
|
|
|
g:ale_python_bandit_use_global *g:ale_python_bandit_use_global*
|
|
|
|
*b:ale_python_bandit_use_global*
|
|
|
|
Type: |Number|
|
|
|
|
Default: `get(g:, 'ale_use_global_executables', 0)`
|
|
|
|
|
|
|
|
See |ale-integrations-local-executables|
|
|
|
|
|
|
|
|
|
|
|
|
g:ale_python_bandit_auto_pipenv *g:ale_python_bandit_auto_pipenv*
|
|
|
|
*b:ale_python_bandit_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.
|
|
|
|
|
|
|
|
|
2021-07-25 04:39:05 +00:00
|
|
|
g:ale_python_bandit_auto_poetry *g:ale_python_bandit_auto_poetry*
|
|
|
|
*b:ale_python_bandit_auto_poetry*
|
|
|
|
Type: |Number|
|
|
|
|
Default: `0`
|
|
|
|
|
|
|
|
Detect whether the file is inside a poetry, and set the executable to `poetry`
|
|
|
|
if true. This is overridden by a manually-set executable.
|
|
|
|
|
|
|
|
|
2024-09-05 06:37:30 +00:00
|
|
|
g:ale_python_bandit_auto_uv *g:ale_python_bandit_auto_uv*
|
|
|
|
*b:ale_python_bandit_auto_uv*
|
|
|
|
Type: |Number|
|
|
|
|
Default: `0`
|
|
|
|
|
|
|
|
Set the executable to `uv` if true. This is overridden by a manually-set
|
|
|
|
executable.
|
|
|
|
|
|
|
|
|
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
|
|
|
|
2020-01-02 14:19:21 +00:00
|
|
|
g:ale_python_black_auto_pipenv *g:ale_python_black_auto_pipenv*
|
|
|
|
*b:ale_python_black_auto_pipenv*
|
2018-10-10 13:05:52 +00:00
|
|
|
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.
|
|
|
|
|
2021-11-18 22:41:05 +00:00
|
|
|
|
2021-07-25 04:39:05 +00:00
|
|
|
g:ale_python_black_auto_poetry *g:ale_python_black_auto_poetry*
|
|
|
|
*b:ale_python_black_auto_poetry*
|
|
|
|
Type: |Number|
|
|
|
|
Default: `0`
|
|
|
|
|
|
|
|
Detect whether the file is inside a poetry, and set the executable to `poetry`
|
|
|
|
if true. This is overridden by a manually-set executable.
|
|
|
|
|
2021-11-18 22:41:05 +00:00
|
|
|
|
2024-09-05 06:37:30 +00:00
|
|
|
g:ale_python_black_auto_uv *g:ale_python_black_auto_uv*
|
|
|
|
*b:ale_python_black_auto_uv*
|
|
|
|
Type: |Number|
|
|
|
|
Default: `0`
|
|
|
|
|
|
|
|
Set the executable to `uv` if true. This is overridden by a manually-set
|
|
|
|
executable.
|
|
|
|
|
|
|
|
|
2019-01-30 15:57:58 +00:00
|
|
|
g:ale_python_black_change_directory *g:ale_python_black_change_directory*
|
|
|
|
*b:ale_python_black_change_directory*
|
|
|
|
Type: |Number|
|
|
|
|
Default: `1`
|
|
|
|
|
|
|
|
If set to `1`, ALE will switch to the directory the Python file being
|
|
|
|
checked with `black` is in before checking it. This helps `black` find
|
|
|
|
configuration files more easily. This option can be turned off if you want
|
|
|
|
to control the directory Python is executed from yourself.
|
|
|
|
|
2018-04-06 09:08:25 +00:00
|
|
|
|
2021-11-18 22:41:05 +00:00
|
|
|
===============================================================================
|
|
|
|
cspell *ale-python-cspell*
|
|
|
|
|
|
|
|
See |ale-cspell-options|
|
|
|
|
|
|
|
|
|
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*
|
2019-10-21 21:38:54 +00:00
|
|
|
Type: |String|
|
2021-11-18 22:41:05 +00:00
|
|
|
Default: `'project'`
|
2018-05-28 15:34:54 +00:00
|
|
|
|
2019-10-21 21:38:54 +00:00
|
|
|
If set to `project`, ALE will switch to the project root before checking file.
|
2022-06-04 06:58:36 +00:00
|
|
|
If set to `file`, ALE will first switch to the directory containing the
|
|
|
|
Python file being checked with `flake8` before checking it.
|
2019-10-21 21:38:54 +00:00
|
|
|
You can turn it off with `off` option if you want to control the directory
|
|
|
|
Python is executed from yourself.
|
2018-05-28 15:34:54 +00:00
|
|
|
|
|
|
|
|
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
|
2021-07-25 04:39:05 +00:00
|
|
|
this to `'pipenv'` to invoke `'pipenv` `run` `flake8'`. Set this to
|
|
|
|
`'poetry'` to invoke `'poetry` `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.
|
|
|
|
|
|
|
|
|
2021-07-25 04:39:05 +00:00
|
|
|
g:ale_python_flake8_auto_poetry *g:ale_python_flake8_auto_poetry*
|
|
|
|
*b:ale_python_flake8_auto_poetry*
|
|
|
|
Type: |Number|
|
|
|
|
Default: `0`
|
|
|
|
|
|
|
|
Detect whether the file is inside a poetry, and set the executable to `poetry`
|
|
|
|
if true. This is overridden by a manually-set executable.
|
|
|
|
|
2021-11-18 22:41:05 +00:00
|
|
|
|
2024-09-05 06:37:30 +00:00
|
|
|
g:ale_python_flake8_auto_uv *g:ale_python_flake8_auto_uv*
|
|
|
|
*b:ale_python_flake8_auto_uv*
|
|
|
|
Type: |Number|
|
|
|
|
Default: `0`
|
|
|
|
|
|
|
|
Set the executable to `uv` if true. This is overridden by a manually-set
|
|
|
|
executable.
|
|
|
|
|
|
|
|
|
2021-10-02 07:37:57 +00:00
|
|
|
===============================================================================
|
|
|
|
flakehell *ale-python-flakehell*
|
|
|
|
|
|
|
|
g:ale_python_flakehell_change_directory*g:ale_python_flakehell_change_directory*
|
2023-02-08 09:11:31 +00:00
|
|
|
*b:ale_python_flakehell_change_directory*
|
2021-10-02 07:37:57 +00:00
|
|
|
Type: |String|
|
|
|
|
Default: `project`
|
|
|
|
|
|
|
|
If set to `project`, ALE will switch to the project root before checking file.
|
|
|
|
If set to `file`, ALE will switch to directory the Python file being
|
|
|
|
checked with `flakehell` is in before checking it.
|
|
|
|
You can turn it off with `off` option if you want to control the directory
|
|
|
|
Python is executed from yourself.
|
|
|
|
|
|
|
|
|
2023-02-08 09:11:31 +00:00
|
|
|
g:ale_python_flakehell_executable *g:ale_python_flakehell_executable*
|
|
|
|
*b:ale_python_flakehell_executable*
|
2021-10-02 07:37:57 +00:00
|
|
|
Type: |String|
|
|
|
|
Default: `'flakehell'`
|
|
|
|
|
|
|
|
This variable can be changed to modify the executable used for flakehell. Set
|
|
|
|
this to `'pipenv'` to invoke `'pipenv` `run` `flakehell'`. Set this to
|
|
|
|
`'poetry'` to invoke `'poetry` `run` `flakehell'`. Set this to `'python'` to
|
|
|
|
invoke `'python` `-m` `flakehell'`.
|
|
|
|
|
|
|
|
|
2023-02-08 09:11:31 +00:00
|
|
|
g:ale_python_flakehell_options *g:ale_python_flakehell_options*
|
|
|
|
*b:ale_python_flakehell_options*
|
2021-10-02 07:37:57 +00:00
|
|
|
Type: |String|
|
|
|
|
Default: `''`
|
|
|
|
|
|
|
|
This variable can be changed to add command-line arguments to the flakehell
|
|
|
|
lint invocation.
|
|
|
|
|
|
|
|
|
2023-02-08 09:11:31 +00:00
|
|
|
g:ale_python_flakehell_use_global *g:ale_python_flakehell_use_global*
|
|
|
|
*b:ale_python_flakehell_use_global*
|
2021-10-02 07:37:57 +00:00
|
|
|
Type: |Number|
|
|
|
|
Default: `get(g:, 'ale_use_global_executables', 0)`
|
|
|
|
|
|
|
|
This variable controls whether or not ALE will search for flakehell in a
|
|
|
|
virtualenv directory first. If this variable is set to `1`, then ALE will
|
|
|
|
always use |g:ale_python_flakehell_executable| for the executable path.
|
|
|
|
|
|
|
|
Both variables can be set with `b:` buffer variables instead.
|
|
|
|
|
|
|
|
|
2023-02-08 09:11:31 +00:00
|
|
|
g:ale_python_flakehell_auto_pipenv *g:ale_python_flakehell_auto_pipenv*
|
|
|
|
*b:ale_python_flakehell_auto_pipenv*
|
2021-10-02 07:37:57 +00:00
|
|
|
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.
|
|
|
|
|
|
|
|
|
|
|
|
g:ale_python_flakehell_auto_poetry *g:ale_python_flakehell_auto_poetry*
|
|
|
|
*b:ale_python_flakehell_auto_poetry*
|
|
|
|
Type: |Number|
|
|
|
|
Default: `0`
|
|
|
|
|
|
|
|
Detect whether the file is inside a poetry, and set the executable to `poetry`
|
|
|
|
if true. This is overridden by a manually-set executable.
|
2021-07-25 04:39:05 +00:00
|
|
|
|
2021-11-18 22:41:05 +00:00
|
|
|
|
2024-09-05 06:37:30 +00:00
|
|
|
g:ale_python_flakehell_auto_uv *g:ale_python_flakehell_auto_uv*
|
|
|
|
*b:ale_python_flakehell_auto_uv*
|
|
|
|
Type: |Number|
|
|
|
|
Default: `0`
|
|
|
|
|
|
|
|
Set the executable to `uv` 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|
|
|
|
|
|
|
|
|
|
2020-10-06 06:27:08 +00:00
|
|
|
g:ale_python_isort_auto_pipenv *g:ale_python_isort_auto_pipenv*
|
|
|
|
*b:ale_python_isort_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.
|
|
|
|
|
|
|
|
|
2021-09-10 06:18:41 +00:00
|
|
|
g:ale_python_isort_auto_poetry *g:ale_python_isort_auto_poetry*
|
|
|
|
*b:ale_python_isort_auto_poetry*
|
|
|
|
Type: |Number|
|
|
|
|
Default: `0`
|
|
|
|
|
|
|
|
Detect whether the file is inside a poetry, and set the executable to `poetry`
|
|
|
|
if true. This is overridden by a manually-set executable.
|
|
|
|
|
|
|
|
|
2024-09-05 06:37:30 +00:00
|
|
|
g:ale_python_isort_auto_uv *g:ale_python_isort_auto_uv*
|
|
|
|
*b:ale_python_isort_auto_uv*
|
|
|
|
Type: |Number|
|
|
|
|
Default: `0`
|
|
|
|
|
|
|
|
Set the executable to `uv` 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
|
|
|
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
|
|
|
|
2020-01-02 14:19:21 +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.
|
|
|
|
|
|
|
|
|
2021-07-25 04:39:05 +00:00
|
|
|
g:ale_python_mypy_auto_poetry *g:ale_python_mypy_auto_poetry*
|
|
|
|
*b:ale_python_mypy_auto_poetry*
|
|
|
|
Type: |Number|
|
|
|
|
Default: `0`
|
|
|
|
|
|
|
|
Detect whether the file is inside a poetry, and set the executable to `poetry`
|
|
|
|
if true. This is overridden by a manually-set executable.
|
|
|
|
|
|
|
|
|
2024-09-05 06:37:30 +00:00
|
|
|
g:ale_python_mypy_auto_uv *g:ale_python_mypy_auto_uv*
|
|
|
|
*b:ale_python_mypy_auto_uv*
|
|
|
|
Type: |Number|
|
|
|
|
Default: `0`
|
|
|
|
|
|
|
|
Set the executable to `uv` if true. This is overridden by a manually-set
|
|
|
|
executable.
|
|
|
|
|
|
|
|
|
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'`.
|
2021-07-25 04:39:05 +00:00
|
|
|
Set this to `'poetry'` to invoke `'poetry` `run` `mypy'`.
|
2018-06-05 02:43:02 +00:00
|
|
|
|
2020-01-02 14:19:21 +00:00
|
|
|
|
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.
|
|
|
|
|
|
|
|
|
2020-01-02 14:19:21 +00:00
|
|
|
g:ale_python_mypy_show_notes *g:ale_python_mypy_show_notes*
|
|
|
|
*b:ale_python_mypy_show_notes*
|
|
|
|
Type: |Number|
|
|
|
|
Default: `1`
|
|
|
|
|
|
|
|
If enabled, notes on lines will be displayed as 'I' (info) messages.
|
|
|
|
|
|
|
|
|
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
|
|
|
|
|
|
|
|
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'`.
|
2021-07-25 04:39:05 +00:00
|
|
|
Set this to `'poetry'` to invoke `'poetry` `run` `prospector'`.
|
2018-06-05 02:43:02 +00:00
|
|
|
|
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.
|
|
|
|
|
|
|
|
|
2021-07-25 04:39:05 +00:00
|
|
|
g:ale_python_prospector_auto_poetry *g:ale_python_prospector_auto_poetry*
|
|
|
|
*b:ale_python_prospector_auto_poetry*
|
|
|
|
Type: |Number|
|
|
|
|
Default: `0`
|
|
|
|
|
|
|
|
Detect whether the file is inside a poetry, and set the executable to `poetry`
|
2023-01-27 01:24:18 +00:00
|
|
|
if true. This is overridden by a manually-set executable.
|
|
|
|
|
|
|
|
|
2024-09-05 06:37:30 +00:00
|
|
|
g:ale_python_prospector_auto_uv *g:ale_python_prospector_auto_uv*
|
|
|
|
*b:ale_python_prospector_auto_uv*
|
|
|
|
Type: |Number|
|
|
|
|
Default: `0`
|
|
|
|
|
|
|
|
Set the executable to `uv` if true. This is overridden by a manually-set
|
|
|
|
executable.
|
|
|
|
|
|
|
|
|
2023-01-27 01:24:18 +00:00
|
|
|
===============================================================================
|
|
|
|
pycln *ale-python-pycln*
|
|
|
|
|
|
|
|
g:ale_python_pycln_change_directory *g:ale_python_pycln_change_directory*
|
|
|
|
*b:ale_python_pycln_change_directory*
|
|
|
|
Type: |Number|
|
|
|
|
Default: `1`
|
|
|
|
|
|
|
|
If set to `1`, `pycln` will be run from a detected project root, per
|
|
|
|
|ale-python-root|. if set to `0` or no project root detected,
|
|
|
|
`pycln` will be run from the buffer's directory.
|
|
|
|
|
|
|
|
|
|
|
|
g:ale_python_pycln_executable *g:ale_python_pycln_executable*
|
|
|
|
*b:ale_python_pycln_executable*
|
|
|
|
Type: |String|
|
|
|
|
Default: `'pycln'`
|
|
|
|
|
|
|
|
See |ale-integrations-local-executables|
|
|
|
|
|
|
|
|
Set this to `'pipenv'` to invoke `'pipenv` `run` `pycln'`.
|
|
|
|
Set this to `'poetry'` to invoke `'poetry` `run` `pycln'`.
|
|
|
|
|
|
|
|
|
|
|
|
g:ale_python_pycln_options *g:ale_python_pycln_options*
|
|
|
|
*b:ale_python_pycln_options*
|
|
|
|
Type: |String|
|
|
|
|
Default: `''`
|
|
|
|
|
|
|
|
This variable can be changed to add command-line arguments to the pycln
|
|
|
|
invocation.
|
|
|
|
|
|
|
|
For example, to select/enable and/or disable some error codes,
|
|
|
|
you may want to set >
|
|
|
|
let g:ale_python_pycln_options = '--expand-stars'
|
|
|
|
|
|
|
|
|
|
|
|
g:ale_python_pycln_config_file *g:ale_python_pycln_config_file*
|
|
|
|
*b:ale_python_pycln_config_file*
|
|
|
|
Type: |String|
|
|
|
|
Default: `''`
|
|
|
|
|
|
|
|
Use this variable to set the configuration file.
|
|
|
|
If `'--config' ` is found in the |g:ale_python_pycln_options|, then that
|
|
|
|
option value will override the value in this variable.
|
|
|
|
|
|
|
|
g:ale_python_pycln_use_global *g:ale_python_pycln_use_global*
|
|
|
|
*b:ale_python_pycln_use_global*
|
|
|
|
Type: |Number|
|
|
|
|
Default: `get(g:, 'ale_use_global_executables', 0)`
|
|
|
|
|
|
|
|
See |ale-integrations-local-executables|
|
|
|
|
|
|
|
|
|
|
|
|
g:ale_python_pycln_auto_pipenv *g:ale_python_pycln_auto_pipenv*
|
|
|
|
*b:ale_python_pycln_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.
|
|
|
|
|
|
|
|
|
|
|
|
g:ale_python_pycln_auto_poetry *g:ale_python_pycln_auto_poetry*
|
|
|
|
*b:ale_python_pycln_auto_poetry*
|
|
|
|
Type: |Number|
|
|
|
|
Default: `0`
|
|
|
|
|
|
|
|
Detect whether the file is inside a poetry, and set the executable to `poetry`
|
2021-07-25 04:39:05 +00:00
|
|
|
if true. This is overridden by a manually-set executable.
|
|
|
|
|
|
|
|
|
2024-09-05 06:37:30 +00:00
|
|
|
g:ale_python_pycln_auto_uv *g:ale_python_pycln_auto_uv*
|
|
|
|
*b:ale_python_pycln_auto_uv*
|
|
|
|
Type: |Number|
|
|
|
|
Default: `0`
|
|
|
|
|
|
|
|
Set the executable to `uv` 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'`.
|
2021-07-25 04:39:05 +00:00
|
|
|
Set this to `'poetry'` to invoke `'poetry` `run` `pycodestyle'`.
|
2018-06-05 02:43:02 +00:00
|
|
|
|
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.
|
|
|
|
|
|
|
|
|
2021-07-25 04:39:05 +00:00
|
|
|
g:ale_python_pycodestyle_auto_poetry *g:ale_python_pycodestyle_auto_poetry*
|
|
|
|
*b:ale_python_pycodestyle_auto_poetry*
|
|
|
|
Type: |Number|
|
|
|
|
Default: `0`
|
|
|
|
|
|
|
|
Detect whether the file is inside a poetry, and set the executable to `poetry`
|
|
|
|
if true. This is overridden by a manually-set executable.
|
|
|
|
|
|
|
|
|
2024-09-05 06:37:30 +00:00
|
|
|
g:ale_python_pycodestyle_auto_uv *g:ale_python_pycodestyle_auto_uv*
|
|
|
|
*b:ale_python_pycodestyle_auto_uv*
|
|
|
|
Type: |Number|
|
|
|
|
Default: `0`
|
|
|
|
|
|
|
|
Set the executable to `uv` 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'`.
|
2021-07-25 04:39:05 +00:00
|
|
|
Set this to `'poetry'` to invoke `'poetry` `run` `pydocstyle'`.
|
2018-12-06 18:27:03 +00:00
|
|
|
|
|
|
|
|
|
|
|
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.
|
|
|
|
|
|
|
|
|
2021-07-25 04:39:05 +00:00
|
|
|
g:ale_python_pydocstyle_auto_poetry *g:ale_python_pydocstyle_auto_poetry*
|
|
|
|
*b:ale_python_pydocstyle_auto_poetry*
|
|
|
|
Type: |Number|
|
|
|
|
Default: `0`
|
|
|
|
|
|
|
|
Detect whether the file is inside a poetry, and set the executable to `poetry`
|
|
|
|
if true. This is overridden by a manually-set executable.
|
|
|
|
|
|
|
|
|
2024-09-05 06:37:30 +00:00
|
|
|
g:ale_python_pydocstyle_auto_uv *g:ale_python_pydocstyle_auto_uv*
|
|
|
|
*b:ale_python_pydocstyle_auto_uv*
|
|
|
|
Type: |Number|
|
|
|
|
Default: `0`
|
|
|
|
|
|
|
|
Set the executable to `uv` 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'`.
|
2021-07-25 04:39:05 +00:00
|
|
|
Set this to `'poetry'` to invoke `'poetry` `run` `pyflakes'`.
|
2018-06-05 02:43:02 +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_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`
|
2019-02-08 21:44:34 +00:00
|
|
|
if true. This is overridden by a manually-set executable.
|
|
|
|
|
|
|
|
|
2021-07-25 04:39:05 +00:00
|
|
|
g:ale_python_pyflakes_auto_poetry *g:ale_python_pyflakes_auto_poetry*
|
|
|
|
*b:ale_python_pyflakes_auto_poetry*
|
|
|
|
Type: |Number|
|
|
|
|
Default: `0`
|
|
|
|
|
|
|
|
Detect whether the file is inside a poetry, and set the executable to `poetry`
|
|
|
|
if true. This is overridden by a manually-set executable.
|
|
|
|
|
|
|
|
|
2024-09-05 06:37:30 +00:00
|
|
|
g:ale_python_pyflakes_auto_uv *g:ale_python_pyflakes_auto_uv*
|
|
|
|
*b:ale_python_pyflakes_auto_uv*
|
|
|
|
Type: |Number|
|
|
|
|
Default: `0`
|
|
|
|
|
|
|
|
Set the executable to `uv` if true. This is overridden by a manually-set
|
|
|
|
executable.
|
|
|
|
|
|
|
|
|
2022-06-16 13:41:57 +00:00
|
|
|
===============================================================================
|
|
|
|
pyflyby *ale-python-pyflyby*
|
|
|
|
|
|
|
|
g:ale_python_pyflyby_executable *g:ale_python_pyflyby_executable*
|
|
|
|
*b:ale_python_pyflyby_executable*
|
|
|
|
Type: |String|
|
|
|
|
Default: `'tidy-imports'`
|
|
|
|
|
|
|
|
See |ale-integrations-local-executables|
|
|
|
|
|
|
|
|
|
|
|
|
g:ale_python_pyflyby_options *g:ale_python_pyflyby_options*
|
|
|
|
*b:ale_python_pyflyby_options*
|
|
|
|
Type: |String|
|
|
|
|
Default: `''`
|
|
|
|
|
|
|
|
This variable can be changed to add command-line arguments to the pyflyby
|
|
|
|
tidy-imports invocation.
|
|
|
|
|
|
|
|
|
|
|
|
g:ale_python_pyflyby_use_global *g:ale_python_pyflyby_use_global*
|
|
|
|
*b:ale_python_pyflyby_use_global*
|
|
|
|
Type: |Number|
|
|
|
|
Default: `get(g:, 'ale_use_global_executables', 0)`
|
|
|
|
|
|
|
|
See |ale-integrations-local-executables|
|
|
|
|
|
|
|
|
|
|
|
|
g:ale_python_pyflyby_auto_pipenv *g:ale_python_pyflyby_auto_pipenv*
|
|
|
|
*b:ale_python_pyflyby_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.
|
|
|
|
|
|
|
|
|
|
|
|
g:ale_python_pyflyby_auto_poetry *g:ale_python_pyflyby_auto_poetry*
|
|
|
|
*b:ale_python_pyflyby_auto_poetry*
|
|
|
|
Type: |Number|
|
|
|
|
Default: `0`
|
|
|
|
|
|
|
|
Detect whether the file is inside a poetry, and set the executable to `poetry`
|
|
|
|
if true. This is overridden by a manually-set executable.
|
|
|
|
|
|
|
|
|
2024-09-05 06:37:30 +00:00
|
|
|
g:ale_python_pyflyby_auto_uv *g:ale_python_pyflyby_auto_uv*
|
|
|
|
*b:ale_python_pyflyby_auto_uv*
|
|
|
|
Type: |Number|
|
|
|
|
Default: `0`
|
|
|
|
|
|
|
|
Set the executable to `uv` if true. This is overridden by a manually-set
|
|
|
|
executable.
|
|
|
|
|
|
|
|
|
2019-02-08 21:44:34 +00:00
|
|
|
===============================================================================
|
|
|
|
pylama *ale-python-pylama*
|
|
|
|
|
|
|
|
g:ale_python_pylama_change_directory *g:ale_python_pylama_change_directory*
|
|
|
|
*b:ale_python_pylama_change_directory*
|
|
|
|
Type: |Number|
|
|
|
|
Default: `1`
|
|
|
|
|
|
|
|
If set to `1`, `pylama` will be run from a detected project root, per
|
|
|
|
|ale-python-root|. This is useful because `pylama` only searches for
|
|
|
|
configuration files in its current directory and applies file masks using
|
|
|
|
paths relative to its current directory. This option can be turned off if
|
|
|
|
you want to control the directory in which `pylama` is executed.
|
|
|
|
|
|
|
|
|
|
|
|
g:ale_python_pylama_executable *g:ale_python_pylama_executable*
|
|
|
|
*b:ale_python_pylama_executable*
|
|
|
|
Type: |String|
|
|
|
|
Default: `'pylama'`
|
|
|
|
|
|
|
|
This variable can be changed to modify the executable used for pylama. Set
|
2021-07-25 04:39:05 +00:00
|
|
|
this to `'pipenv'` to invoke `'pipenv` `run` `pylama'`. Set this to
|
|
|
|
`'poetry'` to invoke `'poetry` `run` `pylama'`.
|
2019-02-08 21:44:34 +00:00
|
|
|
|
|
|
|
|
|
|
|
g:ale_python_pylama_options *g:ale_python_pylama_options*
|
|
|
|
*b:ale_python_pylama_options*
|
|
|
|
Type: |String|
|
|
|
|
Default: `''`
|
|
|
|
|
|
|
|
This variable can be changed to add command-line arguments to the pylama
|
|
|
|
invocation.
|
|
|
|
|
|
|
|
|
|
|
|
g:ale_python_pylama_use_global *g:ale_python_pylama_use_global*
|
|
|
|
*b:ale_python_pylama_use_global*
|
|
|
|
Type: |Number|
|
|
|
|
Default: `get(g:, 'ale_use_global_executables', 0)`
|
|
|
|
|
|
|
|
This variable controls whether or not ALE will search for pylama in a
|
|
|
|
virtualenv directory first. If this variable is set to `1`, then ALE will
|
|
|
|
always use |g:ale_python_pylama_executable| for the executable path.
|
|
|
|
|
|
|
|
Both variables can be set with `b:` buffer variables instead.
|
|
|
|
|
|
|
|
|
|
|
|
g:ale_python_pylama_auto_pipenv *g:ale_python_pylama_auto_pipenv*
|
|
|
|
*b:ale_python_pylama_auto_pipenv*
|
|
|
|
Type: |Number|
|
|
|
|
Default: `0`
|
|
|
|
|
|
|
|
Detect whether the file is inside a pipenv, and set the executable to `pipenv`
|
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
|
|
|
if true. This is overridden by a manually-set executable.
|
|
|
|
|
|
|
|
|
2021-07-25 04:39:05 +00:00
|
|
|
g:ale_python_pylama_auto_poetry *g:ale_python_pylama_auto_poetry*
|
|
|
|
*b:ale_python_pylama_auto_poetry*
|
|
|
|
Type: |Number|
|
|
|
|
Default: `0`
|
|
|
|
|
|
|
|
Detect whether the file is inside a poetry, and set the executable to `poetry`
|
|
|
|
if true. This is overridden by a manually-set executable.
|
|
|
|
|
2024-09-05 06:37:30 +00:00
|
|
|
g:ale_python_pylama_auto_uv *g:ale_python_pylama_auto_uv*
|
|
|
|
*b:ale_python_pylama_auto_uv*
|
|
|
|
Type: |Number|
|
|
|
|
Default: `0`
|
|
|
|
|
|
|
|
Set the executable to `uv` if true. This is overridden by a manually-set
|
|
|
|
executable.
|
|
|
|
|
2021-07-25 04:39:05 +00:00
|
|
|
|
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`
|
|
|
|
|
2019-02-17 17:12:24 +00:00
|
|
|
If set to `1`, `pylint` will be run from a detected project root, per
|
|
|
|
|ale-python-root|. Since `pylint` only checks for `pylintrc` in the packages
|
|
|
|
above its current directory before falling back to user and global `pylintrc`
|
|
|
|
files, this is necessary for `pylint` to use a project `pylintrc` file, if
|
|
|
|
present. This option can be turned off if you want to control the directory
|
|
|
|
Python is executed from yourself.
|
2018-04-17 12:30:30 +00:00
|
|
|
|
|
|
|
|
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'`.
|
2021-07-25 04:39:05 +00:00
|
|
|
Set this to `'poetry'` to invoke `'poetry` `run` `pylint'`.
|
2018-06-05 02:43:02 +00:00
|
|
|
|
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.
|
|
|
|
|
|
|
|
|
2021-07-25 04:39:05 +00:00
|
|
|
g:ale_python_pylint_auto_poetry *g:ale_python_pylint_auto_poetry*
|
|
|
|
*b:ale_python_pylint_auto_poetry*
|
|
|
|
Type: |Number|
|
|
|
|
Default: `0`
|
|
|
|
|
|
|
|
Detect whether the file is inside a poetry, and set the executable to `poetry`
|
|
|
|
if true. This is overridden by a manually-set executable.
|
|
|
|
|
|
|
|
|
2024-09-05 06:37:30 +00:00
|
|
|
g:ale_python_pylint_auto_uv *g:ale_python_pylint_auto_uv*
|
|
|
|
*b:ale_python_pylint_auto_uv*
|
|
|
|
Type: |Number|
|
|
|
|
Default: `0`
|
|
|
|
|
|
|
|
Set the executable to `uv` if true. This is overridden by a manually-set
|
|
|
|
executable.
|
|
|
|
|
|
|
|
|
2019-05-09 16:28:18 +00:00
|
|
|
g:ale_python_pylint_use_msg_id *g:ale_python_pylint_use_msg_id*
|
|
|
|
*b:ale_python_pylint_use_msg_id*
|
|
|
|
Type: |Number|
|
|
|
|
Default: `0`
|
|
|
|
|
|
|
|
Use message for output (e.g. I0011) instead of symbolic name of the message
|
|
|
|
(e.g. locally-disabled).
|
|
|
|
|
2020-08-07 11:16:13 +00:00
|
|
|
|
2017-11-08 17:58:56 +00:00
|
|
|
===============================================================================
|
2023-02-08 09:11:31 +00:00
|
|
|
pylsp *ale-python-pylsp*
|
2017-11-08 17:58:56 +00:00
|
|
|
|
2021-07-09 13:40:31 +00:00
|
|
|
`pylsp` will be run from a detected project root, per |ale-python-root|.
|
2018-05-30 19:09:33 +00:00
|
|
|
|
|
|
|
|
2023-02-08 09:11:31 +00:00
|
|
|
g:ale_python_pylsp_executable *g:ale_python_pylsp_executable*
|
|
|
|
*b:ale_python_pylsp_executable*
|
2017-11-08 17:58:56 +00:00
|
|
|
Type: |String|
|
2021-07-09 13:40:31 +00:00
|
|
|
Default: `'pylsp'`
|
2017-11-21 23:51:18 +00:00
|
|
|
|
|
|
|
See |ale-integrations-local-executables|
|
|
|
|
|
2021-07-09 13:40:31 +00:00
|
|
|
Set this to `'pipenv'` to invoke `'pipenv` `run` `pylsp'`.
|
2021-07-25 04:39:05 +00:00
|
|
|
Set this to `'poetry'` to invoke `'poetry` `run` `pyls'`.
|
2018-06-05 02:43:02 +00:00
|
|
|
|
2017-11-21 23:51:18 +00:00
|
|
|
|
2023-02-08 09:11:31 +00:00
|
|
|
g:ale_python_pylsp_use_global *g:ale_python_pylsp_use_global*
|
|
|
|
*b:ale_python_pylsp_use_global*
|
2017-11-21 23:51:18 +00:00
|
|
|
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
|
|
|
|
2023-02-08 09:11:31 +00:00
|
|
|
g:ale_python_pylsp_auto_pipenv *g:ale_python_pylsp_auto_pipenv*
|
|
|
|
*b:ale_python_pylsp_auto_pipenv*
|
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
|
|
|
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.
|
|
|
|
|
|
|
|
|
2023-02-08 09:11:31 +00:00
|
|
|
g:ale_python_pylsp_auto_poetry *g:ale_python_pylsp_auto_poetry*
|
|
|
|
*b:ale_python_pylsp_auto_poetry*
|
2021-07-25 04:39:05 +00:00
|
|
|
Type: |Number|
|
|
|
|
Default: `0`
|
|
|
|
|
|
|
|
Detect whether the file is inside a poetry, and set the executable to `poetry`
|
|
|
|
if true. This is overridden by a manually-set executable.
|
|
|
|
|
|
|
|
|
2024-09-05 06:37:30 +00:00
|
|
|
g:ale_python_pylsp_auto_uv *g:ale_python_pylsp_auto_uv*
|
|
|
|
*b:ale_python_pylsp_auto_uv*
|
|
|
|
Type: |Number|
|
|
|
|
Default: `0`
|
|
|
|
|
|
|
|
Set the executable to `uv` if true. This is overridden by a manually-set
|
|
|
|
executable.
|
|
|
|
|
|
|
|
|
2023-02-08 09:11:31 +00:00
|
|
|
g:ale_python_pylsp_config *g:ale_python_pylsp_config*
|
|
|
|
*b:ale_python_pylsp_config*
|
2019-01-21 04:52:44 +00:00
|
|
|
Type: |Dictionary|
|
|
|
|
Default: `{}`
|
|
|
|
|
2021-07-09 13:40:31 +00:00
|
|
|
Dictionary with configuration settings for pylsp. For example, to disable
|
2019-01-21 04:52:44 +00:00
|
|
|
the pycodestyle linter: >
|
|
|
|
{
|
2021-07-09 13:40:31 +00:00
|
|
|
\ 'pylsp': {
|
2019-01-21 04:52:44 +00:00
|
|
|
\ 'plugins': {
|
|
|
|
\ 'pycodestyle': {
|
|
|
|
\ 'enabled': v:false
|
|
|
|
\ }
|
|
|
|
\ }
|
|
|
|
\ },
|
|
|
|
\ }
|
|
|
|
<
|
|
|
|
|
2023-02-08 09:11:31 +00:00
|
|
|
g:ale_python_pylsp_options *g:ale_python_pylsp_options*
|
|
|
|
*b:ale_python_pylsp_options*
|
2021-03-17 23:55:50 +00:00
|
|
|
Type: |String|
|
|
|
|
Default: `''`
|
|
|
|
|
2021-07-09 13:40:31 +00:00
|
|
|
This variable can be changed to add command-line arguments to the pylsp
|
|
|
|
invocation. Note that this is not the same thing as ale_python_pylsp_config,
|
|
|
|
which allows configuration of how pylsp functions; this is intended to
|
|
|
|
provide flexibility in how the pylsp command is invoked.
|
2021-03-17 23:55:50 +00:00
|
|
|
|
2021-07-09 13:40:31 +00:00
|
|
|
For example, if you had installed `pylsp` but your `pylsp` executable was not
|
|
|
|
on your `PATH` for some reason, an alternative way to run the pylsp server
|
2021-03-17 23:55:50 +00:00
|
|
|
would be:
|
2021-07-09 13:40:31 +00:00
|
|
|
let g:ale_python_pylsp_executable = 'python3'
|
|
|
|
let g:ale_python_pylsp_options = '-m pylsp'
|
2021-03-17 23:55:50 +00:00
|
|
|
|
2022-10-29 11:56:09 +00:00
|
|
|
An example strategy for installing `pylsp`:
|
2021-07-09 13:40:31 +00:00
|
|
|
`python3 -m pip install --user pylsp`
|
2021-03-17 23:55:50 +00:00
|
|
|
|
2021-11-18 22:41:05 +00:00
|
|
|
|
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'`.
|
2021-07-25 04:39:05 +00:00
|
|
|
Set this to `'poetry'` to invoke `'poetry` `run` `pyre'`.
|
2018-07-01 18:59:49 +00:00
|
|
|
|
|
|
|
|
|
|
|
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.
|
|
|
|
|
|
|
|
|
2021-07-25 04:39:05 +00:00
|
|
|
g:ale_python_pyre_auto_poetry *g:ale_python_pyre_auto_poetry*
|
|
|
|
*b:ale_python_pyre_auto_poetry*
|
|
|
|
Type: |Number|
|
|
|
|
Default: `0`
|
|
|
|
|
|
|
|
Detect whether the file is inside a poetry, and set the executable to `poetry`
|
|
|
|
if true. This is overridden by a manually-set executable.
|
|
|
|
|
|
|
|
|
2024-09-05 06:37:30 +00:00
|
|
|
g:ale_python_pyre_auto_uv *g:ale_python_pyre_auto_uv*
|
|
|
|
*b:ale_python_pyre_auto_uv*
|
|
|
|
Type: |Number|
|
|
|
|
Default: `0`
|
|
|
|
|
|
|
|
Set the executable to `uv` if true. This is overridden by a manually-set
|
|
|
|
executable.
|
|
|
|
|
|
|
|
|
2020-08-07 11:16:13 +00:00
|
|
|
===============================================================================
|
|
|
|
pyright *ale-python-pyright*
|
|
|
|
|
2020-10-03 02:51:54 +00:00
|
|
|
The `pyright` linter requires a recent version of `pyright` which includes
|
2020-08-07 11:16:13 +00:00
|
|
|
the `pyright-langserver` executable. You can install `pyright` on your system
|
|
|
|
through `npm` with `sudo npm install -g pyright` or similar.
|
|
|
|
|
|
|
|
Refer to their README for installation instructions:
|
|
|
|
https://github.com/Microsoft/pyright
|
|
|
|
|
|
|
|
`pyright` needs to know the path to your Python executable and probably a
|
|
|
|
virtualenv to run. ALE will try to detect these automatically.
|
|
|
|
See |g:ale_python_pyright_config|.
|
|
|
|
|
|
|
|
|
|
|
|
g:ale_python_pyright_executable *g:ale_python_pyright_executable*
|
|
|
|
*b:ale_python_pyright_executable*
|
|
|
|
Type: |String|
|
|
|
|
Default: `'pyright-langserver'`
|
|
|
|
|
|
|
|
The executable for running `pyright`, which is typically installed globally.
|
|
|
|
|
|
|
|
|
|
|
|
g:ale_python_pyright_config *g:ale_python_pyright_config*
|
|
|
|
*b:ale_python_pyright_config*
|
|
|
|
Type: |Dictionary|
|
|
|
|
Default: `{}`
|
|
|
|
|
|
|
|
Settings for configuring the `pyright` language server.
|
|
|
|
|
|
|
|
See pyright's documentation for a full list of options:
|
|
|
|
https://github.com/microsoft/pyright/blob/master/docs/settings.md
|
|
|
|
|
|
|
|
ALE will automatically try to set defaults for `venvPath` and `pythonPath`
|
|
|
|
so your project can automatically be checked with the right libraries.
|
|
|
|
You can override these settings with whatever you want in your ftplugin
|
|
|
|
file like so: >
|
|
|
|
|
|
|
|
let b:ale_python_pyright_config = {
|
|
|
|
\ 'python': {
|
|
|
|
\ 'pythonPath': '/bin/python',
|
|
|
|
\ 'venvPath': '/other/dir',
|
|
|
|
\ },
|
|
|
|
\}
|
|
|
|
<
|
|
|
|
If `venvPath` is set, but `pythonPath` is not,
|
|
|
|
ALE will use `venvPath . '/bin/python'` or similar as `pythonPath`.
|
|
|
|
|
|
|
|
A commonly used setting for `pyright` is disabling language services
|
|
|
|
apart from type checking and "hover" (|ale-hover|), you can set this
|
|
|
|
setting like so, or use whatever other settings you want: >
|
|
|
|
|
|
|
|
let b:ale_python_pyright_config = {
|
|
|
|
\ 'pyright': {
|
|
|
|
\ 'disableLanguageServices': v:true,
|
|
|
|
\ },
|
|
|
|
\}
|
|
|
|
<
|
|
|
|
|
2024-09-05 06:37:30 +00:00
|
|
|
g:ale_python_pyright_auto_pipenv *g:ale_python_pyright_auto_pipenv*
|
|
|
|
*b:ale_python_pyright_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.
|
|
|
|
|
|
|
|
|
|
|
|
g:ale_python_pyright_auto_poetry *g:ale_python_pyright_auto_poetry*
|
|
|
|
*b:ale_python_pyright_auto_poetry*
|
|
|
|
Type: |Number|
|
|
|
|
Default: `0`
|
|
|
|
|
|
|
|
Detect whether the file is inside a poetry, and set the executable to `poetry`
|
|
|
|
if true. This is overridden by a manually-set executable.
|
|
|
|
|
|
|
|
|
|
|
|
g:ale_python_pyright_auto_uv *g:ale_python_pyright_auto_uv*
|
|
|
|
*b:ale_python_pyright_auto_uv*
|
|
|
|
Type: |Number|
|
|
|
|
Default: `0`
|
|
|
|
|
|
|
|
Set the executable to `uv` if true. This is overridden by a manually-set
|
|
|
|
executable.
|
|
|
|
|
|
|
|
|
2022-12-06 12:26:09 +00:00
|
|
|
===============================================================================
|
2023-02-08 09:11:31 +00:00
|
|
|
refurb *ale-python-refurb*
|
2022-12-06 12:26:09 +00:00
|
|
|
|
2023-02-08 09:11:31 +00:00
|
|
|
g:ale_python_refurb_change_directory *g:ale_python_refurb_change_directory*
|
|
|
|
*b:ale_python_refurb_change_directory*
|
2022-12-06 12:26:09 +00:00
|
|
|
Type: |Number|
|
|
|
|
Default: `1`
|
|
|
|
|
|
|
|
If set to `1`, `refurb` will be run from a detected project root, per
|
|
|
|
|ale-python-root|. if set to `0` or no project root detected,
|
|
|
|
`refurb` will be run from the buffer's directory.
|
|
|
|
|
|
|
|
|
2023-02-08 09:11:31 +00:00
|
|
|
g:ale_python_refurb_executable *g:ale_python_refurb_executable*
|
|
|
|
*b:ale_python_refurb_executable*
|
2022-12-06 12:26:09 +00:00
|
|
|
Type: |String|
|
|
|
|
Default: `'refurb'`
|
|
|
|
|
|
|
|
See |ale-integrations-local-executables|
|
|
|
|
|
|
|
|
Set this to `'pipenv'` to invoke `'pipenv` `run` `refurb'`.
|
|
|
|
Set this to `'poetry'` to invoke `'poetry` `run` `refurb'`.
|
|
|
|
|
|
|
|
|
2023-02-08 09:11:31 +00:00
|
|
|
g:ale_python_refurb_options *g:ale_python_refurb_options*
|
|
|
|
*b:ale_python_refurb_options*
|
2022-12-06 12:26:09 +00:00
|
|
|
Type: |String|
|
|
|
|
Default: `''`
|
|
|
|
|
|
|
|
This variable can be changed to add command-line arguments to the refurb
|
|
|
|
invocation.
|
|
|
|
|
|
|
|
For example, to select/enable and/or disable some error codes,
|
|
|
|
you may want to set >
|
|
|
|
let g:ale_python_refurb_options = '--ignore 100'
|
2023-02-08 09:11:31 +00:00
|
|
|
g:ale_python_refurb_use_global *g:ale_python_refurb_use_global*
|
|
|
|
*b:ale_python_refurb_use_global*
|
2022-12-06 12:26:09 +00:00
|
|
|
Type: |Number|
|
|
|
|
Default: `get(g:, 'ale_use_global_executables', 0)`
|
|
|
|
|
|
|
|
See |ale-integrations-local-executables|
|
|
|
|
|
|
|
|
|
2023-02-08 09:11:31 +00:00
|
|
|
g:ale_python_refurb_auto_pipenv *g:ale_python_refurb_auto_pipenv*
|
|
|
|
*b:ale_python_refurb_auto_pipenv*
|
2022-12-06 12:26:09 +00:00
|
|
|
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.
|
|
|
|
|
|
|
|
|
2023-02-08 09:11:31 +00:00
|
|
|
g:ale_python_refurb_auto_poetry *g:ale_python_refurb_auto_poetry*
|
|
|
|
*b:ale_python_refurb_auto_poetry*
|
2022-12-06 12:26:09 +00:00
|
|
|
Type: |Number|
|
|
|
|
Default: `0`
|
|
|
|
|
|
|
|
Detect whether the file is inside a poetry, and set the executable to `poetry`
|
|
|
|
if true. This is overridden by a manually-set executable.
|
|
|
|
|
|
|
|
|
2024-09-05 06:37:30 +00:00
|
|
|
g:ale_python_refurb_auto_uv *g:ale_python_refurb_auto_uv*
|
|
|
|
*b:ale_python_refurb_auto_uv*
|
|
|
|
Type: |Number|
|
|
|
|
Default: `0`
|
|
|
|
|
|
|
|
Set the executable to `uv` if true. This is overridden by a manually-set
|
|
|
|
executable.
|
|
|
|
|
|
|
|
|
2019-06-06 03:18:33 +00:00
|
|
|
===============================================================================
|
|
|
|
reorder-python-imports *ale-python-reorder_python_imports*
|
|
|
|
|
|
|
|
g:ale_python_reorder_python_imports_executable
|
|
|
|
*g:ale_python_reorder_python_imports_executable*
|
|
|
|
*b:ale_python_reorder_python_imports_executable*
|
|
|
|
Type: |String|
|
|
|
|
Default: `'reorder-python-imports'`
|
|
|
|
|
|
|
|
See |ale-integrations-local-executables|
|
|
|
|
|
|
|
|
|
|
|
|
g:ale_python_reorder_python_imports_options
|
|
|
|
*g:ale_python_reorder_python_imports_options*
|
|
|
|
*b:ale_python_reorder_python_imports_options*
|
|
|
|
Type: |String|
|
|
|
|
Default: `''`
|
|
|
|
|
|
|
|
This variable can be set to pass extra options to reorder-python-imports.
|
|
|
|
|
|
|
|
|
|
|
|
g:ale_python_reorder_python_imports_use_global
|
|
|
|
*g:ale_python_reorder_python_imports_use_global*
|
|
|
|
*b:ale_python_reorder_python_imports_use_global*
|
|
|
|
Type: |Number|
|
|
|
|
Default: `get(g:, 'ale_use_global_executables', 0)`
|
|
|
|
|
|
|
|
See |ale-integrations-local-executables|
|
|
|
|
|
|
|
|
|
2024-09-05 06:37:30 +00:00
|
|
|
g:ale_python_reorder_python_imports_auto_pipenv
|
|
|
|
*g:ale_python_reorder_python_imports_auto_pipenv*
|
|
|
|
*b:ale_python_reorder_python_imports_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.
|
|
|
|
|
|
|
|
|
|
|
|
g:ale_python_reorder_python_imports_auto_poetry
|
|
|
|
*g:ale_python_reorder_python_imports_auto_poetry*
|
|
|
|
*b:ale_python_reorder_python_imports_auto_poetry*
|
|
|
|
Type: |Number|
|
|
|
|
Default: `0`
|
|
|
|
|
|
|
|
Detect whether the file is inside a poetry, and set the executable to `poetry`
|
|
|
|
if true. This is overridden by a manually-set executable.
|
|
|
|
|
|
|
|
|
|
|
|
g:ale_python_reorder_python_imports_auto_uv
|
|
|
|
*g:ale_python_reorder_python_imports_auto_uv*
|
|
|
|
*b:ale_python_reorder_python_imports_auto_uv*
|
|
|
|
Type: |Number|
|
|
|
|
Default: `0`
|
|
|
|
|
|
|
|
Set the executable to `uv` if true. This is overridden by a manually-set
|
|
|
|
executable.
|
|
|
|
|
|
|
|
|
2022-10-31 12:55:14 +00:00
|
|
|
===============================================================================
|
|
|
|
ruff *ale-python-ruff*
|
|
|
|
|
|
|
|
g:ale_python_ruff_change_directory *g:ale_python_ruff_change_directory*
|
|
|
|
*b:ale_python_ruff_change_directory*
|
|
|
|
Type: |Number|
|
|
|
|
Default: `1`
|
|
|
|
|
|
|
|
If set to `1`, `ruff` will be run from a detected project root, per
|
|
|
|
|ale-python-root|. if set to `0` or no project root detected,
|
|
|
|
`ruff` will be run from the buffer's directory.
|
|
|
|
|
|
|
|
|
|
|
|
g:ale_python_ruff_executable *g:ale_python_ruff_executable*
|
|
|
|
*b:ale_python_ruff_executable*
|
|
|
|
Type: |String|
|
|
|
|
Default: `'ruff'`
|
|
|
|
|
|
|
|
See |ale-integrations-local-executables|
|
|
|
|
|
|
|
|
Set this to `'pipenv'` to invoke `'pipenv` `run` `ruff'`.
|
|
|
|
Set this to `'poetry'` to invoke `'poetry` `run` `ruff'`.
|
|
|
|
|
|
|
|
|
|
|
|
g:ale_python_ruff_options *g:ale_python_ruff_options*
|
|
|
|
*b:ale_python_ruff_options*
|
|
|
|
Type: |String|
|
|
|
|
Default: `''`
|
|
|
|
|
|
|
|
This variable can be changed to add command-line arguments to the ruff
|
|
|
|
invocation.
|
|
|
|
|
|
|
|
For example, to select/enable and/or disable some error codes,
|
|
|
|
you may want to set >
|
|
|
|
let g:ale_python_ruff_options = '--ignore F401'
|
|
|
|
|
|
|
|
|
|
|
|
g:ale_python_ruff_use_global *g:ale_python_ruff_use_global*
|
|
|
|
*b:ale_python_ruff_use_global*
|
|
|
|
Type: |Number|
|
|
|
|
Default: `get(g:, 'ale_use_global_executables', 0)`
|
|
|
|
|
|
|
|
See |ale-integrations-local-executables|
|
|
|
|
|
|
|
|
|
|
|
|
g:ale_python_ruff_auto_pipenv *g:ale_python_ruff_auto_pipenv*
|
|
|
|
*b:ale_python_ruff_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.
|
|
|
|
|
|
|
|
|
|
|
|
g:ale_python_ruff_auto_poetry *g:ale_python_ruff_auto_poetry*
|
|
|
|
*b:ale_python_ruff_auto_poetry*
|
|
|
|
Type: |Number|
|
|
|
|
Default: `0`
|
|
|
|
|
|
|
|
Detect whether the file is inside a poetry, and set the executable to `poetry`
|
|
|
|
if true. This is overridden by a manually-set executable.
|
|
|
|
|
|
|
|
|
2024-09-05 06:37:30 +00:00
|
|
|
g:ale_python_ruff_auto_uv *g:ale_python_ruff_auto_uv*
|
|
|
|
*b:ale_python_ruff_auto_uv*
|
|
|
|
Type: |Number|
|
|
|
|
Default: `0`
|
|
|
|
|
|
|
|
Set the executable to `uv` if true. This is overridden by a manually-set
|
|
|
|
executable.
|
|
|
|
|
|
|
|
|
2023-11-16 12:12:40 +00:00
|
|
|
===============================================================================
|
|
|
|
ruff-format *ale-python-ruff-format*
|
|
|
|
|
|
|
|
g:ale_python_ruff_format_change_directory
|
|
|
|
*g:ale_python_ruff_format_change_directory*
|
|
|
|
*b:ale_python_ruff_format_change_directory*
|
|
|
|
Type: |Number|
|
|
|
|
Default: `1`
|
|
|
|
|
|
|
|
If set to `1`, `ruff` will be run from a detected project root, per
|
|
|
|
|ale-python-root|. if set to `0` or no project root detected,
|
|
|
|
`ruff` will be run from the buffer's directory.
|
|
|
|
|
|
|
|
|
|
|
|
g:ale_python_ruff_format_executable *g:ale_python_ruff_format_executable*
|
|
|
|
*b:ale_python_ruff_format_executable*
|
|
|
|
Type: |String|
|
|
|
|
Default: `'ruff'`
|
|
|
|
|
|
|
|
See |ale-integrations-local-executables|
|
|
|
|
|
|
|
|
Set this to `'pipenv'` to invoke `'pipenv` `run` `ruff'`.
|
|
|
|
Set this to `'poetry'` to invoke `'poetry` `run` `ruff'`.
|
|
|
|
|
|
|
|
|
|
|
|
g:ale_python_ruff_format_options *g:ale_python_ruff_format_options*
|
|
|
|
*b:ale_python_ruff_format_options*
|
|
|
|
Type: |String|
|
|
|
|
Default: `''`
|
|
|
|
|
|
|
|
This variable can be changed to add command-line arguments to the ruff
|
|
|
|
invocation.
|
|
|
|
|
|
|
|
For example, to select/enable and/or disable some error codes,
|
|
|
|
you may want to set >
|
|
|
|
let g:ale_python_ruff_format_options = '--ignore F401'
|
|
|
|
|
|
|
|
|
|
|
|
g:ale_python_ruff_format_use_global *g:ale_python_ruff_format_use_global*
|
|
|
|
*b:ale_python_ruff_format_use_global*
|
|
|
|
Type: |Number|
|
|
|
|
Default: `get(g:, 'ale_use_global_executables', 0)`
|
|
|
|
|
|
|
|
See |ale-integrations-local-executables|
|
|
|
|
|
|
|
|
|
|
|
|
g:ale_python_ruff_format_auto_pipenv *g:ale_python_ruff_format_auto_pipenv*
|
|
|
|
*b:ale_python_ruff_format_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.
|
|
|
|
|
|
|
|
|
|
|
|
g:ale_python_ruff_format_auto_poetry *g:ale_python_ruff_format_auto_poetry*
|
|
|
|
*b:ale_python_ruff_format_auto_poetry*
|
|
|
|
Type: |Number|
|
|
|
|
Default: `0`
|
|
|
|
|
|
|
|
Detect whether the file is inside a poetry, and set the executable to `poetry`
|
|
|
|
if true. This is overridden by a manually-set executable.
|
|
|
|
|
|
|
|
|
2024-09-05 06:37:30 +00:00
|
|
|
g:ale_python_ruff_format_auto_uv *g:ale_python_ruff_format_auto_uv*
|
|
|
|
*b:ale_python_ruff_format_auto_uv*
|
|
|
|
Type: |Number|
|
|
|
|
Default: `0`
|
|
|
|
|
|
|
|
Set the executable to `uv` if true. This is overridden by a manually-set
|
|
|
|
executable.
|
|
|
|
|
|
|
|
|
2022-02-08 06:54:25 +00:00
|
|
|
===============================================================================
|
|
|
|
unimport *ale-python-unimport*
|
|
|
|
|
|
|
|
`unimport` will be run from a detected project root, per |ale-python-root|.
|
|
|
|
|
|
|
|
|
|
|
|
g:ale_python_unimport_auto_pipenv *g:ale_python_unimport_auto_pipenv*
|
|
|
|
*b:ale_python_unimport_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.
|
|
|
|
|
|
|
|
|
|
|
|
g:ale_python_unimport_auto_poetry *g:ale_python_unimport_auto_poetry*
|
|
|
|
*b:ale_python_unimport_auto_poetry*
|
|
|
|
Type: |Number|
|
|
|
|
Default: `0`
|
|
|
|
|
|
|
|
Detect whether the file is inside a poetry, and set the executable to `poetry`
|
|
|
|
if true. This is overridden by a manually-set executable.
|
|
|
|
|
|
|
|
|
2024-09-05 06:37:30 +00:00
|
|
|
g:ale_python_unimport_auto_uv *g:ale_python_unimport_auto_uv*
|
|
|
|
*b:ale_python_unimport_auto_uv*
|
|
|
|
Type: |Number|
|
|
|
|
Default: `0`
|
|
|
|
|
|
|
|
Set the executable to `uv` if true. This is overridden by a manually-set
|
|
|
|
executable.
|
|
|
|
|
|
|
|
|
2023-02-08 09:11:31 +00:00
|
|
|
g:ale_python_unimport_executable *g:ale_python_unimport_executable*
|
|
|
|
*b:ale_python_unimport_executable*
|
2022-02-08 06:54:25 +00:00
|
|
|
Type: |String|
|
|
|
|
Default: `'unimport'`
|
|
|
|
|
|
|
|
See |ale-integrations-local-executables|
|
|
|
|
|
|
|
|
Set this to `'pipenv'` to invoke `'pipenv` `run` `unimport'`.
|
|
|
|
Set this to `'poetry'` to invoke `'poetry` `run` `unimport'`.
|
|
|
|
|
|
|
|
|
2023-02-08 09:11:31 +00:00
|
|
|
g:ale_python_unimport_options *g:ale_python_unimport_options*
|
|
|
|
*b:ale_python_unimport_options*
|
2022-02-08 06:54:25 +00:00
|
|
|
Type: |String|
|
|
|
|
Default: `''`
|
|
|
|
|
|
|
|
This variable can be changed to add command-line arguments to the unimport
|
|
|
|
invocation.
|
|
|
|
|
|
|
|
|
2023-02-08 09:11:31 +00:00
|
|
|
g:ale_python_unimport_use_global *g:ale_python_unimport_use_global*
|
|
|
|
*b:ale_python_unimport_use_global*
|
2022-02-08 06:54:25 +00:00
|
|
|
Type: |Number|
|
|
|
|
Default: `get(g:, 'ale_use_global_executables', 0)`
|
|
|
|
|
|
|
|
See |ale-integrations-local-executables|
|
|
|
|
|
|
|
|
|
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|
|
|
|
|
|
|
|
|
|
2019-02-10 15:18:55 +00:00
|
|
|
g:ale_python_vulture_options *g:ale_python_vulture_options*
|
|
|
|
*b:ale_python_vulture_options*
|
|
|
|
Type: |String|
|
|
|
|
Default: `''`
|
|
|
|
|
|
|
|
This variable can be changed to add command-line arguments to the vulture
|
|
|
|
invocation.
|
|
|
|
|
|
|
|
|
2018-07-26 07:41:27 +00:00
|
|
|
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|
|
|
|
|
|
2024-09-05 06:37:30 +00:00
|
|
|
g:ale_python_vulture_auto_pipenv *g:ale_python_vulture_auto_pipenv*
|
|
|
|
*b:ale_python_vulture_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.
|
|
|
|
|
|
|
|
|
|
|
|
g:ale_python_vulture_auto_poetry *g:ale_python_vulture_auto_poetry*
|
|
|
|
*b:ale_python_vulture_auto_poetry*
|
|
|
|
Type: |Number|
|
|
|
|
Default: `0`
|
|
|
|
|
|
|
|
Detect whether the file is inside a poetry, and set the executable to `poetry`
|
|
|
|
if true. This is overridden by a manually-set executable.
|
|
|
|
|
|
|
|
|
|
|
|
g:ale_python_vulture_auto_uv *g:ale_python_vulture_auto_uv*
|
|
|
|
*b:ale_python_vulture_auto_uv*
|
|
|
|
Type: |Number|
|
|
|
|
Default: `0`
|
|
|
|
|
|
|
|
Set the executable to `uv` if true. This is overridden by a manually-set
|
|
|
|
executable.
|
|
|
|
|
2018-07-26 07:41:27 +00:00
|
|
|
|
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
|
|
|
|
|
|
|
|
2024-09-05 06:37:30 +00:00
|
|
|
g:ale_python_yapf_auto_pipenv *g:ale_python_yapf_auto_pipenv*
|
|
|
|
*b:ale_python_yapf_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.
|
|
|
|
|
|
|
|
|
|
|
|
g:ale_python_yapf_auto_poetry *g:ale_python_yapf_auto_poetry*
|
|
|
|
*b:ale_python_yapf_auto_poetry*
|
|
|
|
Type: |Number|
|
|
|
|
Default: `0`
|
|
|
|
|
|
|
|
Detect whether the file is inside a poetry, and set the executable to `poetry`
|
|
|
|
if true. This is overridden by a manually-set executable.
|
|
|
|
|
|
|
|
|
|
|
|
g:ale_python_yapf_auto_uv *g:ale_python_yapf_auto_uv*
|
|
|
|
*b:ale_python_yapf_auto_uv*
|
|
|
|
Type: |Number|
|
|
|
|
Default: `0`
|
|
|
|
|
|
|
|
Set the executable to `uv` 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
|
|
|
vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl:
|