24 lines
954 B
VimL
24 lines
954 B
VimL
function! s:toggleBasedOnMergeMode() abort
|
|
let l:merginalWindowNumber = bufwinnr('Merginal:')
|
|
if 0 <= l:merginalWindowNumber
|
|
let l:merginalBufferNumber = winbufnr(l:merginalWindowNumber)
|
|
let l:bufferObject = getbufvar(l:merginalBufferNumber, 'merginal')
|
|
let l:mode = l:bufferObject._getSpecialMode()
|
|
if l:mode == ''
|
|
let l:mode = 'branchList'
|
|
endif
|
|
if l:bufferObject.name == l:mode
|
|
call merginal#closeMerginalBuffer()
|
|
return
|
|
else
|
|
call l:bufferObject.gotoBuffer(l:mode)
|
|
endif
|
|
else
|
|
call merginal#openMerginalBuffer()
|
|
endif
|
|
endfunction
|
|
|
|
autocmd User Fugitive command! -buffer -nargs=0 Merginal call merginal#openMerginalBuffer()
|
|
autocmd User Fugitive command! -buffer -nargs=0 MerginalToggle call s:toggleBasedOnMergeMode()
|
|
autocmd User Fugitive command! -buffer -nargs=0 MerginalClose call merginal#closeMerginalBuffer()
|