my dotfiles for arch
at main 51 lines 1.7 kB view raw
1return { 2 "lewis6991/gitsigns.nvim", 3 config = function(bufnr) 4 require("gitsigns").setup({ 5 on_attach = function(bufnr) 6 local gitsigns = require("gitsigns") 7 8 local function map(mode, l, r, opts) 9 opts = opts or {} 10 opts.buffer = bufnr 11 vim.keymap.set(mode, l, r, opts) 12 end 13 14 -- Navigation 15 -- map('n', ']c', function() 16 -- if vim.wo.diff then 17 -- vim.cmd.normal({ ']c', bang = true }) 18 -- else 19 -- gitsigns.nav_hunk('next') 20 -- end 21 -- end) 22 23 -- map('n', '[c', function() 24 -- if vim.wo.diff then 25 -- vim.cmd.normal({ '[c', bang = true }) 26 -- else 27 -- gitsigns.nav_hunk('prev') 28 -- end 29 -- end) 30 31 -- -- Actions 32 -- map('n', '<leader>hs', gitsigns.stage_hunk) 33 -- map('n', '<leader>hr', gitsigns.reset_hunk) 34 -- map('v', '<leader>hs', function() gitsigns.stage_hunk { vim.fn.line('.'), vim.fn.line('v') } end) 35 -- map('v', '<leader>hr', function() gitsigns.reset_hunk { vim.fn.line('.'), vim.fn.line('v') } end) 36 -- map('n', '<leader>hS', gitsigns.stage_buffer) 37 -- map('n', '<leader>hu', gitsigns.undo_stage_hunk) 38 -- map('n', '<leader>hR', gitsigns.reset_buffer) 39 map("n", "<leader>gp", gitsigns.preview_hunk, { desc = "Preview hunk" }) 40 -- map('n', '<leader>hb', function() gitsigns.blame_line { full = true } end) 41 -- map('n', '<leader>tb', gitsigns.toggle_current_line_blame) 42 map("n", "<leader>gD", gitsigns.diffthis, { desc = "Diff this" }) 43 -- map('n', '<leader>hD', function() gitsigns.diffthis('~') end) 44 -- map('n', '<leader>td', gitsigns.toggle_deleted) 45 46 -- -- Text object 47 -- map({ 'o', 'x' }, 'ih', ':<C-U>Gitsigns select_hunk<CR>') 48 end, 49 }) 50 end, 51}