dotfiles/nvim/.config/nvim/after/ftplugin/gitrebase.vim

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

31 lines
1 KiB
VimL
Raw Normal View History

" Taken from https://github.com/salcode/vim-interactive-rebase-reverse
" Reverse the order of all lines that do NOT:
" - Begin with #
" - nor are a blank link
function! s:Reverse()
global!/\(^#\)\|\(^$\)/m0
endfunction
" Reverse the order of all commits in the git interactive rebase screen,
" when this filetype (gitrebase) is loaded.
call s:Reverse()
" Set an autocmd to run when the Buffer is written
augroup fe_interactive_rebase_reverse
autocmd!
" Before saving (un)reverse the order of all commits.
autocmd BufWritePre <buffer> call s:Reverse()
" After saving reverse the order of the commits again.
autocmd BufWritePost <buffer> call s:Reverse()
augroup END
" See https://github.com/neovim/neovim/blob/master/runtime/ftplugin/gitrebase.vim
nnoremap <buffer> <silent> <Leader>p :Pick<CR>
nnoremap <buffer> <silent> <Leader>s :Squash<CR>
nnoremap <buffer> <silent> <Leader>e :Edit<CR>
nnoremap <buffer> <silent> <Leader>r :Reword<CR>
nnoremap <buffer> <silent> <Leader>f :Fixup<CR>
nnoremap <buffer> <silent> <Leader>c :Cycle<CR>
setlocal bufhidden=wipe