From 6bef8f32b19778fdfe52f0eb39719425508dcc7b Mon Sep 17 00:00:00 2001 From: Kyren223 Date: Thu, 24 Apr 2025 11:36:39 +0300 Subject: Refactored nvim config to make it easier and less insanely nested --- .config/nvim/lua/plugins/gitsigns.lua | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 .config/nvim/lua/plugins/gitsigns.lua (limited to '.config/nvim/lua/plugins/gitsigns.lua') diff --git a/.config/nvim/lua/plugins/gitsigns.lua b/.config/nvim/lua/plugins/gitsigns.lua new file mode 100644 index 0000000..953cd80 --- /dev/null +++ b/.config/nvim/lua/plugins/gitsigns.lua @@ -0,0 +1,33 @@ +return { + 'lewis6991/gitsigns.nvim', + cmd = 'Gitsigns', + -- INFO: Disabled lazy loading to see if the errors stop + -- Not sure if it's an issue with lazy loading or just a gitsigns bug + lazy = false, + 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