mirror of
https://github.com/tpope/vim-fugitive.git
synced 2025-11-15 06:43:51 -05:00
Buffer output when using the pager
As of 10ed587f65 all output is captured to
a temp file before being displayed. When the output is not buffered, the
stdout/stderr callback is called to perform post-processing for each
output chunk. Instead, buffer all output and perform the post-processing
all at once.
This results in a substantial performance improvement for repositories
with many commits.
This commit is contained in:
@@ -3933,6 +3933,8 @@ function! fugitive#Command(line1, line2, range, bang, mods, arg, ...) abort
|
||||
let job = jobstart(argv, extend(jobopts, {
|
||||
\ 'pty': state.pty,
|
||||
\ 'TERM': 'dumb',
|
||||
\ 'stdout_buffered': pager,
|
||||
\ 'stderr_buffered': pager,
|
||||
\ 'on_stdout': function('s:RunReceive', [state, tmp, 'out']),
|
||||
\ 'on_stderr': function('s:RunReceive', [state, tmp, 'err']),
|
||||
\ 'on_exit': function('s:RunClose', [state, tmp]),
|
||||
|
||||
Reference in New Issue
Block a user