Extract setting of path.

This commit is contained in:
Andy Stewart
2019-05-29 14:32:16 +01:00
parent 9488098c8c
commit 222b1a2fde
2 changed files with 12 additions and 7 deletions

View File

@@ -27,13 +27,9 @@ function! gitgutter#process_buffer(bufnr, force) abort
call s:setup_maps(a:bufnr)
let p = gitgutter#utility#repo_path(a:bufnr, 0)
if type(p) != s:t_string || empty(p)
let Continuation = function('gitgutter#process_buffer', [a:bufnr, a:force])
let ret = gitgutter#utility#set_repo_path(a:bufnr, Continuation)
if ret ==# 'async'
return
endif
let how = s:setup_path(a:bufnr, function('gitgutter#process_buffer', [a:bufnr, a:force]))
if [how] == ['async'] " avoid string-to-number conversion if how is a number
return
endif
if a:force || s:has_fresh_changes(a:bufnr)
@@ -149,6 +145,13 @@ function! s:setup_maps(bufnr)
call gitgutter#utility#setbufvar(a:bufnr, 'mapped', 1)
endfunction
function! s:setup_path(bufnr, continuation)
let p = gitgutter#utility#repo_path(a:bufnr, 0)
if type(p) != s:t_string || empty(p)
return gitgutter#utility#set_repo_path(a:bufnr, a:continuation)
endif
endfunction
function! s:has_fresh_changes(bufnr) abort
return getbufvar(a:bufnr, 'changedtick') != gitgutter#utility#getbufvar(a:bufnr, 'tick')
endfunction