feat: binds/mappings for GitSigns
This commit is contained in:
@@ -1,24 +1,49 @@
|
||||
--Note: this will show what part of a file was changed deleted or added in a git repo
|
||||
return {
|
||||
"lewis6991/gitsigns.nvim",
|
||||
-- event = "BufReadPre",
|
||||
"lewis6991/gitsigns.nvim",
|
||||
-- event = "BufReadPre",
|
||||
|
||||
config = function()
|
||||
require("gitsigns").setup {
|
||||
signs = {
|
||||
-- add = { text = "│" },
|
||||
-- change = { text = "│" },
|
||||
delete = { text = "_", show_count = true },
|
||||
-- topdelete = { text = "‾" },
|
||||
-- changedelete = { text = "~" },
|
||||
-- untracked = { text = "┆" },
|
||||
},
|
||||
numhl = true, -- Toggle with `:Gitsigns toggle_numhl`
|
||||
linehl = false, -- Toggle with `:Gitsigns toggle_linehl`
|
||||
}
|
||||
config = function()
|
||||
require("gitsigns").setup({
|
||||
signs = {
|
||||
-- add = { text = "│" },
|
||||
-- change = { text = "│" },
|
||||
delete = { text = "_", show_count = true },
|
||||
-- topdelete = { text = "‾" },
|
||||
-- changedelete = { text = "~" },
|
||||
-- untracked = { text = "┆" },
|
||||
},
|
||||
numhl = true, -- Toggle with `:Gitsigns toggle_numhl`
|
||||
linehl = false, -- Toggle with `:Gitsigns toggle_linehl`
|
||||
|
||||
vim.keymap.set('n', '<Leader>xs', function()
|
||||
require("gitsigns").refresh();
|
||||
end, { desc = "Gitsigns refresh" })
|
||||
end,
|
||||
on_attach = function(bufnr)
|
||||
local gitsigns = require("gitsigns")
|
||||
local wk = require("which-key")
|
||||
wk.add({
|
||||
{ "<leader>g", group = "Gitsigns" };
|
||||
{ "<leader>gj", function ()
|
||||
gitsigns.nav_hunk('next')
|
||||
end, buffer = bufnr, desc = "next hunk" },
|
||||
{ "<leader>gk", function ()
|
||||
gitsigns.nav_hunk('prev')
|
||||
end, buffer = bufnr, desc = "prev hunk" },
|
||||
{ "<leader>gu", gitsigns.reset_buffer_index, buffer = bufnr, desc = "unstage buffer" },
|
||||
{ "<leader>gp", gitsigns.preview_hunk, buffer = bufnr, desc = "preview hunk" },
|
||||
{ "<leader>gP", gitsigns.preview_hunk_inline, buffer = bufnr, desc = "preview hunk inline" },
|
||||
{ "<leader>gs", gitsigns.stage_hunk, buffer = bufnr, desc = "stage hunk" },
|
||||
{ "<leader>gr", gitsigns.reset_hunk, buffer = bufnr, desc = "reset hunk" },
|
||||
{ "<leader>gS", gitsigns.stage_buffer, buffer = bufnr, desc = "stage buffer" },
|
||||
{ "<leader>gR", gitsigns.reset_buffer, buffer = bufnr, desc = "reset buffer" },
|
||||
{ "<leader>gd", gitsigns.diffthis, buffer = bufnr, desc = "diff this" },
|
||||
{ "<leader>gD", function()
|
||||
gitsigns.diffthis('~')
|
||||
end, buffer = bufnr, desc = "diff ~" },
|
||||
{ "<leader>gt", group = "Gitsigns toggles" };
|
||||
{ "<leader>gtr", gitsigns.refresh, desc = "Gitsigns refresh" },
|
||||
{ "<leader>gtb", gitsigns.toggle_current_line_blame, desc = "toggle blame" },
|
||||
{ "<leader>gtw", gitsigns.toggle_word_diff, desc = "toggle word diff" },
|
||||
})
|
||||
end,
|
||||
})
|
||||
end,
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user