summaryrefslogtreecommitdiff
path: root/ale_linters/python/flake8.vim
AgeCommit message (Collapse)Author
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-03-01Close #2281 - Separate cwd commands from commandsw0rp
Working directories are now set seperately from the commands so they can later be swapped out when running linters over projects is supported, and also better support filename mapping for running linters on other machines in future.
2020-08-31Fix flake8 cd logic for invalid optionsw0rp
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.
2019-04-07#2132 - Replace command_chain and chain_with with ale#command#Runw0rp
2019-02-22#2132 - Replace all uses of foo_callback with foow0rp
2019-02-08Support pylama for python (#2266)Kevin Locke
* Add pylama for python * Consolidate python traceback handling
2019-01-16support older flake8 output, still used by hacking module from open style guideIrwan Djajadi
2018-11-22flake8 reports visual columnsMarius Gedminas
Fixes #2092.
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-07-04Remove deprecated code for the 2.0 releasev2.0.0w0rp
2018-06-02Allow flake8 executable to be set to `pipenv`.Eddie Lebow
It appends ` run flake8`, analogously to the Ruby tools when the executable is set to `bundle`
2018-05-28#1587 - Add deprecation warnings for old linter optionsw0rp
2018-05-28Fix #1566 - Add g:ale_python_flake8_change_directoryw0rp
2018-04-26flake8: Move to the buffer's directory before running flake8 commandAndreas Kloeckner
2018-04-09Close #542 - Add an option for disabling running locally installed ↵w0rp
executables by default
2018-02-18#476 Make F401 a warning and E112 a syntax errorw0rp
2017-11-28Allow warnings about trailing blank lines to be hidden for flake8 and ↵w0rp
pycodestyle
2017-11-14#852 - Capture error codes for flake8w0rp
2017-11-09Simplfy semver handling and share the semver version cache across everythingw0rp
2017-08-10Move --format=default in the flake8 command to the return value, and remove ↵w0rp
extra spaces in the tests
2017-08-09Default flake8 to --format=defaultMatthew Grossman
2017-08-08Ban use of ==# or ==? in the codebase, and prefer is# or is? insteadw0rp
2017-07-05#729 - Support running Python programs from virtualenv for Windowsw0rp
2017-06-27Remove style classification from E999 (#696)v1.4.0Nick Krichevsky
* Remove style classification from E999 * Update test_flake8_handler to reflect E999 changes
2017-06-14#430 Use the style sub_type for flake8 problemsw0rp
2017-06-14Split up the flake8 and ansible-lint handlersw0rp
2017-05-31Fix #596 - Report exceptions thrown by flake8w0rp
2017-05-12#549 Temporarily revert shell escaping changes, just for Windowsw0rp
2017-05-08#540 Fix shell escaping pretty much everywherew0rp
2017-05-07Support `python -m flake8` for users who are running flake8 that wayw0rp
2017-05-07#335 Detect flake8 in vritualenv, and escape the executable pathw0rp
2017-04-24Break shared handlers up into their own files, and fix stylelint error handlingw0rp
2017-04-16#427 Implement buffer variable overrides for all linter optionsw0rp
2017-04-15Fix #257 in preparation for #427, standardise options with fallbacks, and ↵w0rp
make it so every value can be computed dynamically
2017-02-06#289 Only use the --stdin-display-name flag if the flake8 version supports itw0rp
2017-01-12Prefix mandatory flake8 arguments with extra spaces so they will always workw0rp
2016-12-30Pass file name to flake8Chronial
2016-11-14Add g:ale_python_flake8_executable (#174)Marius Gedminas
* Add g:ale_python_flake8_executable Closes #172. * Add g:ale_python_flake8_args * Always add - to flake8 invocations
2016-10-21Add support for dot-seperate linters, improve linter testsBjorn Neergaard
This PR first and formost implements support for dot-seperate filetypes, a very trivial change. This closes #132 But more importantly, this PR vastly improves the test quality for `ale#linter#Get`. It enables us to reset the state of ale's internal linter cache, to facilitate better testing, as well as making use of mocked linters instead of depending on linters on disk (which may change). In addition, a dummy linter is defined to test the autoloading behavior. Header guards were removed from all linters as: * A: ale won't try and load linters if they already exist in memory * B: we can't reset state for testing if they can't be loaded again
2016-10-20Add ansible-lint support and factor out PEP8 handlerBjorn Neergaard
2016-10-12Hide more trailing whitespace warnings when the option is on for flake8.w0rp
2016-10-11Use explicit scope in all ale_lintersBjorn Neergaard
vint -s is now clean
2016-10-10First pass at optimizing ale to autoload (#80)Bjorn Neergaard
* First pass at optimizing ale to autoload First off, the structure/function names should be revised a bit, but I will wait for @w0rp's input before unifying the naming style. Second off, the docs probably need some more work, I just did some simple find-and-replace work. With that said, this pull brings major performance gains for ale. On my slowest system, fully loading ale and all its code takes around 150ms. I have moved all of ale's autoload-able code to autoload/, and in addition, implemented lazy-loading of linters. This brings load time on that same system down to 5ms. The only downside of lazy loading is that `g:ale_linters` cannot be changed at runtime; however, it also speeds up performance at runtime by simplfying the logic greatly. Please let me know what you think! Closes #59 * Address Travis/Vint errors For some reason, ale isn't running vint for me... * Incorporate feedback, make fixes Lazy-loading logic is much improved. * Add header comments; remove incorrect workaround * Remove unneeded plugin guards * Fix lazy-loading linter logic Set the wrong variable.... * Fix capitialization
2016-10-04Add comment headers to ale_lintersPrashanth Chandra
2016-09-15Add support for Bash and other shells. Add support for reading from stderr, ↵w0rp
and for generating the executable from functions. Both were needed to support shell linting.
2016-09-15Output error codes in the error text too for flake8.w0rp
2016-09-15Add an option disabling warnings about trailing whitespace, and use it in ↵w0rp
flake8.
2016-09-14Fix issues with switching buffers rapidly causing errors by remembering the ↵w0rp
buffer and passing the buffer value to various functions.