dotfiles/.vim/pack/plugins/opt/vim-taskwarrior/autoload/airline/extensions/taskwarrior.vim

42 lines
1.9 KiB
VimL

function! airline#extensions#taskwarrior#apply(...)
if &ft == 'taskreport'
call a:1.add_section('airline_a', ' Taskwarrior ')
call a:1.add_section('airline_b', ' %{b:command} %{&readonly ? g:airline_symbols.readonly : ""}')
call a:1.add_section('airline_b', ' @%{b:context} ')
call a:1.add_section('airline_b', g:task_left_arrow.' %{b:hist > 1 ? g:task_right_arrow : ""}')
call a:1.add_section('airline_c', ' %{b:filter} ')
call a:1.add_section('airline_c', ' %{b:sstring} ')
call a:1.split()
call a:1.add_section('airline_x', ' %{b:now} ')
call a:1.add_section('airline_x', ' %{b:task_report_columns[taskwarrior#data#current_index()]} ')
call a:1.add_section('airline_y', ' %{b:sort} ')
if b:active != '0'
call airline#parts#define_text('active', ' '.b:active.' ')
call airline#parts#define_accent('active', 'orange')
call a:1.add_section('airline_z', airline#section#create(['active']))
endif
call a:1.add_section('airline_z', ' %{b:summary[0]} ')
call airline#parts#define_text('completed', ' '.b:summary[1].' ')
call airline#parts#define_accent('completed', 'green')
call a:1.add_section('airline_z', airline#section#create(['completed']))
call a:1.add_section('airline_z', ' %{b:summary[2]} ')
return 1
elseif &ft == 'taskinfo'
call a:1.add_section('airline_a', ' Taskinfo ')
call a:1.add_section('airline_b', ' %{b:command." ".g:airline_symbols.readonly }')
call a:1.add_section('airline_c', ' %{b:filter} ')
call a:1.split()
return 1
endif
endfunction
function s:context()
let con = split(system('task context show'), '\n')
let con = con =~ 'No context' ? 'none' : con
return con
endfunction
function! airline#extensions#taskwarrior#init(ext)
call a:ext.add_statusline_func('airline#extensions#taskwarrior#apply')
endfunction