nvim: after/ftplugin: gitrebase: Add vim-interactive-rebase-reverse

The plugin is a pretty small ftplugin. Just add it to our ftplugin.
This also fixes the issue where this plugin did not take affect
when using interactive rebase from within fugitive.
This commit is contained in:
Sanchayan Maity 2021-05-29 13:10:26 +05:30
parent 72e3b80274
commit 4e2abc80df
2 changed files with 21 additions and 1 deletions

View file

@ -1,3 +1,24 @@
" 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 " See https://github.com/neovim/neovim/blob/master/runtime/ftplugin/gitrebase.vim
nmap <buffer> <silent> <Leader>p :Pick<CR> nmap <buffer> <silent> <Leader>p :Pick<CR>
nmap <buffer> <silent> <Leader>s :Squash<CR> nmap <buffer> <silent> <Leader>s :Squash<CR>

View file

@ -43,7 +43,6 @@ local init = function ()
} }
use 'tpope/vim-fugitive' use 'tpope/vim-fugitive'
use 'rhysd/git-messenger.vim' use 'rhysd/git-messenger.vim'
use 'salcode/vim-interactive-rebase-reverse'
use 'whiteinge/diffconflicts' use 'whiteinge/diffconflicts'
use 'sindrets/diffview.nvim' use 'sindrets/diffview.nvim'
-- Boost vim command line mode -- Boost vim command line mode