a8ee6a4f75fa06cbb8cef945301e897f292b3386
David Blume first commit

David Blume authored 8 years ago

.vim/bundle/bbye/plugin/bbye.vim              1) if exists("g:loaded_bbye") || &cp | finish | endif
.vim/bundle/bbye/plugin/bbye.vim              2) let g:loaded_bbye = 1
.vim/bundle/bbye/plugin/bbye.vim              3) 
David Blume Will use netrw's Explore in...

David Blume authored 3 years ago

.vim/pack/plugins/start/bbye/plugin/bbye.vim  4) function! s:bdelete(action, bang, buffer_name)
David Blume first commit

David Blume authored 8 years ago

.vim/bundle/bbye/plugin/bbye.vim              5) 	let buffer = s:str2bufnr(a:buffer_name)
.vim/bundle/bbye/plugin/bbye.vim              6) 	let w:bbye_back = 1
.vim/bundle/bbye/plugin/bbye.vim              7) 
.vim/bundle/bbye/plugin/bbye.vim              8) 	if buffer < 0
David Blume Will use netrw's Explore in...

David Blume authored 3 years ago

.vim/pack/plugins/start/bbye/plugin/bbye.vim  9) 		return s:error("E516: No buffers were deleted. No match for ".a:buffer_name)
David Blume first commit

David Blume authored 8 years ago

.vim/bundle/bbye/plugin/bbye.vim             10) 	endif
.vim/bundle/bbye/plugin/bbye.vim             11) 
.vim/bundle/bbye/plugin/bbye.vim             12) 	if getbufvar(buffer, "&modified") && empty(a:bang)
.vim/bundle/bbye/plugin/bbye.vim             13) 		let error = "E89: No write since last change for buffer "
David Blume Will use netrw's Explore in...

David Blume authored 3 years ago

.vim/pack/plugins/start/bbye/plugin/bbye.vim 14) 		return s:error(error . buffer . " (add ! to override)")
David Blume first commit

David Blume authored 8 years ago

.vim/bundle/bbye/plugin/bbye.vim             15) 	endif
.vim/bundle/bbye/plugin/bbye.vim             16) 
.vim/bundle/bbye/plugin/bbye.vim             17) 	" If the buffer is set to delete and it contains changes, we can't switch
.vim/bundle/bbye/plugin/bbye.vim             18) 	" away from it. Hide it before eventual deleting:
.vim/bundle/bbye/plugin/bbye.vim             19) 	if getbufvar(buffer, "&modified") && !empty(a:bang)
.vim/bundle/bbye/plugin/bbye.vim             20) 		call setbufvar(buffer, "&bufhidden", "hide")
.vim/bundle/bbye/plugin/bbye.vim             21) 	endif
.vim/bundle/bbye/plugin/bbye.vim             22) 
.vim/bundle/bbye/plugin/bbye.vim             23) 	" For cases where adding buffers causes new windows to appear or hiding some
.vim/bundle/bbye/plugin/bbye.vim             24) 	" causes windows to disappear and thereby decrement, loop backwards.
.vim/bundle/bbye/plugin/bbye.vim             25) 	for window in reverse(range(1, winnr("$")))
.vim/bundle/bbye/plugin/bbye.vim             26) 		" For invalid window numbers, winbufnr returns -1.
.vim/bundle/bbye/plugin/bbye.vim             27) 		if winbufnr(window) != buffer | continue | endif
.vim/bundle/bbye/plugin/bbye.vim             28) 		execute window . "wincmd w"
.vim/bundle/bbye/plugin/bbye.vim             29) 
.vim/bundle/bbye/plugin/bbye.vim             30) 		" Bprevious also wraps around the buffer list, if necessary:
.vim/bundle/bbye/plugin/bbye.vim             31) 		try | exe bufnr("#") > 0 && buflisted(bufnr("#")) ? "buffer #" : "bprevious"
.vim/bundle/bbye/plugin/bbye.vim             32) 		catch /^Vim([^)]*):E85:/ " E85: There is no listed buffer
.vim/bundle/bbye/plugin/bbye.vim             33) 		endtry
.vim/bundle/bbye/plugin/bbye.vim             34) 
.vim/bundle/bbye/plugin/bbye.vim             35) 		" If found a new buffer for this window, mission accomplished:
.vim/bundle/bbye/plugin/bbye.vim             36) 		if bufnr("%") != buffer | continue | endif
.vim/bundle/bbye/plugin/bbye.vim             37) 
David Blume Will use netrw's Explore in...

David Blume authored 3 years ago

.vim/pack/plugins/start/bbye/plugin/bbye.vim 38) 		call s:new(a:bang)
David Blume first commit

David Blume authored 8 years ago

