From e87fe092a21b118701059992b69807ac30000945 Mon Sep 17 00:00:00 2001 From: Tim Pope Date: Sat, 25 Apr 2020 16:54:03 -0400 Subject: [PATCH] Extract s:RunEdit() --- autoload/fugitive.vim | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/autoload/fugitive.vim b/autoload/fugitive.vim index f7f2fc1..f7c7638 100644 --- a/autoload/fugitive.vim +++ b/autoload/fugitive.vim @@ -2276,6 +2276,17 @@ function! s:RunJobs() abort return exists('*job_start') || exists('*jobstart') endfunction +function! s:RunEdit(state, job) abort + if get(a:state, 'request', '') == 'edit' + call remove(a:state, 'request') + let file = readfile(a:state.temp . '.edit')[0] + exe substitute(a:state.mods, '\', '-tab', 'g') 'keepalt split' s:fnameescape(file) + set bufhidden=wipe + let s:edit_jobs[bufnr('')] = [a:state, a:job] + return 1 + endif +endfunction + function! s:RunReceive(state, job, data, ...) abort call add(a:state.log, a:data) let data = type(a:data) == type([]) ? join(a:data, "\n") : a:data @@ -2341,13 +2352,7 @@ function! s:RunWait(state, job) abort endwhile sleep 1m echo - if get(a:state, 'request', '') == 'edit' - call remove(a:state, 'request') - let file = readfile(a:state.temp . '.edit')[0] - exe substitute(a:state.mods, '\', '-tab', 'g') 'keepalt split' s:fnameescape(file) - set bufhidden=wipe - let s:edit_jobs[bufnr('')] = [a:state, a:job] - endif + call s:RunEdit(a:state, a:job) let finished = 1 finally if !finished