Skip to content

Commit 2359889

Browse files
committed
Reuse option was added
1 parent 752318b commit 2359889

File tree

2 files changed

+22
-2
lines changed

2 files changed

+22
-2
lines changed

autoload/executor.vim

Lines changed: 18 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@
77
" Licence: BSD-3-Clause
88
" ===========================================================================
99

10+
let s:previous_buffer = ''
11+
1012
func! executor#exec(start_line, end_line, count, ...)
1113
if !exists('g:loaded_buffr')
1214
call s:show_error('Please, install vim-buffr plugin first') | return
@@ -47,11 +49,25 @@ func! s:result(command, selection, count)
4749
endfunc
4850

4951
func! s:open_result(result, buffer_name)
50-
call buffr#create_buffer({
52+
let l:buffer_name = a:buffer_name
53+
54+
if g:executor_reuse_buffer
55+
if len(s:previous_buffer)
56+
let l:buffer_name = s:previous_buffer
57+
end
58+
let s:previous_buffer = a:buffer_name
59+
endif
60+
61+
call buffr#open_or_create_buffer({
5162
\ 'position': g:executor_position,
52-
\ 'name': a:buffer_name
63+
\ 'name': l:buffer_name
5364
\ })
5465
call s:set_buffer_defaults()
66+
67+
if g:executor_reuse_buffer
68+
silent exec 'edit ' . escape(s:previous_buffer, ' ')
69+
endif
70+
5571
call append(0, split(a:result, "\n"))
5672
silent exec 'normal! Gdd'
5773
endfunc

plugin/executor.vim

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,10 @@ if !exists('g:executor_buffer_name')
2323
let g:executor_buffer_name = '{command}'
2424
endif
2525

26+
if !exists('g:executor_reuse_buffer')
27+
let g:executor_reuse_buffer = 0
28+
endif
29+
2630
comm! -nargs=* -range=0 -complete=shellcmd Exec
2731
\ call executor#exec(<line1>, <line2>, <count>, <q-args>)
2832

0 commit comments

Comments
 (0)