.vim/bundle/bbye/plugin/bbye.vim             39) 	endfor
.vim/bundle/bbye/plugin/bbye.vim             40) 
.vim/bundle/bbye/plugin/bbye.vim             41) 	" Because tabbars and other appearing/disappearing windows change
.vim/bundle/bbye/plugin/bbye.vim             42) 	" the window numbers, find where we were manually:
.vim/bundle/bbye/plugin/bbye.vim             43) 	let back = filter(range(1, winnr("$")), "getwinvar(v:val, 'bbye_back')")[0]
.vim/bundle/bbye/plugin/bbye.vim             44) 	if back | exe back . "wincmd w" | unlet w:bbye_back | endif
.vim/bundle/bbye/plugin/bbye.vim             45) 
.vim/bundle/bbye/plugin/bbye.vim             46) 	" If it hasn't been already deleted by &bufhidden, end its pains now.
.vim/bundle/bbye/plugin/bbye.vim             47) 	" Unless it previously was an unnamed buffer and :enew returned it again.
David Blume Will use netrw's Explore in...

David Blume authored 3 years ago

.vim/pack/plugins/start/bbye/plugin/bbye.vim 48) 	"
.vim/pack/plugins/start/bbye/plugin/bbye.vim 49) 	" Using buflisted() over bufexists() because bufhidden=delete causes the
.vim/pack/plugins/start/bbye/plugin/bbye.vim 50) 	" buffer to still _exist_ even though it won't be :bdelete-able.
.vim/pack/plugins/start/bbye/plugin/bbye.vim 51) 	if buflisted(buffer) && buffer != bufnr("%")
.vim/pack/plugins/start/bbye/plugin/bbye.vim 52) 		exe a:action . a:bang . " " . buffer
David Blume first commit

David Blume authored 8 years ago

.vim/bundle/bbye/plugin/bbye.vim             53) 	endif
.vim/bundle/bbye/plugin/bbye.vim             54) endfunction
.vim/bundle/bbye/plugin/bbye.vim             55) 
.vim/bundle/bbye/plugin/bbye.vim             56) function! s:str2bufnr(buffer)
.vim/bundle/bbye/plugin/bbye.vim             57) 	if empty(a:buffer)
.vim/bundle/bbye/plugin/bbye.vim             58) 		return bufnr("%")
David Blume Will use netrw's Explore in...

David Blume authored 3 years ago

.vim/pack/plugins/start/bbye/plugin/bbye.vim 59) 	elseif a:buffer =~# '^\d\+$'
David Blume first commit

David Blume authored 8 years ago

.vim/bundle/bbye/plugin/bbye.vim             60) 		return bufnr(str2nr(a:buffer))
.vim/bundle/bbye/plugin/bbye.vim             61) 	else
.vim/bundle/bbye/plugin/bbye.vim             62) 		return bufnr(a:buffer)
.vim/bundle/bbye/plugin/bbye.vim             63) 	endif
.vim/bundle/bbye/plugin/bbye.vim             64) endfunction
.vim/bundle/bbye/plugin/bbye.vim             65) 
.vim/bundle/bbye/plugin/bbye.vim             66) function! s:new(bang)
.vim/bundle/bbye/plugin/bbye.vim             67) 	exe "enew" . a:bang
.vim/bundle/bbye/plugin/bbye.vim             68) 
.vim/bundle/bbye/plugin/bbye.vim             69) 	setl noswapfile
.vim/bundle/bbye/plugin/bbye.vim             70) 	" If empty and out of sight, delete it right away:
.vim/bundle/bbye/plugin/bbye.vim             71) 	setl bufhidden=wipe
.vim/bundle/bbye/plugin/bbye.vim             72) 	" Regular buftype warns people if they have unsaved text there.  Wouldn't
.vim/bundle/bbye/plugin/bbye.vim             73) 	" want to lose someone's data:
.vim/bundle/bbye/plugin/bbye.vim             74) 	setl buftype=
.vim/bundle/bbye/plugin/bbye.vim             75) 	" Hide the buffer from buffer explorers and tabbars:
.vim/bundle/bbye/plugin/bbye.vim             76) 	setl nobuflisted
.vim/bundle/bbye/plugin/bbye.vim             77) endfunction
.vim/bundle/bbye/plugin/bbye.vim             78) 
.vim/bundle/bbye/plugin/bbye.vim             79) " Using the built-in :echoerr prints a stacktrace, which isn't that nice.
David Blume Will use netrw's Explore in...

David Blume authored 3 years ago

.vim/pack/plugins/start/bbye/plugin/bbye.vim 80) function! s:error(msg)
David Blume first commit

David Blume authored 8 years ago

.vim/bundle/bbye/plugin/bbye.vim             81) 	echohl ErrorMsg
.vim/bundle/bbye/plugin/bbye.vim             82) 	echomsg a:msg
.vim/bundle/bbye/plugin/bbye.vim             83) 	echohl NONE
David Blume Will use netrw's Explore in...

David Blume authored 3 years ago

.vim/pack/plugins/start/bbye/plugin/bbye.vim 84) 	let v:errmsg = a:msg
David Blume first commit

David Blume authored 8 years ago

.vim/bundle/bbye/plugin/bbye.vim             85) endfunction
.vim/bundle/bbye/plugin/bbye.vim             86) 
.vim/bundle/bbye/plugin/bbye.vim             87) command! -bang -complete=buffer -nargs=? Bdelete