41 lines
1.6 KiB
Lua
41 lines
1.6 KiB
Lua
local M = { "lewis6991/gitsigns.nvim" }
|
|
|
|
M.event = { "BufReadPre", "BufNewFile" }
|
|
|
|
M.keys = {
|
|
{ "<leader>gj", function() require("gitsigns").next_hunk() end, desc = "Next Hunk" },
|
|
{ "<leader>gk", function() require("gitsigns").prev_hunk() end, desc = "Prev Hunk" },
|
|
{ "<leader>gb", function() require("gitsigns").blame_line() end, desc = "Blame" },
|
|
{ "<leader>gp", function() require("gitsigns").preview_hunk() end, desc = "Preview Hunk" },
|
|
{ "<leader>gr", function() require("gitsigns").reset_hunk() end, desc = "Reset Hunk" },
|
|
{ "<leader>gR", function() require("gitsigns").reset_buffer() end, desc = "Reset Buffer" },
|
|
{ "<leader>gs", function() require("gitsigns").stage_hunk() end, desc = "Stage Hunk" },
|
|
{ "<leader>gu", function() require("gitsigns").undo_stage_hunk() end, desc = "Undo Stage Hunk" },
|
|
{ "<leader>gd", "<cmd>Gitsigns diffthis HEAD<cr>", desc = "Git Diff" },
|
|
}
|
|
|
|
M.ft = { "gitcommit" }
|
|
|
|
local icons = require('config.icons')
|
|
|
|
local opts = {
|
|
signs = {
|
|
add = { text = icons.git.LineAdded },
|
|
change = { text = icons.git.LineModified },
|
|
delete = { text = icons.git.LineRemoved },
|
|
topdelete = { text = icons.git.LineRemoved },
|
|
changedelete = { text = icons.git.FileRenamed },
|
|
untracked = { text = icons.git.FileIgnored },
|
|
},
|
|
}
|
|
|
|
M.config = function()
|
|
require('gitsigns').setup(opts)
|
|
require('which-key').register({
|
|
g = {
|
|
name = "Git",
|
|
},
|
|
}, { prefix = "<leader>" })
|
|
end
|
|
|
|
return M
|