mirror of
https://github.com/dense-analysis/ale.git
synced 2025-12-24 13:01:28 +08:00
fix ale_python_auto_virtualenv to correctly set virtualenv env vars (#4885)
* fix ale_python_auto_virtualenv to correctly set virtualenv env vars According to the documentation, `ale_python_auto_virtualenv` should automatically set environment variables for commands, but previously the variables were not set completely or correctly. Before: `PATH` variable was expanded to include `/path/to/venv` After: `PATH` variable is expanded to include `/path/to/venv/bin` `VIRTUAL_ENV` variable is set to `path/to/venv` This mimics exactly what the `activate` scripts do, and allows the configuration knob to work as expected. For example, after this change, `jedi-language-server` can be installed globally (instead of inside every venv), and it will "just work" (e.g. find references to dependencies in the venv) when editing a file in a project that uses a venv, because the correct variables are set. * fix test_python_virtualenv.vader test to expect output with both virtualenv vars * remove unnecessary non-escape in test_python_virtualenv.vader * fix accidentally removed space in windows test_python_virtualenv.vader
This commit is contained in:
@@ -14,10 +14,10 @@ Execute(ale#python#FindVirtualenv falls back to $VIRTUAL_ENV when no directories
|
||||
Execute(ale#python#AutoVirtualenvEnvString should return the correct values):
|
||||
if has('win32')
|
||||
AssertEqual
|
||||
\ 'set PATH=/opt/example/;%PATH% && ',
|
||||
\ 'set PATH=/opt/example/\Scripts;%PATH% && set VIRTUAL_ENV=/opt/example/ && ',
|
||||
\ ale#python#AutoVirtualenvEnvString(bufnr(''))
|
||||
else
|
||||
AssertEqual
|
||||
\ 'PATH=''/opt/example/''":$PATH" ',
|
||||
\ 'PATH=''/opt/example//bin''":$PATH" VIRTUAL_ENV=''/opt/example/'' ',
|
||||
\ ale#python#AutoVirtualenvEnvString(bufnr(''))
|
||||
endif
|
||||
|
||||
Reference in New Issue
Block a user