Disable 'more' on :Git --no-pager

This commit is contained in:
Tim Pope
2021-08-19 19:34:24 -04:00
parent 9cf20dbff5
commit b70c10f2bd

View File

@@ -3129,6 +3129,10 @@ function! s:RunWait(state, tmp, job, ...) abort
call delete(a:1) call delete(a:1)
endif endif
try try
if a:tmp.no_more && &more
let more = &more
let &more = 0
endif
while get(a:state, 'request', '') !=# 'edit' && s:RunTick(a:job) while get(a:state, 'request', '') !=# 'edit' && s:RunTick(a:job)
call s:RunEcho(a:tmp) call s:RunEcho(a:tmp)
if !get(a:tmp, 'closed_in') if !get(a:tmp, 'closed_in')
@@ -3175,6 +3179,9 @@ function! s:RunWait(state, tmp, job, ...) abort
endif endif
let finished = !s:RunEdit(a:state, a:tmp, a:job) let finished = !s:RunEdit(a:state, a:tmp, a:job)
finally finally
if exists('l:more')
let &more = more
endif
if !exists('finished') if !exists('finished')
try try
if a:state.pty && !get(a:tmp, 'closed_in') if a:state.pty && !get(a:tmp, 'closed_in')
@@ -3355,6 +3362,7 @@ function! fugitive#Command(line1, line2, range, bang, mods, arg) abort
let i += 1 let i += 1
endwhile endwhile
call s:PrepareEnv(env, dir) call s:PrepareEnv(env, dir)
let no_pager = pager is# 0
if pager is# -1 if pager is# -1
let pager = fugitive#PagerFor(args, config) let pager = fugitive#PagerFor(args, config)
endif endif
@@ -3414,6 +3422,7 @@ function! fugitive#Command(line1, line2, range, bang, mods, arg) abort
let args = s:AskPassArgs(dir) + args let args = s:AskPassArgs(dir) + args
endif endif
let tmp = { let tmp = {
\ 'no_more': no_pager,
\ 'line_count': 0, \ 'line_count': 0,
\ 'err': '', \ 'err': '',
\ 'out': '', \ 'out': '',