Add vim script
This commit is contained in:
parent
7fa86968e1
commit
f2e91b1398
1
apps/neovim/.gitignore
vendored
1
apps/neovim/.gitignore
vendored
|
@ -1,4 +1,5 @@
|
|||
/*
|
||||
!/scripts/
|
||||
!/ftplugin/
|
||||
!/.gitignore
|
||||
!/init.vim
|
||||
|
|
20
apps/neovim/scripts/pipeline.vim
Normal file
20
apps/neovim/scripts/pipeline.vim
Normal file
|
@ -0,0 +1,20 @@
|
|||
edit $PIPELINE_IN
|
||||
split $PIPELINE_TRANSFORM
|
||||
split $PIPELINE_OUT
|
||||
|
||||
let s:refresh_output = {j, d, e -> execute('checktime')}
|
||||
let s:refresh_output_job = {'spec': ['inotifywait', '-m', '-e', 'close_write,delete', $PIPELINE_OUT], 'opts': {'detach': 1, 'on_stdout': s:refresh_output}}
|
||||
let s:refresh_output_job_id = jobstart(s:refresh_output_job['spec'], s:refresh_output_job['opts'])
|
||||
|
||||
function s:RunPipeline()
|
||||
execute "!".g:pipeline_transform
|
||||
endfunction
|
||||
|
||||
let s:refresh_output_job_id = jobstart(s:refresh_output_job['spec'], s:refresh_output_job['opts'])
|
||||
|
||||
set updatetime=250
|
||||
" only autosave the input buffer
|
||||
autocmd CursorHold,CursorHoldI <buffer> silent write
|
||||
autocmd FileWritePost silent call s:RunPipeline()
|
||||
autocmd VimLeavePre call jobstop(s:refresh_output_job_id)
|
||||
autocmd VimLeavePre call jobstop(s:run_pipeline_job_id)
|
Reference in a new issue