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
..
2017-08-24 22:49:43 +01:00
2017-11-05 18:37:44 +00:00
2018-06-27 22:36:02 +01:00
2018-07-22 21:22:38 +02:00
2017-05-02 21:18:17 +01:00
2018-08-09 09:02:16 +06:00
2017-07-18 23:57:33 +01:00
2018-07-19 22:37:06 +01:00
2018-09-06 13:46:59 +09:00
2018-01-28 12:44:42 +00:00
2017-11-20 18:54:57 +00:00
2017-11-20 18:54:57 +00:00
2018-09-07 13:16:22 -04:00
2017-11-12 11:25:24 +00:00
2018-06-07 11:47:57 -05:00
2017-11-12 10:56:53 +00:00
2018-03-01 15:48:47 +01:00
2017-08-02 22:34:09 +01:00
2017-06-29 11:40:03 +01:00
2017-06-28 15:27:02 +01:00
2018-07-02 18:49:12 -04:00
2018-07-16 18:33:21 +09:00
2017-07-06 22:58:14 +01:00
2017-08-02 23:21:30 +01:00
2018-06-03 04:40:52 +08:00
2017-08-26 18:11:27 +01:00
2017-11-12 12:09:19 +00:00
2017-07-17 20:28:21 +01:00
2017-08-09 12:41:21 -05:00
2018-03-26 10:35:10 +01:00
2018-06-23 22:59:13 +05:30
2017-10-25 00:28:06 +01:00
2017-10-25 00:28:06 +01:00
2018-07-15 18:28:28 +01:00
2018-09-12 16:53:28 -04:00
2018-07-29 19:24:27 +01:00
2018-07-15 18:28:28 +01:00
2018-07-22 21:22:38 +02:00
2018-07-15 18:28:28 +01:00
2018-08-09 09:02:16 +06:00
2018-08-02 23:44:12 +01:00
2018-07-29 19:24:27 +01:00
2018-08-02 23:44:12 +01:00
2018-07-15 18:28:28 +01:00
2018-07-15 18:28:28 +01:00
2018-07-29 19:24:27 +01:00
2018-07-15 18:28:28 +01:00
2018-08-24 10:52:33 +01:00
2018-07-15 18:28:28 +01:00
2018-08-09 09:02:16 +06:00
2018-07-15 18:28:28 +01:00
2018-07-29 19:24:27 +01:00
2018-07-15 18:28:28 +01:00
2018-07-15 18:28:28 +01:00
2018-07-15 18:28:28 +01:00
2018-07-15 18:28:28 +01:00
2018-08-02 23:44:12 +01:00
2018-09-04 11:15:59 +01:00
2018-07-15 18:28:28 +01:00
2018-07-15 18:28:28 +01:00
2018-08-02 23:44:12 +01:00
2018-07-15 18:28:28 +01:00
2018-07-15 18:28:28 +01:00
2018-07-15 18:28:28 +01:00
2018-07-15 18:28:28 +01:00
2018-09-15 22:10:46 -04:00
2018-07-15 18:28:28 +01:00
2018-07-19 22:27:47 +01:00
2018-08-02 23:44:12 +01:00
2018-07-15 18:28:28 +01:00
2018-08-03 01:00:39 +01:00
2018-08-02 23:44:12 +01:00
2018-07-15 18:28:28 +01:00
2018-07-15 18:28:28 +01:00
2018-07-15 18:28:28 +01:00
2018-08-23 00:42:19 +01:00
2018-09-14 10:47:33 +02:00
2018-09-06 17:05:05 +01:00
2018-07-15 18:28:28 +01:00
2018-07-15 18:28:28 +01:00
2018-07-15 18:28:28 +01:00
2018-08-16 11:36:46 +09:00
2018-07-15 18:28:28 +01:00
2018-07-20 16:48:27 +02:00
2018-07-15 18:28:28 +01:00
2018-07-15 18:28:28 +01:00
2018-08-02 20:24:58 +01:00
2018-08-22 19:00:42 -03:00
2018-07-15 18:28:28 +01:00
2018-07-15 18:28:28 +01:00
2018-07-15 18:28:28 +01:00
2018-07-15 18:28:28 +01:00
2018-08-26 22:11:36 +09:00
2018-08-03 17:22:09 +01:00
2018-07-15 18:28:28 +01:00
2018-09-09 10:09:05 -04:00
2018-08-24 10:41:33 +01:00
2018-07-15 18:28:28 +01:00
2018-07-15 18:28:28 +01:00
2018-07-15 18:28:28 +01:00
2018-07-15 18:28:28 +01:00
2018-08-02 23:44:12 +01:00
2018-08-02 23:44:12 +01:00
2018-07-15 18:28:28 +01:00
2018-08-02 23:44:12 +01:00
2018-09-15 22:10:46 -04:00
2018-07-15 18:28:28 +01:00
2018-09-10 09:23:47 +10:00
2018-07-15 18:28:28 +01:00
2018-07-15 18:28:28 +01:00
2018-07-15 18:28:28 +01:00
2018-07-15 18:28:28 +01:00
2018-08-18 20:59:35 +02:00
2018-07-15 18:28:28 +01:00
2018-07-15 18:28:28 +01:00
2018-07-15 18:28:28 +01:00
2018-09-15 22:10:46 -04:00
2018-07-15 18:28:28 +01:00
2018-07-15 18:28:28 +01:00
2018-09-15 22:10:46 -04:00
2018-09-15 22:10:46 -04:00
2018-09-15 22:10:46 -04:00
2018-09-15 22:10:46 -04:00
2018-09-15 22:10:46 -04:00
2018-07-15 18:28:28 +01:00
2018-07-15 18:28:28 +01:00
2018-09-14 13:26:29 +01:00
2018-07-15 18:28:28 +01:00
2018-09-12 16:53:28 -04:00
2018-07-16 18:33:22 +09:00
2018-09-14 13:24:59 +01:00
2018-07-15 18:28:28 +01:00
2018-09-05 07:12:04 +09:00
2018-07-15 18:28:28 +01:00
2018-08-10 21:50:52 +01:00
2018-07-15 18:28:28 +01:00
2018-09-01 21:03:29 -04:00
2018-08-02 23:44:12 +01:00
2018-07-15 18:28:28 +01:00
2018-07-15 18:28:28 +01:00
2018-07-15 18:28:28 +01:00
2018-07-15 18:28:28 +01:00
2018-07-15 18:28:28 +01:00
2018-08-02 23:44:12 +01:00
2018-08-02 23:44:12 +01:00
2018-07-15 18:28:28 +01:00
2018-07-15 18:28:28 +01:00
2018-07-15 18:28:28 +01:00
2018-08-03 17:22:09 +01:00
2018-07-15 18:28:28 +01:00
2018-07-15 18:28:28 +01:00
2018-07-15 18:28:28 +01:00
2018-08-03 21:13:48 +01:00