" NVIM_LISTEN_ADDRESS=127.0.0.1:6666
function! TW_done() range
call Nvimx_notify( 'tw_done', getline( a:firstline, a:lastline ) )
endfunction
function! TW_delete() range
call rpcrequest( g:nvimx_channel, 'tw_delete', getline( a:firstline, a:lastline ) )
endfunction
function! TW_show(...)
if a:0
call rpcrequest( g:nvimx_channel, 'tw_show', a:1 )
else
let filter = input( "filter: ", "" )
call rpcrequest( g:nvimx_channel, 'tw_show', filter )
endif
endfunction
function! TW_toggle_focus()
call rpcrequest( g:nvimx_channel, 'tw_toggle_focus' )
endfunction
function! TW_info() range
call rpcrequest( g:nvimx_channel, 'tw_info', getline( a:firstline, a:lastline ) )
endfunction
function! TW_mod(...) range
if a:0
call rpcrequest( g:nvimx_channel, 'tw_mod', a:1, a:firstline, a:lastline, getline( a:firstline, a:lastline ) )
else
let filter = input( "mod: ", " " )
call rpcrequest( g:nvimx_channel, 'tw_mod', filter, a:firstline, a:lastline, getline( a:firstline, a:lastline ) )
endif
endfunction
function! TW_append(...) range
if a:0
call rpcrequest( g:nvimx_channel, 'tw_append', a:1, a:firstline, a:lastline, getline( a:firstline, a:lastline ) )
else
let filter = input( "mod: ", " " )
call rpcrequest( g:nvimx_channel, 'tw_append', filter, a:firstline, a:lastline, getline( a:firstline, a:lastline ) )
endif
endfunction
function! TW_wait(...) range
if a:0
call rpcrequest( g:nvimx_channel, 'tw_mod', a:1, a:firstline, a:lastline, getline( a:firstline, a:lastline ) )
else
let filter = input( "wait: ", "eow" )
call rpcrequest( g:nvimx_channel, 'tw_wait', filter, a:firstline, a:lastline, getline( a:firstline, a:lastline ) )
endif
endfunction
au FileType task map <buffer> <leader>d :call TW_done()<CR>
au FileType task vmap <buffer> <leader>d :call TW_done()<CR>
au FileType task map <buffer> <leader>D :call TW_delete()<CR>
au FileType task vmap <buffer> <leader>D :call TW_delete()<CR>
au FileType task map <buffer> <leader>ll :call TW_show(' ')<CR>
au FileType task map <buffer> <leader>lf :call TW_show('+focus')<CR>
au FileType task map <buffer> <leader>lq :call TW_show()<CR>
au FileType task map <leader>m :call TW_mod()<CR>
au FileType task vmap <leader>m :call TW_mod()<CR>
au FileType task map <leader>a :call TW_append()<CR>
au FileType task vmap <leader>a :call TW_append()<CR>
au FileType task map <leader>f :call TW_toggle_focus()<CR>
" info
au FileType task map <buffer> <leader>i :call TW_info()<CR>
au FileType task vmap <buffer> <leader>i :call TW_info()<CR>
" priority
au FileType task map <buffer> <leader>pl :call TW_mod('priority:L')<CR>
au FileType task map <buffer> <leader>pm :call TW_mod('priority:M')<CR>
au FileType task map <buffer> <leader>ph :call TW_mod('priority:H')<CR>
au FileType task vmap <buffer> <leader>pl :call TW_mod('priority:L')<CR>
au FileType task vmap <buffer> <leader>pm :call TW_mod('priority:M')<CR>
au FileType task vmap <buffer> <leader>pm :call TW_mod('priority:M')<CR>
" wait
au FileType task map <buffer> <leader>W :call TW_wait()<CR>
au FileType task vmap <buffer> <leader>W :call TW_wait()<CR>
au FileType task set nowrap
au FileType task TableModeEnable
map <leader>tS :TableSort!<CR>
function! Task()
call Nvimx_load_plugin('Taskwarrior')
endfunction