From 98f03df8e57da0b9cd2d392cfc72ca1c1e3bf3d3 Mon Sep 17 00:00:00 2001 From: petobens Date: Sun, 29 Dec 2019 13:32:19 -0300 Subject: [PATCH] Add poetv extension --- autoload/airline/extensions.vim | 5 +++++ autoload/airline/extensions/poetv.vim | 32 +++++++++++++++++++++++++++ doc/airline.txt | 6 +++++ 3 files changed, 43 insertions(+) create mode 100644 autoload/airline/extensions/poetv.vim diff --git a/autoload/airline/extensions.vim b/autoload/airline/extensions.vim index aa37b9fd..84e4578f 100644 --- a/autoload/airline/extensions.vim +++ b/autoload/airline/extensions.vim @@ -282,6 +282,11 @@ function! airline#extensions#load() call add(s:loaded_ext, 'virtualenv') endif + if (get(g:, 'airline#extensions#poetv#enabled', 1) && (exists(':PoetvActivate') || isdirectory($VIRTUAL_ENV))) + call airline#extensions#poetv#init(s:ext) + call add(s:loaded_ext, 'poetv') + endif + if (get(g:, 'airline#extensions#eclim#enabled', 1) && exists(':ProjectCreate')) call airline#extensions#eclim#init(s:ext) call add(s:loaded_ext, 'eclim') diff --git a/autoload/airline/extensions/poetv.vim b/autoload/airline/extensions/poetv.vim new file mode 100644 index 00000000..56a5f1ac --- /dev/null +++ b/autoload/airline/extensions/poetv.vim @@ -0,0 +1,32 @@ +" MIT License. Copyright (c) 2013-2019 Bailey Ling et al. +" Plugin: https://github.com/petobens/poet_v +" vim: et ts=2 sts=2 sw=2 + +scriptencoding utf-8 + +let s:spc = g:airline_symbols.space + +function! airline#extensions#poetv#init(ext) + call a:ext.add_statusline_func('airline#extensions#poetv#apply') +endfunction + +function! airline#extensions#poetv#apply(...) + if &filetype =~# 'python' + if get(g:, 'poetv_loaded', 0) + let statusline = poetv#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#poetv#update() + if &filetype =~# 'python' + call airline#extensions#poetv#apply() + call airline#update_statusline() + endif +endfunction diff --git a/doc/airline.txt b/doc/airline.txt index 2bab5c8c..377a84f7 100644 --- a/doc/airline.txt +++ b/doc/airline.txt @@ -838,6 +838,12 @@ files with the 'filetype' "po". * truncate width names to a fixed length > let g:airline#extensions#po#displayed_limit = 0 +------------------------------------- *airline-poetv* +poetv + +* enable/disable poetv integration > + let g:airline#extensions#poetv#enabled = 1 +< ------------------------------------- *airline-promptline* promptline