Files
nvim/lua/plugins/fugitive.lua
2025-04-12 23:49:02 +01:00

38 lines
1.3 KiB
Lua

return {
'tpope/vim-fugitive',
config = function()
vim.keymap.set('n', '<leader>gg', vim.cmd.Git)
local ThePrimeagen_Fugitive = vim.api.nvim_create_augroup('ThePrimeagen_Fugitive', {})
local autocmd = vim.api.nvim_create_autocmd
autocmd('BufWinEnter', {
group = ThePrimeagen_Fugitive,
pattern = '*',
callback = function()
if vim.bo.ft ~= 'fugitive' then
return
end
local bufnr = vim.api.nvim_get_current_buf()
local opts = { buffer = bufnr, remap = false }
vim.keymap.set('n', '<leader>gp', function()
vim.cmd.Git 'push'
end, opts)
-- rebase always
vim.keymap.set('n', '<leader>gP', function()
vim.cmd.Git { 'pull', '--rebase' }
end, opts)
-- NOTE: It allows me to easily set the branch i am pushing and any tracking
-- needed if i did not set the branch up correctly
vim.keymap.set('n', '<leader>gt', ':Git push -u origin ', opts)
end,
})
vim.keymap.set('n', '<Leader>gu', '<cmd>diffget //2<CR>')
vim.keymap.set('n', '<Leader>gh', '<cmd>diffget //3<CR>')
end,
}