The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

In your ~/.config/nvim/init.vim, have something like

    function! TW_done(channel)
        call rpcrequest( a:channel, 'tw_done' )
    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(channel)
        call rpcrequest( a:channel, 'tw_toggle_focus' )
    endfunction

    function! TW_mod(channel)
        call rpcrequest( a:channel, 'tw_mod' )
    endfunction

    au FileType task map <leader>d :call TW_done(nvimx_channel)<CR>
    au FileType task map <leader>ll :call TW_show('+PENDING -WAITING -BLOCKED')<CR>
    au FileType task map <leader>lq :call TW_show()<CR>
    au FileType task map <leader>m :call TW_mod(nvimx_channel)<CR>
    au FileType task map <leader>f :call TW_toggle_focus(nvimx_channel)<CR>
    au FileType task map <buffer> <leader>ph :call TW_mod(nvimx_channel)<CR>

    au FileType task set nowrap

    " requires the plugin dhruvasagar/vim-table-mode
    au FileType task TableModeEnable

then set the env variable NVIM_LISTEN_ADDRESS to, say, 127.0.0.1:6543 and start nvim in one shell, and this script in another, and enjoy your new nvim-powered taskwarrior UI!