|
7 | 7 | " Licence: BSD-3-Clause |
8 | 8 | " =========================================================================== |
9 | 9 |
|
| 10 | +let s:previous_buffer = '' |
| 11 | + |
10 | 12 | func! executor#exec(start_line, end_line, count, ...) |
11 | 13 | if !exists('g:loaded_buffr') |
12 | 14 | call s:show_error('Please, install vim-buffr plugin first') | return |
@@ -47,11 +49,25 @@ func! s:result(command, selection, count) |
47 | 49 | endfunc |
48 | 50 |
|
49 | 51 | 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({ |
51 | 62 | \ 'position': g:executor_position, |
52 | | - \ 'name': a:buffer_name |
| 63 | + \ 'name': l:buffer_name |
53 | 64 | \ }) |
54 | 65 | call s:set_buffer_defaults() |
| 66 | + |
| 67 | + if g:executor_reuse_buffer |
| 68 | + silent exec 'edit ' . escape(s:previous_buffer, ' ') |
| 69 | + endif |
| 70 | + |
55 | 71 | call append(0, split(a:result, "\n")) |
56 | 72 | silent exec 'normal! Gdd' |
57 | 73 | endfunc |
|
0 commit comments