Make the virtualenv extension work better

This fixes #511

It allows the virtualenv plugin to call back and tell the airline plugin
to update the statusline. Therefore, the new function
airline#extensions#virtualenv#update() is provided. However, to properly
fix this issue, the virtualenv plugin needs to call this function.

Second, depending on $VIRTUAL_ENV is not safe, since the virtualenv
plugin might define it itsself when calling :VirtualEnvActivate
Therefore skip this test and just test for existance of he
:VirtualEnvList command.
This commit is contained in:
Christian Brabandt
2016-01-20 20:02:21 +01:00
parent dcfe24bc6d
commit 7ace10651f
2 changed files with 12 additions and 8 deletions
+1 -1
View File
@@ -189,7 +189,7 @@ function! airline#extensions#load()
call airline#extensions#bufferline#init(s:ext)
endif
if isdirectory($VIRTUAL_ENV) && get(g:, 'airline#extensions#virtualenv#enabled', 1)
if (get(g:, 'airline#extensions#virtualenv#enabled', 1) && exists(':VirtualEnvList'))
call airline#extensions#virtualenv#init(s:ext)
endif