diff options
| author | Kyren223 <Kyren223@proton.me> | 2025-04-24 11:36:39 +0300 |
|---|---|---|
| committer | Kyren223 <Kyren223@proton.me> | 2025-04-24 11:36:39 +0300 |
| commit | 6bef8f32b19778fdfe52f0eb39719425508dcc7b (patch) | |
| tree | f293141ed7e8676b76bb06c07a0fa9472b10e2ac /.config/nvim/lua/plugins/gitsigns.lua | |
| parent | dbd9a6fdd0c44e26b200fb706aacd120a2e09c47 (diff) | |
Refactored nvim config to make it easier and less insanely nested
Diffstat (limited to '.config/nvim/lua/plugins/gitsigns.lua')
| -rw-r--r-- | .config/nvim/lua/plugins/gitsigns.lua | 33 |
1 files changed, 33 insertions, 0 deletions
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', '<leader>gD', '<cmd>Gitsigns toggle_deleted<cr>', { desc = '[G]it [D]eleted' }) + vim.keymap.set('n', '<leader>hp', '<cmd>Gitsigns preview_hunk<cr>', { desc = '[H]unk [P]review' }) + vim.keymap.set('n', '<leader>hs', '<cmd>Gitsigns stage_hunk<cr>', { desc = '[H]unk [S]tage' }) + vim.keymap.set('n', '<leader>hr', '<cmd>Gitsigns reset_hunk<cr>', { desc = '[H]unk [R]eset' }) + vim.keymap.set('v', '<leader>hs', stage_visual_chunk, { desc = '[H]unk [S]tage' }) + vim.keymap.set('v', '<leader>hr', reset_visual_chunk, { desc = '[H]unk [S]tage' }) + vim.keymap.set('n', '<leader>hS', '<cmd>Gitsigns stage_buffer<cr>', { desc = '[S]tage Buffer' }) + vim.keymap.set('n', '<leader>hR', '<cmd>Gitsigns reset_buffer<cr>', { desc = '[R]eset Buffer' }) + vim.keymap.set('n', '<leader>hu', '<cmd>Gitsigns undo_stage_hunk<cr>', { desc = '[H]unk [U]ndo' }) + vim.keymap.set( + 'n', + '<leader>gB', + '<cmd>Gitsigns toggle_current_line_blame<cr>', + { desc = '[G]it [B]lame Line' } + ) + end, +} |
