summaryrefslogtreecommitdiff
path: root/test/command_callback/test_pylint_command_callback.vader
AgeCommit message (Collapse)Author
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>
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-15Massively reduce the amount of code needed for linter testsw0rp
2018-06-05Allow all Python linter executables to be set to `pipenv`.Eddie Lebow
It appends ` run {linter_name}`, analogously to the Ruby linters when the executable is set to `bundle`
2018-04-17Fix #1507 - Add an option for disabling switching directories for pylintw0rp
2018-04-09pylint: Move to the buffer's directory before running pylint command (Fix #1472)rhysd
2017-12-19Fix the mscs tests on Windows, and use the improved Simplify for all tests ↵v1.7.0w0rp
instead.
2017-10-08Get more random tests to pass on Windowsw0rp
2017-07-09Make every test set filenames and switch directories in the same way, and ↵w0rp
fix some missing escaping for the rubocop linter
2017-05-08#540 Fix shell escaping pretty much everywherew0rp
2017-05-06Escape the pylint executable appropriatelyw0rp
2017-05-06Fix #208 - Use the file on disk for pylint, and follow import pathsw0rp
2017-05-06#208 Automatically detect pylint in virtualenv directoriesw0rp