summaryrefslogtreecommitdiff
path: root/doc/ale-python.txt
AgeCommit message (Collapse)Author
2023-11-16Adding support for ruff formatter (#4645)Joseph Henrich
2023-02-08#2172 Auto PATH with ale_python_auto_virtualenvw0rp
Automatically set `PATH` for some Python linters that seem to need it when g:ale_python_auto_virtualenv or b:ale_python_auto_virtualenv is `1`.
2023-01-27add: pycln as a python linter and fixer (#4415)Yining
this commit adds pycln as a Python linter and fixer, together with some tests and documentation. It addresses #4340 pycln repo: https://github.com/hadialqattan/pycln
2022-12-06add: support for refurb as a Python linter (#4379)Yining
this commit adds refurb as a Python linter, together with some tests and documentation. it should fix issue: #4362 refurb repo: https://github.com/dosisod/refurb
2022-10-31add: support for ruff as a Python linter and fixer (#4347)Yining
this commit adds ruff as both a Python linter and fixer, together with some tests and documentation. ruff repo: https://github.com/charliermarsh/ruff
2022-10-29codespell: fix spelling errors picked out by `codespell` (#4343)Ben Boeckel
2022-09-30Add pyright config files to project root files list (#4321)Andreas Doll
Add configuration files for pyright (JSON and TOML) to list of files which identify a project root directory. Update documentation accordingly. Co-authored-by: Andreas Doll <andreas.doll@posteo.de>
2022-06-16Add pyflyby fixer (using its tidy-imports script) (#4219)infokiller
* add pyflyby fixer updates * pyflyby: add docs updates * add tests to pyflyby fixer
2022-06-04re-worded confusing grammar (#4223)Paul Thompson
2022-05-15Look for .mypy.ini when finding project root (#4202)Fionn Fitzmaurice
We already check for mypy.ini, but the fallback .mypy.ini was ignored.
2022-02-08fix: duplicate tags in doc (#4059)Sébastien NOBILI
* fix: duplicate tag in doc * fix: duplicate tags in doc Co-authored-by: Sébastien NOBILI <code@pipoprods.org>
2022-02-08Add a unimport linter for Python files (#4058)Jon Parise
Unimport (https://github.com/hakancelik96/unimport/) is a linter, formatter for finding and removing unused import statements. This introduces linting support, although fixer support could come later.
2021-11-19Add cspell Linter (#3981)David Houston
* Add cspell linter Add cspell linter, with the languages it supports. Signed-off-by: David Houston <houstdav000@gmail.com> * Add cspell Global Variables Documentation Add documentation to /doc/ale.txt with cspell configuration options. Signed-off-by: David Houston <houstdav000@gmail.com> * Add cspell to docs, Minor Cleanup Add cspell for each supported language, adding some spaces and removing others when caught navigating the file. Signed-off-by: David Houston <houstdav000@gmail.com>
2021-10-02Add flakehell python linter (#3295) (#3921)a666
2021-09-15[ale-python-root] add `.pyre_configuration.local` to list of files (#3900)Oliver Albertini
Without this, we have one `pyre` process running across different pyre projects. With this change, files in different projects can be linted with pyre at the same time. Co-authored-by: Oliver Ruben Albertini <ora@fb.com>
2021-09-10Fix 3897 - add poetry to isort (#3898)Horacio Sanson
Co-authored-by: Horacio Sanson <horacio@allm.inc>
2021-07-25Python support poetry (#3834)Daniel Roseman
* Add poetry support to python linters and black fixer. * Update python.vim to detect poetry project. * Update ale.vim, add an option for poetry `g:ale_python_auto_poetry`. * Update ale-python.txt, add poetry support. * Add and update poetry related tests. Co-authored-by: unc0 <unc0@users.noreply.github.com>
2021-07-20Correct typo in python config filenames (#3826)foobarbyte
* Correct typo in a config file filename. .tool_versions should be .tool-versions * Correct typo in config file names. .tool_versions should be .tool-versions
2021-07-17Python .tool versions (#3820)foobarbyte
* Also check for asdf-vm's .tool_versions file A minimal python project may only be specifying a python version using a version management tool like asdf-vm, without providing other common python project configuration files. asdf-vm creates a single .tool_versions file in the managed directory. By checking for .tool_versions in addition to other common python config files we ensure that python linters (whose behaviour typically depends on a particular python version) will run with the same version of python used by the project. This will also be the same python version used by vim itself when it is run from inside the project's directories. * add .tool_versions to ale-python-root documentation This reflects the corresponding change to autoload/ale/python.vim
2021-07-13add autoflake fixer (#3779)Nikolay Zakirov
* first attempt * added autoflake executable * added Windows executable for appveyor * delete unused files * corrected wrong sorting
2021-07-09chore: replace python-language-server to supported pylsp (#3810)Gerardo Gómez Rodríguez
As mentioned in #3722 palantir's python-language-server is no longer maintained. The alternative is to use the community-driven https://github.com/python-lsp/python-lsp-server.
2021-03-18issue 3033 (#3620)Nathan Henrie
* Add ale_python_pyls_options * Add extra explanatory detail * Fix alignment * Fix test
2021-01-13Merge pull request #3398 from ecly/update-python-find-rootHoracio Sanson
Update `ale#python#FindProjectRootIni` with poetry.lock and pyproject.toml
2020-11-21Document ale_python_isort_auto_pipenv optionIvor Peles
2020-11-21Merge pull request #3409 from lyz-code/feat/add-autoimport-supportw0rp
feat: add autoimport fixer
2020-10-23feat: add autoimport fixerLyz
2020-10-15Update FindProjectRootIni with poetry.lock and pyproject.tomlecly
2020-10-02Fix typo in ale-python.txtrgossiaux
2020-08-30Run flake8 from project root by default.Konstantin Alekseev
Option `per-file-ignores` was introduced in flake8 version 3.7.0. It allows to ignore specific errors in specific files using glob syntax. For example `per-file-ignores = src/generated/*.py:F401` will ignore `F401` error in all python files in `src/generated`. Thus ale has to run flake8 from project root where .flake8 config is placed otherwise glob won't match linted file.
2020-08-07Close #2472 - Add support for pyrightw0rp
2020-01-02Fix #2704 - Show mypy notes; can be disabledw0rp
2019-06-08Add support for reorder-python-imports fixerJake Kaufman
isort is great, but I've come to prefer reorder-python-imports. The tool has a focus on smaller diffs than isort. reorder-python-imports is also a little smarter than isort which is nice.
2019-05-19Change Python project root dir detection for flake8 configurationEric N. Vander Weele
The official configuration files for `flake8` are `.flake8`, `tox.ini`, and `setup.cfg`. After investigation, it is safe to remove `flake8.cfg` as it appears to only exist as a typo in other tooling documentation (e.g., `python-language-server`). Even though no linters automatically read `.flake8rc`, it is kept in case projects may be using it for detecting the projects root directory.
2019-05-09Add option to show msg id when pylint is used (#2445)Katsuya Horiuchi
* Add python_pylint_use_msg_id to tweak output of pylint * Add test for ale_python_pylint_use_msg_id * Add doc on ale_python_pylint_use_msg_id
2019-02-20Merge pull request #2303 from kevinoid/bandit-use-configw0rp
python/bandit: Use .bandit configuration file
2019-02-17python/bandit: Use .bandit configuration fileKevin Locke
Bandit automatically [uses any .bandit file] within the directories on which it is invoked. Since ALE invokes bandit on stdin, it does not load a .bandit file automatically. Add support for automatically finding a .bandit file and passing it to bandit via the --ini option along with a variable to disable this behavior if desired. Note: This is useful for the skips and tests configuration options, but not exclude which would require invoking bandit using a file name, which may or may not be a good trade-off. [uses any .bandit file]: https://github.com/PyCQA/bandit/blob/1.5.1/bandit/cli/main.py#L70-L73 Signed-off-by: Kevin Locke <kevin@kevinlocke.name>
2019-02-17python/pylint: Change directory to project rootKevin Locke
Pylint only [checks for pylintrc] (and .pylintrc) files in the packages aboves its current directory before falling back to user and global pylintrc. For projects with a src dir, running pylint from the directory containing the file will not use the project pylintrc. Adopt the convention used by many other Python linters of running from the project root, which solves this issue. Add pylintrc and .pylintrc to FindProjectRoot. Update docs. [checks for pylintrc]: https://github.com/PyCQA/pylint/blob/pylint-2.2.2/pylint/config.py#L106 Signed-off-by: Kevin Locke <kevin@kevinlocke.name>
2019-02-10Document and test ale_python_vulture_optionsKevin Locke
The vulture linter already supports ale_python_vulture_options, but it is not documented or tested. Since vulture only supports configuration via options, it is an important use case. Add docs and test. Signed-off-by: Kevin Locke <kevin@kevinlocke.name>
2019-02-08Support pylama for python (#2266)Kevin Locke
* Add pylama for python * Consolidate python traceback handling
2019-01-30Respect python black fixer configuration fileAiden Scandella
Similar to other linters/fixers, by default change to the directory of the file being fixed before invoking `black`, which allows the tool to read project-specific configuration (pyproject.toml) Fixes #2218
2019-01-26Add bandit linter for PythonMartino Pilia
2019-01-20Add support for pyls configuration optionsyut23
Resolves #1443. Heavily inspired by the analogous support added for elixir-ls.
2019-01-03Fix some formatting issuesw0rp
2018-12-21Add documentation for python_black_auto_pipenvMiklós Tusz
2018-12-06Add support for pydocstyle linter (#2085)pmacosta
The linter can correctly parse pydocstyle output with any of the following command-line options enabled: --explain, --source, --debug, and/or --verbose
2018-09-15Add `python_auto_pipenv` config var for all python linters.Eddie Lebow
This allows a user to set one variable instead of eight.
2018-09-15Add python_[linter]_auto_pipenv options for python linters (fixes #1656)Eddie Lebow
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-08-01python: add lookup path for flake8 configTravis Cline
2018-07-26Add support for 'vulture' for PythonYauhen Kirylau
2018-07-15Update the Python documentationw0rp