mirror of
https://github.com/vim-airline/vim-airline.git
synced 2024-12-12 21:43:43 +08:00
bf5d785932
So with https://github.com/jmcantrell/vim-virtualenv you can display the virtualenv in your statusline section (if you have enabled it). However it would only become active for python buffers. Now perhaps you want to show the virtualenv also in other filetypes like markdown or CI scripts, so allow this by adding a variable `airline#extensions#virtualenv#ft'` to the list of filetypes you want to have enabled. So set: let g:airline#extensions#virtualenv#enabled = 1 let g:airline#extensions#virtualenv#ft = ['python', 'markdown'] To allow displaying the virtual environment for python and markdown buffers (but remember you need to have the plugin https://github.com/jmcantrell/vim-virtualenv installed as well!) fixes #2483
33 lines
1.0 KiB
VimL
33 lines
1.0 KiB
VimL
" MIT License. Copyright (c) 2013-2021 Bailey Ling et al.
|
|
" Plugin: https://github.com/jmcantrell/vim-virtualenv
|
|
" vim: et ts=2 sts=2 sw=2
|
|
|
|
scriptencoding utf-8
|
|
|
|
let s:spc = g:airline_symbols.space
|
|
|
|
function! airline#extensions#virtualenv#init(ext)
|
|
call a:ext.add_statusline_func('airline#extensions#virtualenv#apply')
|
|
endfunction
|
|
|
|
function! airline#extensions#virtualenv#apply(...)
|
|
if match(get(g:, 'airline#extensions#virtualenv#ft', ['python']), &filetype) > -1
|
|
if get(g:, 'virtualenv_loaded', 0)
|
|
let statusline = virtualenv#statusline()
|
|
else
|
|
let statusline = fnamemodify($VIRTUAL_ENV, ':t')
|
|
endif
|
|
if !empty(statusline)
|
|
call airline#extensions#append_to_section('x',
|
|
\ s:spc.g:airline_right_alt_sep.s:spc.statusline)
|
|
endif
|
|
endif
|
|
endfunction
|
|
|
|
function! airline#extensions#virtualenv#update()
|
|
if match(get(g:, 'airline#extensions#virtualenv#ft', ['python']), &filetype) > -1
|
|
call airline#extensions#virtualenv#apply()
|
|
call airline#update_statusline()
|
|
endif
|
|
endfunction
|