2020-08-08 01:14:45 +02:00
|
|
|
let g:asyncrun_open = 6
|
2020-08-08 03:25:39 +02:00
|
|
|
let g:asynctasks_term_pos = 'bottom'
|
|
|
|
" let g:asynctasks_term_pos = 'top'
|
|
|
|
" let g:asynctasks_term_pos = 'tab'
|
|
|
|
" let g:asynctasks_term_pos = 'external'
|
|
|
|
let g:asynctasks_extra_config = ['~/.config/nvim/utils/tasks.ini']
|
|
|
|
" let current_tasks = asynctasks#list("")
|
|
|
|
|
|
|
|
function! s:fzf_sink(what)
|
|
|
|
let p1 = stridx(a:what, '<')
|
|
|
|
if p1 >= 0
|
|
|
|
let name = strpart(a:what, 0, p1)
|
|
|
|
let name = substitute(name, '^\s*\(.\{-}\)\s*$', '\1', '')
|
|
|
|
if name != ''
|
|
|
|
exec "AsyncTask ". fnameescape(name)
|
|
|
|
endif
|
|
|
|
endif
|
|
|
|
endfunction
|
|
|
|
|
|
|
|
function! s:fzf_task()
|
|
|
|
let rows = asynctasks#source(&columns * 48 / 100)
|
|
|
|
let source = []
|
|
|
|
for row in rows
|
|
|
|
let name = row[0]
|
|
|
|
let source += [name . ' ' . row[1] . ' : ' . row[2]]
|
|
|
|
endfor
|
|
|
|
let opts = { 'source': source, 'sink': function('s:fzf_sink'),
|
|
|
|
\ 'options': '+m --nth 1 --inline-info --tac' }
|
|
|
|
if exists('g:fzf_layout')
|
|
|
|
for key in keys(g:fzf_layout)
|
|
|
|
let opts[key] = deepcopy(g:fzf_layout[key])
|
|
|
|
endfor
|
|
|
|
endif
|
|
|
|
call fzf#run(opts)
|
|
|
|
endfunction
|
|
|
|
|
|
|
|
command! -nargs=0 AsyncTaskFzf call s:fzf_task()
|
|
|
|
|
|
|
|
" Available Variables
|
|
|
|
" $(VIM_FILEPATH) # File name of current buffer with full path.
|
|
|
|
" $(VIM_FILENAME) # File name of current buffer without path.
|
|
|
|
" $(VIM_FILEDIR) # Full path of current buffer without the file name.
|
|
|
|
" $(VIM_FILEEXT) # File extension of current buffer.
|
|
|
|
" $(VIM_FILETYPE) # File type (value of &ft in vim)
|
|
|
|
" $(VIM_FILENOEXT) # File name of current buffer without path and extension.
|
|
|
|
" $(VIM_PATHNOEXT) # Current file name with full path but without extension.
|
|
|
|
" $(VIM_CWD) # Current directory (which :pwd returns).
|
|
|
|
" $(VIM_RELDIR) # File path relativize to current directory.
|
|
|
|
" $(VIM_RELNAME) # File name relativize to current directory.
|
|
|
|
" $(VIM_ROOT) # Project root directory.
|
|
|
|
" $(VIM_CWORD) # Word under cursor.
|
|
|
|
" $(VIM_CFILE) # File name under cursor.
|
|
|
|
" $(VIM_CLINE) # Cursor line number in current buffer
|
|
|
|
" $(VIM_GUI) # has('gui_runnin')?
|
|
|
|
" $(VIM_VERSION) # Value of v:version.
|
|
|
|
" $(VIM_COLUMNS) # Current screen width.
|
|
|
|
" $(VIM_LINES) # Current screen height.
|
|
|
|
" $(VIM_SVRNAME) # Value of v:servername.
|
|
|
|
" $(VIM_PRONAME) # Name of current project root directory
|
|
|
|
" $(VIM_DIRNAME) # Name of current directory
|
|
|
|
" $(VIM_INIFILE) # Full path name of current ini (.tasks) file.
|
|
|
|
" $(VIM_INIHOME) # Where the ini file locates.
|