my dotfiles for arch
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}