From da5359364637eddbadcc188121c1a3e38afebba3 Mon Sep 17 00:00:00 2001 From: Kyren223 Date: Sun, 27 Oct 2024 23:55:50 +0200 Subject: Split the git.lua into 4 separate plugins --- .config/nvim/lua/custom/plugins/gitsigns.lua | 31 ++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 .config/nvim/lua/custom/plugins/gitsigns.lua (limited to '.config/nvim/lua/custom/plugins/gitsigns.lua') diff --git a/.config/nvim/lua/custom/plugins/gitsigns.lua b/.config/nvim/lua/custom/plugins/gitsigns.lua new file mode 100644 index 0000000..3d16f32 --- /dev/null +++ b/.config/nvim/lua/custom/plugins/gitsigns.lua @@ -0,0 +1,31 @@ +return { + 'lewis6991/gitsigns.nvim', + cmd = 'Gitsigns', + event = 'VeryLazy', + config = function() + require('gitsigns').setup() + + local function stage_visual_chunk() + require('gitsigns').stage_hunk({ vim.fn.line('.'), vim.fn.line('v') }) + end + local function reset_visual_chunk() + require('gitsigns').reset_hunk({ vim.fn.line('.'), vim.fn.line('v') }) + end + + vim.keymap.set('n', 'gD', 'Gitsigns toggle_deleted', { desc = '[G]it [D]eleted' }) + vim.keymap.set('n', 'hp', 'Gitsigns preview_hunk', { desc = '[H]unk [P]review' }) + vim.keymap.set('n', 'hs', 'Gitsigns stage_hunk', { desc = '[H]unk [S]tage' }) + vim.keymap.set('n', 'hr', 'Gitsigns reset_hunk', { desc = '[H]unk [R]eset' }) + vim.keymap.set('v', 'hs', stage_visual_chunk, { desc = '[H]unk [S]tage' }) + vim.keymap.set('v', 'hr', reset_visual_chunk, { desc = '[H]unk [S]tage' }) + vim.keymap.set('n', 'hS', 'Gitsigns stage_buffer', { desc = '[S]tage Buffer' }) + vim.keymap.set('n', 'hR', 'Gitsigns reset_buffer', { desc = '[R]eset Buffer' }) + vim.keymap.set('n', 'hu', 'Gitsigns undo_stage_hunk', { desc = '[H]unk [U]ndo' }) + vim.keymap.set( + 'n', + 'gB', + 'Gitsigns toggle_current_line_blame', + { desc = '[G]it [B]lame Line' } + ) + end, +} -- cgit v1.3.1