Commit Graph

39 Commits

Author SHA1 Message Date
Kevin Locke a24f0b4d5f Support pylama for python (#2266)
* Add pylama for python
* Consolidate python traceback handling
2019-02-08 21:44:34 +00:00
Aiden Scandella de29ff26ff
Respect python black fixer configuration file
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-30 14:44:38 -08:00
Martino Pilia 0a5de2b42b
Add bandit linter for Python 2019-01-26 11:48:03 +01:00
yut23 f2db164268 Add support for pyls configuration options
Resolves #1443.
Heavily inspired by the analogous support added for elixir-ls.
2019-01-20 23:59:46 -05:00
w0rp 78724f4cd3
Fix some formatting issues 2019-01-03 20:33:59 +00:00
Miklós Tusz 1c9ad77866 Add documentation for python_black_auto_pipenv 2018-12-21 20:07:14 -08:00
pmacosta fdd37acc1f Add support for pydocstyle linter (#2085)
The linter can correctly parse pydocstyle output with any of the following
command-line options enabled: --explain, --source, --debug, and/or
--verbose
2018-12-06 11:27:03 -07:00
Eddie Lebow dbe9352935 Add `python_auto_pipenv` config var for all python linters.
This allows a user to set one variable instead of eight.
2018-09-15 22:10:46 -04:00
Eddie Lebow 56e67c5811 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-09-15 22:10:46 -04:00
Travis Cline 2ac9e454d6
python: add lookup path for flake8 config 2018-08-01 20:07:11 -07:00
Yauhen Kirylau 8517e901ff Add support for 'vulture' for Python 2018-07-26 08:41:27 +01:00
w0rp 72f002de94
Update the Python documentation 2018-07-15 19:26:45 +01:00
w0rp b8591e1034
Fix the doctag alignment 2018-07-05 09:24:57 +01:00
Derek P Sifford 3251d95a91 add options variable to isort 2018-07-04 13:01:16 -04:00
Derek P Sifford ea6d720fec add pyre lsp linter to python linters 2018-07-01 14:59:49 -04:00
Eddie Lebow ca88e67af0 Allow all Python linter executables to be set to `pipenv`.
It appends ` run {linter_name}`, analogously to the Ruby linters when
the executable is set to `bundle`
2018-06-05 00:33:26 -04:00
w0rp bd92616e2a
Fix #1219 - Mention FindProjectRoot behavior for Python in the documentation 2018-05-30 20:09:33 +01:00
w0rp 8a659b7cc6
Fix #1566 - Add g:ale_python_flake8_change_directory 2018-05-28 16:34:54 +01:00
w0rp f9ba3d924f
Fix #1507 - Add an option for disabling switching directories for pylint 2018-04-17 13:30:30 +01:00
w0rp 719b790574
Close #542 - Add an option for disabling running locally installed executables by default 2018-04-09 19:11:20 +01:00
Jack Evans c5d3af04fc Added support for Python black fixer (#1451) 2018-04-06 11:08:25 +02:00
w0rp adba2bd919 Allow syntax errors for mypy to be ignored 2018-01-11 16:43:10 +00:00
Carlos Coêlho daee4a4722 Add prospector for checking Python code (#1183) 2017-12-01 17:04:30 +00:00
w0rp 52f3ad7c75 Escape the pyls executable in the command, and support running virtualenv pyls executables 2017-11-21 23:51:18 +00:00
Auri 8a4cf923a8 Add PyLS linter (#1097)
* Support PyLS (python language server)
* Replace pyls#GetProjectRoot and add more config types to ale#python#FindProjectRoot
2017-11-08 17:58:56 +00:00
Su Shangjun c96e7402ba example for 'rcfile' on ale_python_pylint_options
Two hyphens instead of one will enable the option `rcfile`.
2017-10-24 08:11:56 -05:00
Michael 8f8d015dae Add pycodestyle Python linter support (#872)
Add a pycodestyle linter
2017-08-25 12:46:56 +01:00
w0rp 996732d5a6 Document the virtualenv directories variable in the main file instead 2017-07-08 14:30:12 +01:00
w0rp fdc7166c3c Use equal signs for language documentation sections 2017-07-08 14:17:26 +01:00
w0rp 16ba9bd680 Fix #680 - Use --shadow-file to check for problems with mypy while you type 2017-06-27 10:06:03 +01:00
w0rp 629ff513ec #659 - Add options for Python fixers, and cut down on duplicated documentation 2017-06-18 11:03:31 +01:00
w0rp 817b6bbd2d Put ve-py3 before ve, so Python 3 executables will be preferred 2017-06-07 21:45:59 +01:00
w0rp 65fbf1cdff #563 Use a configurable list of directories for detecting virtualenv paths instead. 2017-05-20 13:34:53 +01:00
w0rp 4228c503f4 #335 Detect flake8 in vritualenv, and escape the executable path 2017-05-07 16:16:17 +01:00
w0rp a9c5e14fc9 Fix #363 - Detect virtualenv executables and fix import paths for mypy. Use lint_file for mypy 2017-05-06 23:19:54 +01:00
w0rp 2e1c9b0fa5 #208 Automatically detect pylint in virtualenv directories 2017-05-06 19:11:43 +01:00
Adriaan Zonnenberg ba6dbde906 Add tags for buffer-local variants of each linter option 2017-04-27 23:04:34 +02:00
w0rp 706dd050f2 Fix #257 in preparation for #427, standardise options with fallbacks, and make it so every value can be computed dynamically 2017-04-15 13:36:16 +01:00
w0rp d7f8324c3c Move linter documentation into separate files 2017-03-28 23:25:44 +01:00