Skip to content

Commit

Permalink
junegunn#1239 Add ability to bdelete buffers with CTRL-D from :Buffer…
Browse files Browse the repository at this point in the history
…s command
  • Loading branch information
connermcd committed Mar 29, 2023
1 parent dc71692 commit cb4b33f
Showing 1 changed file with 11 additions and 1 deletion.
12 changes: 11 additions & 1 deletion autoload/fzf/vim.vim
Original file line number Diff line number Diff line change
Expand Up @@ -739,14 +739,23 @@ function! s:bufopen(lines)
if len(a:lines) < 2
return
endif

let b = matchstr(a:lines[1], '\[\zs[0-9]*\ze\]')

if a:lines[0] == 'ctrl-d'
execute 'silent bdelete' b
call fzf#vim#buffers()
return
endif

if empty(a:lines[0]) && get(g:, 'fzf_buffers_jump')
let [t, w] = s:find_open_window(b)
if t
call s:jump(t, w)
return
endif
endif

let cmd = s:action_for(a:lines[0])
if !empty(cmd)
execute 'silent' cmd
Expand Down Expand Up @@ -783,10 +792,11 @@ function! fzf#vim#buffers(...)
let sorted = fzf#vim#_buflisted_sorted()
let header_lines = '--header-lines=' . (bufnr('') == get(sorted, 0, 0) ? 1 : 0)
let tabstop = len(max(sorted)) >= 4 ? 9 : 8
let expect_keys = join(keys(get(g:, 'fzf_action', s:default_action)), ',')
return s:fzf('buffers', {
\ 'source': map(sorted, 'fzf#vim#_format_buffer(v:val)'),
\ 'sink*': s:function('s:bufopen'),
\ 'options': ['+m', '-x', '--tiebreak=index', header_lines, '--ansi', '-d', '\t', '--with-nth', '3..', '-n', '2,1..2', '--prompt', 'Buf> ', '--query', query, '--preview-window', '+{2}-/2', '--tabstop', tabstop]
\ 'options': ['+m', '-x', '--tiebreak=index', header_lines, '--ansi', '-d', '\t', '--with-nth', '3..', '-n', '2,1..2', '--prompt', 'Buf> ', '--query', query, '--preview-window', '+{2}-/2', '--tabstop', tabstop, '--header', ':: Press '.s:magenta('CTRL-D', 'Special').' to delete buffer', '--expect', 'ctrl-d,'.expect_keys]
\}, args)
endfunction

Expand Down

0 comments on commit cb4b33f

Please sign in to comment.