require("gitsigns").setup()
require("which-key").register({
  ["["] = {
    h = { "<cmd>Gitsigns prev_hunk<cr>", "Previous hunk" },
  },
  ["]"] = {
    h = { "<cmd>Gitsigns next_hunk<cr>", "Next hunk" },
  },
})
require("which-key").register({
  h = {
    name = "hunk",
    s = { "<cmd>Gitsigns stage_hunk<cr>", "Stage hunk", mode = { "n", "v" } },
    r = { "<cmd>Gitsigns reset_hunk<cr>", "Reset hunk", mode = { "n", "v" } },
    S = { "<cmd>Gitsigns stage_buffer<cr>", "Stage buffer" },
    R = { "<cmd>Gitsigns reset_buffer<cr>", "Reset buffer" },
    u = { "<cmd>Gitsigns undo_stage_hunk<cr>", "Undo stage hunk" },
  },
}, { prefix = "<leader>g" })
require("which-key").register({
  h = { ":<C-U>Gitsigns select_hunk<cr>", "Gitsigns select hunk" },
}, { prefix = "i", mode = { "o", "x" } })
